2013-04-30 17 views
1

我知道這個MDX的最終結果,基本上它會在包括當前期間的Calendar Hierarchy之前的所有以前的期間中總計Amount measure這個mdx是什麼意思

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

我想知道的是這是如何工作的,你能解釋一下MDX在做什麼。

回答

1

我不確定您是否在詢問MDX的語法,或者如何在多維數據集中處理它,但讓我回答MDX問題。

所以,你有一個計算定義,它將在一組成員中計算一個度量值。

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

:是一個Range運算符。它按照層次結構的自然順序,定義了一組開始和結束成員之間的集合:start : end。如果start爲空,那麼該集合從端成員所在級別的第一個成員開始。 在這裏看到的文檔: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}定義的集合都是當前成員(包括當前成員)的成員。