DAX/PowerBI系列 - 參數表(Parameter Table) 度量值模板 難度: ★★☆☆☆(2星) 適用範圍: ★★★☆☆(3星) 概況: 當你有多個度量值都需要計算YTD,MoM,而又不想重覆所有這些給每一個度量值分別設定計算度量值的話,有沒有一個簡便的方法,少點coding呢? 同 ...
DAX/PowerBI系列 - 參數表(Parameter Table) 度量值模板
難度: ★★☆☆☆(2星)
適用範圍: ★★★☆☆(3星)
概況:
當你有多個度量值都需要計算YTD,MoM,而又不想重覆所有這些給每一個度量值分別設定計算度量值的話,有沒有一個簡便的方法,少點coding呢?
同時,用戶通過選擇,在同一個visual裡面顯示不同的度量值(組)。
此文涉及前文DAX/PowerBI系列 - 參數表(Parameter Table) - 多時間段數值對比的擴展部分,給出具體實例和解決方法。
應用場景:
以下是幾個應用場景:
- 用戶想在同一個chart顯示不同的度量值(組)
- 避免重覆定義一系列度量值
最終PowerBI效果顯示如下:(耐心等待PowerBI 出來,噔噔噔噔~~~)
如圖,1)左側的YTD根據所選變化而變化;
2)右側的標題是一個計算值,根據選擇動態改變;同樣右圖中的所有值都根據所選不同而全部改變。
3)表格顯示對應的值
歡迎轉載,請保留原文鏈接和作者信息。O(∩_∩)O謝謝。
DAX/PowerBI系列 - 參數表(Parameter Table) 度量值模板(Period Table)
作者:馬丁叔叔
鏈接:http://www.cnblogs.com/lizardbi/p/DAX-PATTERN-POWERBI-Parameter-Table-Period-Table-Extension.html
數據模型:
要點:
這裡涉及到一個trick -- switch 語句。 通過switch語句把所選的度量值設到一個generalized的中間變數,再用這個中間變數來計算YTD,MoM等等的值。
中間變數
1 _tempMeasure = IF ( 2 HASONEVALUE ( 'Measure Selection'[Measure] ), 3 SWITCH (VALUES ( 'Measure Selection'[Measure] ), 4 "Cost", [#Cost] 5 ,"Revenue", [#Revenue] 6 ,"Profit", [#Profit] 7 ,BLANK()) 8 ,[#Cost])
中間變數前值
1 _prevMeasureValue = CALCULATE([_tempMeasure] 2 , PARALLELPERIOD('Date'[Date], -1, MONTH) 3 , FILTER(ALL('Date'),'Date'[Date]<= MAX('Fact'[Date]) ) 4 )
YTD
1 YTD = CALCULATE([_tempMeasure] 2 , DATESYTD('Date'[Date],"12/31") 3 , FILTER(ALL('Date'),'Date'[Date]<= MAX('Fact'[Date]) ))
MoM(環比)
1 MoM % = DIVIDE([_tempMeasure] - [_prevMeasureValue], [_prevMeasureValue])
最終效果
參照 上文的PowerBI顯示。