帕累托分析是一種將帕累托原則應用於數據的統計技術,通常被稱為二八規則。帕累托原則基於這樣的假設:相對較少的投入(20%)對結果/產出(80%)影響最大。例子包括:
• 其中20%的產品占銷售額的80%
• 其中20%的客戶占利潤的80%
雖然它被稱為二八規則,但結果通常不會完全以二八的比例出現。接近這個比例的任何東西都被認為是正常的。有了這些結果,我們可以將業務重點放在影響80%結果的20%的事情上。
在Power BI中,我們可以使用組合線和柱形圖組成帕累托圖。
在本文中,我將使用12%的產品貢獻了業務總利潤的80%的數據來測試。
帕累托圖的度量
首先,我在Sales表中創建了3個度量。
• 總成本= SUM(銷售額[TotalProductCost])
• 總銷售額= SUM(銷售額[ExtendedAmount])
• 總利潤= [總銷售額] - [總成本]
接下來,我需要編寫一個度量標准來計算從最佳產品到最差產品的累計銷售額百分比。這是一個比較難寫的公式,我們在下面將會解釋它的邏輯是怎么樣的。
Cumulative % =
VAR thisProductMargin = [Total Margin]
VAR TotalMarginAllProducts =
CALCULATE ( [Total Margin], ALL ( Products ) )
RETURN
CALCULATE (
[Total Margin],
FILTER ( ALL ( Products ), [Total Margin] >= thisProductMargin )
) / TotalMarginAllProducts
在了解此公式的工作原理前,我們先參考下面顯示的結果表,下圖顯示了產品代碼,每種產品的總利潤金額以及利潤的累積百分比。請注意,該表按從最高利潤到最低利潤的降序排序。
第一行產品312,它的利潤約為474,151美元,占所有產品總利潤的4%。
現在,讓我解釋一下如何計算單行,查看選種紅色突出顯示的行 - ProductKey 363。
下表中突出顯示的行將針對產品363進行過濾。這是表的行部分 - 它在計算度量之前過濾數據。
上述DAX中的第2行是變量。
上述DAX中的第4行非常簡單。它使用CALCULATE刪除產品363上的過濾器,以便計算所有產品的總利潤。ALL功能刪除產品上的所有過濾器。
該DAX主要還是看第10行。
• Filter是一個迭代器,它將逐步瀏覽產品表。
• 363上有一個過濾器,FILTER需要單步執行所有(產品)而不是產品。
• 然后,FILTER逐步檢查產品表的未過濾副本,並逐個檢查每個產品,以查看哪些產品的利潤大於當前產品。當前產品是363。
• 如果FILTER到達利潤大於產品363的產品,則保留該產品。
• FILTER繼續根據此標准過濾每個產品。
• 在過濾過程結束時,僅保留總余量大於或等於被比較產品(在這種情況下為產品363)的產品。
• 然后計算所有這些產品的總利潤。
• 最后,這個總數除以所有產品的總數。
然后,對於視覺中的每一行,一遍又一遍地重復該過程。
在Power BI中創建帕累托圖表
如上所述,我們可以使用直線和柱形圖來顯示帕累托圖。
• 將ProductKey放在共享軸上的Products表中。
• 將產品表中的累計放在行值上。
• 將總利潤度量放在列值上。
• 根據總利潤,降序排序對圖表進行排序。
如上所示,這將按降序對圖表中的列進行排序。
然后,我繼續編寫了一項措施來計算構成利潤80%的產品數量。該DAX如下。
產品數量占利潤的80%=
CALCULATE (DISTINCTCOUNT(Sales [ProductKey]),
FILTER(Products,[Cumulative %]<=0.8))
在圖表中就顯示80%的紅色直線了。
技術交流
1.Power BI免費下載:http://www.yeacer.com/
Microsoft Power BI Desktop中文最新版:下載地址
2.歡迎加入的Power BI技術群,目前正在學習階段,有興趣的朋友可以一起學習討論。
Power Data技術交流群:702966126 (驗證注明:博客園Power BI)
更多精彩內容請關注微信公眾號:悅策PowerBI
如果您覺得閱讀本文對您有幫助,請點一下“推薦”按鈕,您的“推薦”將是我最大的寫作動力!歡迎各位轉載,作者博客:https://www.cnblogs.com/yeacer/