2010-08-18 76 views
1

我需要在SSAS中執行只適用於當前和未來月份的計算(不能使用可用數據進行回溯應用)。Sql分析服務當前日期

我可以用日曆的層次結構和硬編碼當今一個月如下做到這一點...

SCOPE([Measures].[RollingStock]);   
    ([Dim Date].[Calendar].[Month].&[201008]:NULL) = 
    ([Measures].[Quantity On Hand] 
    - [Measures].[SO Open Quantity] 
    + [Measures].[PO Open Quantity] 
    - [Measures].[Forecasts Quantity]);   
END SCOPE; 

我想和當月(該格式)來替換201008。

任何想法?

回答

3
CREATE SET CURRENTCUBE.[Current And Future Months] 
AS { 
StrToMember("[Dim Date].[Calendar].[Month].&[" + Format(now(), "yyyyMM") + "]"):NULL 
} 
+1

是的,應該這樣做。使用VBA創建一個匹配成員名稱的字符串,然後將該字符串轉換爲一個集合。 – 2010-08-24 14:41:08

+0

爲了提高性能,最好使用Date()而不是Now().Chris Webb在此解釋原因 - http://cwebbbi.wordpress.com/2009/09/10/now-and-the-formula-cache /。 – Jeganinfo 2012-12-28 08:11:26