2017-01-03 42 views
0

我在SQL Server 2014企業版上使用Analysis Services。mdx,其聚合的最後一段時間不起作用

我正在嘗試爲彙總最近3個月值的Timeframe維度創建一個新成員。以下mdx代碼編譯時沒有錯誤,但是當我使用度量來瀏覽它時,它仍然顯示月份級別的數字,而不是最後三個月的總和。我究竟做錯了什麼?任何幫助表示讚賞。

CREATE MEMBER CURRENTCUBE.[Timeframe].[Timeframe].[ROLLING 3 MONTH] 
AS IIF([Accounting Date].[Accounting Date].CurrentMember.Level.Name="Month", AGGREGATE(LASTPERIODS(3),[Timeframe].[Timeframe].&[1]), NULL), 
VISIBLE = 1; 

謝謝。

回答

1

請嘗試以下方法:

CREATE MEMBER CURRENTCUBE.[Timeframe].[Timeframe].[ROLLING 3 MONTH] 
AS 
IIF(
    [Accounting Date].[Accounting Date].CurrentMember.Level.Name="Month", 
    AGGREGATE(
    LASTPERIODS(3, [Accounting Date].[Accounting Date].CurrentMember), 
    [Timeframe].[Timeframe].&[1] 
    ), 
NULL), 
VISIBLE = 1; 

LASTPERIODS函數指定的成員是你缺少什麼希望。 SSAS可能會假設其他Date層次結構,或者沒有正確標記任何層次結構和維度。沒關係。只需指定成員,然後它應該工作。

順便說一句,出於性能原因,我寧願看到SCOPE語句,而不是檢查關卡的名稱。你有什麼應該工作,但如果你遇到性能問題研究SCOPE聲明或創建一個新的線程要求優化該MDX。

我假設您使用Excel 2010或更高版本。如果不是watch out