我知道这个MDX的最终结果,基本上它会在Amount measure
的所有先前句点中与Calendar Hierarchy
相推,包括当前时段。
SUM({null:[Date].[Calendar Hierarchy].CurrentMember},[Measures].[Amount])
我想知道的是这是如何工作的,请你解释一下MDX正在做什么。
答案 0 :(得分:1)
我不确定您是否询问MDX的语法,或者在多维数据集中如何处理它,但让我回答MDX问题。
因此,您已经定义了一个计算,该计算将在一组成员中汇总一个度量。
SUM(
{null : [Date].[Calendar Hierarchy].CurrentMember},
[Measures].[Amount]
)
:
是一个Range运算符。它按层次结构的自然顺序定义了一个开始和结束成员之间的集合:start : end
。如果start为null,则该集合从结束成员所在级别的第一个成员开始。
请参阅此处的文档:http://technet.microsoft.com/en-us/library/ms146001.aspx
据推测,这是在一个查询中使用的,您在一个轴上选择[Date]
,并希望查看正在运行的总数:
WITH MEMBER total AS
SUM({null:[Date].[Calendar Hierarchy].CurrentMember},[Measures].[Amount])
SELECT
total ON COLUMNS,
[Date].[Calendar Hierarchy].Members ON ROWS
FROM [Your Cube]
计算每一行([Date].[Calendar Hierarchy]
中的成员)的计算,对于每一行,由{null : [Date].[Calendar Hierarchy].CurrentMember}
定义的集合是所有成员,包括当前成员。