2017-01-25 7 views
0

OLAP-cubeセットアップでデータを扱っています。私は各グループの学生数が異なる数学学生グループをすべて表示したいと考えています。学生は、数学の配置試験でどのように採点されたかに基づいて、数学グループに参加します。彼らはまた、配置された数学グループよりも低いすべての数学グループに配置されます。 (数学106、数学105,104,103,102,101,100のメンバーです)現在、私は列の尺度として、私の行と別の生徒に数学グループのみを表示できます。表示されるカウントは行ごとにのみ異なり、レポート全体では異なりません。数学ので、100のグループだけではなく数学はここ階層内の真の個数(MDX)

WITH 
/*- Qv6.0.3431.1887 -*/ 

SELECT 
NON EMPTY 
{ 
DISTINCT ({ [Measures].[Distinct Students] }) 
} 
PROPERTIES PARENT_UNIQUE_NAME, MEMBER_KEY, MEMBER_TYPE 

ON COLUMNS, 
NON EMPTY 
{ 
    { [Student].[Student].[All Students] } 
    * { { { DISTINCT(
{ { FILTER(
{ { FILTER(
{ DESCENDANTS([Student Group].[Student Group].[All Student Groups] ,  [Student Group].[Student Group].[Student Group]) } , InStr(1,IIF(ISERROR( [Student Group].[Student Group].CURRENTMEMBER.MEMBER_CAPTION),"", [Student Group].[Student Group].CURRENTMEMBER.MEMBER_CAPTION) , "Math") <> 0 
) } 
} , InStr(1,IIF(ISERROR([Student Group].[Student  Group].CURRENTMEMBER.MEMBER_CAPTION),"", [Student Group].[Student  Group].CURRENTMEMBER.MEMBER_CAPTION) , "eligible") <> 0 
) } 
}) } 
} } 
} 
PROPERTIES PARENT_UNIQUE_NAME, MEMBER_KEY, MEMBER_TYPE 

ON ROWS 

FROM [Student Term] 
WHERE ([Terms].[Terms].[Term].&[138]) 
CELL PROPERTIES FORMATTED_VALUE, VALUE, FONT_NAME 

100は、出力のスクリーンショットで、数学・グループ内のすべての生徒の数が表示されます。 Math Groups Student counts

私が試してみましたここにすべての上に検索されたが助けるものを見つけることに成功していない。 MDXに習熟しているわけではありません。私たちが使用するレポートツールは、レポートビルダーでどの項目を選択するか(ドラッグアンドドロップが主なものです)に基づいています。このツールでは、MDXを使用してカスタムメジャーと要素を作成できます。私は本当にすべての援助に感謝し、より多くの情報が必要であれば教えてください。

ありがとうございます!

====更新1-FEB-2017 ======= 返信いただきありがとうございます。私はついにこのことに取り組んでいます。私はあなたのコードに基づいてフロントエンドツールでカスタム対策を作成しました。私は[Measures] [StudentsCount]を[Measures] [Distinct Students]に変更して、利用可能な数値にマッチさせました。 'StudentsCountDC'カスタムメジャーを選択してレポートを実行すると、何も返されません。私が 'IsStudentsTop'カスタムメジャーを選択した場合、返されるカウントは、選択したタームに対して実行されていないように非常に大きくなります。ここでは、新しく作成されたカスタムメジャー「StudentsCountDC」を使用してレポートを実行した後に生成された新しいMDXを示します。新たな施策の

WITH 
/*- Qv6.0.3431.1887 -*/ 

SELECT 
NON EMPTY 
{ 
DISTINCT ({ [Measures].[#~~2d0c2a98-fed9-4797-a573-170d3e450e4c~~#] }) 
} 
PROPERTIES PARENT_UNIQUE_NAME, MEMBER_KEY, MEMBER_TYPE 

ON COLUMNS, 
NON EMPTY 
{ 
    { [Student].[Student].[All Students] } 
    * { [#~~9faf06d9-a022-493d-9dfd-dadd55793c37~~#] } 
} 
PROPERTIES PARENT_UNIQUE_NAME, MEMBER_KEY, MEMBER_TYPE 

ON ROWS 

FROM [Student Term] 
WHERE ([Terms].[Terms].[Term].&[136]) 
CELL PROPERTIES FORMATTED_VALUE, VALUE, FONT_NAME 

スクリーンショット:あなたの助けのために再びIsStudentsTop & StudentsCountDC measures ありがとう!

答えて

0

これはちょっと難しいですが、個人的にまだテストしていません。 StudentsCountは(自分の属性順)上位グループに存在するかどうかを

with 

Member [Measures].[StudentsCountDC] as 
SUM(
    [Student].[Student].[Student].Members, 
    IIF(
     not [Measures].[IsStudentsTop] 
     and 
     [Measures].[StudentsCount], 
     1, 
     NULL 
    ) 
) 

Member [Measures].[IsStudentsTop] as 
SUM(
    {[Student Group].[Student Group].PrevMember:NULL}, 
    [Measures].[StudentsCount] 
) 

IsStudentsTopチェック:希望は、あなたはポイントを得るでしょう。 StudentsCountDCは、現在の生徒が空であるかどうかを確認します。IsStudentsTopおよびStudentsCountは空ではなく、生徒ごとに1を返し、そうでない場合はNullを返します。

+0

コメント欄で十分な文字が許可されていないため、元の投稿を更新しました。ありがとう! –

+0

[対策]とは何ですか[#~~ 2d0c2a98-fed9-4797-a573-170d3e450e4c ~~#]? [Measures]。[IsStudentsTop]を設定する必要があります。もしあれば、あなたの出力を公開してください。 –

+0

申し訳ありませんが、[Measures]。[#~~ 2d0c2a98-fed9-4797-a573-170d3e450e4c ~~#]は「StudentsCountDC」を作成したカスタムメジャーです。私が使用しているレポートツールには、フロントエンドで作成されたカスタム要素の名前は表示されません。 [IsStudentsTopの出力](http://imgur.com/a/ehNmE)数字はあまりにも高いので、特定の用語を無視して、今まで大学に通っているすべての学生を数えているようです。ありがとう! –

関連する問題