这个mdx是什么意思

时间:2013-04-30 15:05:22

标签: sql-server ssas mdx

我知道这个MDX的最终结果,基本上它会在Amount measure的所有先前句点中与Calendar Hierarchy相推,包括当前时段。

SUM({null:[Date].[Calendar Hierarchy].CurrentMember},[Measures].[Amount])

我想知道的是这是如何工作的,请你解释一下MDX正在做什么。

1 个答案:

答案 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}定义的集合是所有成员,包括当前成员。