簡體   English   中英

MDX基於IF且大於

[英]MDX Calculated measure based on IF and greater than

我正在編輯我想要的問題。

我有兩列實際單位 ,分別是事實A和事實B的未來單位 ,但粒度相同。我也有事實B的需求單位

我的要求是:

1. Projected Units = Coalesce(Actual Units,Future Units)    
2. Stock Units = IF(Projected Units > Demand Units,Demand Units,Projected 
Units)
3. Stock Rate = (Stock Units/Demand Units)    

在此處輸入圖片說明

我無法在數據源視圖級別加入這兩個事實,並且
因為那里有一個非常大的表,所以我認為性能會很慢。 如果您說在數據源視圖級別進行計算是我們唯一的方法,請告訴我。

你明白了嗎?

在計算總計MDX時,要對A求和,對B求和,然后對它們進行比較。

如果您希望計算在行級別進行(檢查B> A),則編輯“數據源視圖”,並將新的計算列添加到度量值組所基於的表中。 計算列應為:

CASE WHEN B>A THEN A ELSE B END

然后根據該新列創建求和度量。

與以非常詳細的粒度進行計算的任何完全MDX方法相比,該方法的性能要好得多。 如果事實表的行數為500,000或更少,並且退化的Dimension與需要計算的粒度相同,則可以在MDX中進行操作。 但是由於您擔心SQL查詢的性能,所以我假設表很大。 只要記住,SQL在處理時就執行一次。 MDX是在查詢時間在每個查詢中計算的。 因此,您可以使用SQL進行昂貴的工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM