2 つの MDX クエリがあります (そのベースは Excel の CUBEVALUE() 関数に由来します)。これらのクエリの両方の出力が同一であることを期待していますが、そうではありません。
次のアカウント構造を検討してください。
some accounts ...
Account A
Account B
Account C
Account D
Account E
other accounts ...
マイ アカウント ディメンションは、アカウント インテリジェンスを使用して定義されます。これは、親/子ディメンションでもあります。
クエリ 1:
SELECT [Measures].[Actual] ON 0
FROM [MYSYSTEM]
WHERE (
{[Account].[Accounts].&[Account B], [Account].[Accounts].&[Account C]},
[Time].[Year - Month].&[2011-12-01T00:00:00]
)
指定された時間間隔におけるアカウント B および C の値ではなく、アカウント A (はい、親)の集計 [Measures].[Actual] 値を返します。
クエリ 2:
SELECT [Measures].[Actual] ON 0
FROM [MYSYSTEM]
WHERE
{
([Account].[Accounts].&[Account B], [Time].[Year - Month].&[2011-12-01T00:00:00]),
([Account].[Accounts].&[Account C], [Time].[Year - Month].&[2011-12-01T00:00:00])
}
私が期待するものを返します -- 指定された時間間隔におけるアカウント B と C の [Measures].[Actual] 値。
私の質問はこれです - 言語としての MDX について概念的に欠けているものはありますか? これらのクエリが一般的に同じ値を返すと考えるのは間違っていますか? これは、アカウント ディメンションのレイアウト方法に問題があることを示していますか?