私は MDX の初心者で、自分の次元の問題を解決しようとして長い間悩んでいます。おそらく、誰かがそれをよりよく理解し、解決策を見つけるのを手伝ってくれるでしょう。
コンテキスト
これが私の組織の一部の定義です(私はそれを単純化します)
<Dimension type="StandardDimension" visible="true" highCardinality="false" name="Organization" caption="organization hierarchy" description="organization hierarchy of the user">
<Hierarchy visible="true" hasAll="true" primaryKey="organizationid">
<Table name="organization">
</Table>
<Level name="Company" visible="true" column="institution" type="String" uniqueMembers="true" levelType="Regular" hideMemberIf="IfBlankName">
</Level>
<Level name="Division" visible="true" column="site" type="String" uniqueMembers="true" levelType="Regular" hideMemberIf="IfBlankName">
</Level>
<Level name="Department" visible="true" column="department" type="String" uniqueMembers="true" levelType="Regular" hideMemberIf="IfBlankName">
</Level>
</Hierarchy>
</Dimension>
各ユーザーは組織にリンクされています。たとえば、この表を見てください。
組織ID、会社、部門、部門 1、Fruit&Co、ジュース、製造 2、Fruit&Co、ジュース、マーケティング 3、Fruit&Co、ケーキ、製造 4、Fruit&Co、ケーキ、マーケティング 5, ChocoLtd, ドリンク, 生産
各機関には独自の組織があり、サンプルの 3 よりも多くのレベルがあります。
問題
時には特定のレベルでの集計を使用して、さまざまなことを要求したいので、DESCENDANTS 関数を使用して MDX 要求を動的に作成します。
例えば
選択する [時間].[2013] 列で、 DESCENDANTS(組織.[Fruit&Co],[部門]) ON ROWS FROM [ワーキング] WHERE (メジャー.[日数])
ここで問題を開始します。結果には2行ではなく4行が表示されます
Production, 120 // 実際には、ジュースとケーキ部門の nb 日間の合計 マーケティング、30 // 2 つの部門の合計 Production, 120 // 再び、同じ最初の行 ??? マーケティング、30 // 同じ 2 行目
unique Member = "true" を uniqueMembers="false" に変更すると、
Production, 100 // ジュースの結果 マーケティング、25 生産、20 //ケーキの結果 マーケティング、5
私が選択した会社の集計のみを、同じレベルの名前のグループ化で、独立して彼女の両親にする方法は?
生産、120 マーケティング、30
備考:ペンタホモンドリアンを使用しています。DISTINC(DESCENDANTS(...)) を使用しようとしましたが、変更はありません (レベルメンバーごとに異なる組織 ID があるためだと思います)。
誰かが私を助けることができますか?? どうもありがとう !