Sql-Server

MDX 日期時間比較

  • June 13, 2017

我有一個用於滾動 30 天總計的 MDX 計算度量,我想為未來的成員屏蔽計算。我正在嘗試使用 CASE 語句,但比較無法正常工作。如果 Fiscal Month 成員的鍵是日期時間,這不應該工作嗎?

CASE  
WHEN [Time].[Fiscal Month].CurrentMember < NOW()  
THEN 1  
ELSE 0  
END  

另一種有時效果更好的方法可能是沿著“IsFuture”的行向您的日期維度添加一個屬性。

根據您的數據載入/處理計劃,您可以在數據倉庫中有一個欄位,或者在 dsv 中有一個計算列,以預先計算日期是否在未來。

而不是在您的 MDX 中執行動態計算,IIF您可以使用這樣的方法創建計算度量SCOPE(未經測試,從記憶體中)

Scope   
(   
   [Date].[IsFuture].&[0]
) ;     

  This = 1;  
end scope;

只是我提供的一個想法,您的問題沒有提供很多細節來創建一個工作範常式式碼,但這可能是一種替代方法。

如果日期在未來而不是 0,這將返回空,但取決於您的要求,如果您的客戶僅返回NONEMPTY/結果,則可以提供更好的NONEMPTYCROSSJOIN結果。

引用自:https://dba.stackexchange.com/questions/175213