メジャーとディメンションの次の構造と、いくつかのサンプルデータがあります
ファクト テーブル:
id_dim1 id_dim2 id_dim ...メジャー1
1 2 ...120
2 1 ...101
1 1 ...95
3 3 ...12
寸法 1:
id_dim1 member1value
1 値1
2 値 2
3 価値3
寸法 2:
id_dim2 member2value
1 値1
2 値 2
3 価値3
Dim1 と Dim2 は実際にはロールプレイング ディメンションであり、同じディメンション テーブルに基づいています。
次の場合にのみ、メジャー 1 を合計するメジャーを計算したい:
[Dim1].[Hierarchy1].[Level based on member2value]=[Dim2].[Hierarchy1].[Level based on member2value]
上記の例では、メジャーは次のように計算されます: 95+12=107
問題は、後の mdx クエリで Dim1 と Dim2 が使用されていなくても、メジャーを正しく計算したいということです。
これまでのところ、Dim1 と Dim2 が後のクエリで使用されている場合にのみ機能する次のものがあります。
Member [Measures].[CondMeasure] AS 'IIF(
[Dim1].[Hierarcy1].[All].[Level].CurrentMember.Name =
[Dim2].[Hierarchy1].[All].[Level].CurrentMember.Name
,
([Measures].[Measure1],
[DimXX].[Hxx].[LevelXX].[MemberXX],
[DimYY].[Hyy].[LevelYY].[MemberYY])
),
0
)
'
上記のように、メジャーは他のメンバーのコンテキストでのみ計算されます。
ところで。SSASでこれを試しています
よろしくソーレン