Sql-Server
MDX 日期時間比較
我有一個用於滾動 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
結果。