我有两个 MDX 查询(其基础来自 Excel 的 CUBEVALUE() 函数)。我希望这两个查询的输出是相同的,但事实并非如此。
考虑这个帐户结构:
some accounts ...
Account A
Account B
Account C
Account D
Account E
other accounts ...
我的客户维度是使用客户智能定义的——它也是一个父/子维度。
查询一:
SELECT [Measures].[Actual] ON 0
FROM [MYSYSTEM]
WHERE (
{[Account].[Accounts].&[Account B], [Account].[Accounts].&[Account C]},
[Time].[Year - Month].&[2011-12-01T00:00:00]
)
返回帐户 A(是,父级)的聚合 [Measures].[Actual] 值,而不是指定时间间隔内帐户 B 和 C 的值。
查询 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 作为一种语言,我在概念上是否遗漏了什么?我认为这些查询通常应该返回相同的值是错误的吗?这是否表明我在设置帐户维度时存在缺陷?