當前位置:
首頁 > 文史 > 用PowerBI進行帕累托分析有多簡單?

用PowerBI進行帕累托分析有多簡單?

通過簡單的點擊交互,就能進行動態分析發現見解,才是我們需要的,恰好這也是 PowerBI 所擅長的。

就帕累托分析來說,能從不同的角度快速發現關鍵因素、以及可以動態設定關鍵因素的閾值,就是我們需要的。本文通過一個示例來看看如何生成一個動態的帕累托圖,先看看最終效果,

這樣分析是不是很簡單,下面就來看看是如何製作的。

數據為虛擬的某連鎖店的電子產品銷售明細,以及與之關聯的產品和銷售地點維度,和一個對應的日期表,建立關係圖如下,

要分析的維度:

1,時間維度:年份

2,財務指標:收入和利潤

3,銷售細分:按地區和產品明細

時間維度

年度指標比較簡單,銷售明細表中有日期數據,直接根據日期表中的年度創建一個切片器就行了。

財務指標

先建兩個度量值:

收入= SUM("銷售明細"[銷售額])

利潤貢獻= SUM("銷售明細"[毛利])

然後在PowerBI Desktop中新建表,只有一個欄位[財務指標],數據為收入和利潤,

按欄位[財務指標]製作切片器,然後寫度量值[指標數據],

指標數據=

SWITCH(TRUE(),

SELECTEDVALUE("財務指標"[財務指標])="收入",[收入],

SELECTEDVALUE("財務指標"[財務指標])="利潤",[利潤貢獻],

BLANK()

)

該度量值判斷切片器的選擇,如果選擇的是收入,就匯總收入數據;如果選擇的是利潤,就匯總利潤。

產品和地區維度

同上面的思路類似,把產品明細和地區明細整合到一起,如下圖,

如果數據量很小,手工整理也很快,不過在這裡依然可以用DAX實現,在【建模】選項卡下,點擊"新表"(參考:PowerBI Desktop中新建表的使用場景),在編輯欄輸入:

分析維度=

VAR item1 = SELECTCOLUMNS( ADDCOLUMNS( DISTINCT( "城市"[城市] ) , "分析維度" , "地區" ) , "分析維度" , [分析維度],"維度明細",[城市] )

VAR item2 = SELECTCOLUMNS( ADDCOLUMNS( DISTINCT( "產品明細"[產品名稱]) , "分析維度" , "產品" ) ,"分析維度" , [分析維度], "維度明細" , [產品名稱] )

RETURN UNION( item1 , item2 )

然後上圖中的表格就生成了,根據該表的欄位[分析維度]創建切片器。

至此,三個分析維度已經建立完成,並體現在報表左側的三個切片器上。

製作帕累托圖

步驟和上一篇文章類似,只是由於分析維度更多,需要更細化的處理。各個切片器之間要相互配合,考慮上下文的影響,以下的DAX公式稍微長一點,需要根據每個函數慢慢理解,按照這個實例學習這些函數其實也是個不錯的方式。

將【折線和簇狀柱形圖】拖到畫布上,將前面創建的分析維度表中的[維度明細]拖入到共享軸。

創建度量值[分析數據]拖入到列值框中,

分析數據=

VAR item3=TREATAS( VALUES("分析維度"[維度明細]),"城市"[城市])

VAR item4=TREATAS(VALUES("分析維度"[維度明細]),"產品明細"[產品名稱])

RETURN

SWITCH(TRUE(),

SELECTEDVALUE("分析維度"[分析維度])="地區",

CALCULATE([指標數據],item3),

SELECTEDVALUE("分析維度"[分析維度])="產品",

CALCULATE([指標數據],item4),

BLANK()

)

下一步就是獲得累計佔比的數據,創建度量值如下,

分析數據合計=

SWITCH(TRUE(),

SELECTEDVALUE("財務指標"[財務指標])="收入",

CALCULATE([收入],ALLSELECTED("銷售明細"[銷售額])),

SELECTEDVALUE("財務指標"[財務指標])="利潤",

CALCULATE([利潤貢獻],ALLSELECTED("銷售明細"[毛利])),

BLANK()

)

數據佔比= DIVIDE([分析數據],[分析數據合計])

累計佔比=

VAR cur_rate=[數據佔比]

RETURN

CALCULATE([數據佔比],FILTER(ALL("分析維度"[維度明細]),[數據佔比]>=cur_rate))

將[累計佔比]拖入到列值框中,帕累托圖就製作好了,

ABC比例設置

帕累托分析也成為ABC分析,一般按照70%、20%和10%的比例來劃分,或者按照二八定律的80%和20%劃分,當然這些都是一個概數而已,並不是一定要這樣劃分,實際分析時還要根據情況自行調整。

在【建模】選項卡下,點擊"新建參數"(參考:創建PowerBI「參數」輕鬆搞定動態分析),建立三個參數如下:

參數a = GENERATESERIES(1, 100, 1)

參數b = GENERATESERIES(0, 100, 1)

參數c = GENERATESERIES(0, 100, 1)

同時生成三個切片器,通過這三個切片器來控制這三個參數的數值大小,然後就可以計算出每一類的相對佔比,

A類比例= DIVIDE([參數a值],[參數a值]+[參數b值]+[參數c值])

B類比例= DIVIDE([參數b值],[參數a值]+[參數b值]+[參數c值])

C類比例= DIVIDE([參數c值],[參數a值]+[參數b值]+[參數c值])

利用這三個度量值生成一個環形圖,這樣動態的ABC比例就設計好了,

判斷因素的所屬分類

建立度量值,

數據所屬分類=

VAR cur_leji=[累計佔比]

RETURN

SWITCH(TRUE(),

cur_leji

cur_leji

"C"

)

效果如下,

至此該模型的技術操作完成,剩下的就是一些可視化方面的修飾、格式調整等,這裡做的模型也還有許多待完善之處,但帕累托分析的主要方面都已考慮到,可以在實際分析中進行分解套用。

總結:

進行動態帕累托分析的主要步驟:

1,整理需要分析的維度

2,設置ABC比例參數

3,創建指標數據和累計比例


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 PowerBI星球 的精彩文章:

TAG:PowerBI星球 |