上周介紹了一個基礎的分析案例(Power BI數據分析入門案例:目标實際對比),這裡我們再以費用分攤的案例來幫你進一步理解PowerBI數據分析的思路。
假設有兩張表,一個是每日銷售表,一個是每月發生的費用,模拟數據如下:
需要将每月的費用按當月銷售額的占比,分攤給每個産品、或者分攤到業務員/部門,應該怎麼做呢?其中業務員和部門是層級關系。
同樣按照上篇文章的思路,按下面三個步驟進行。
1、根據分析目的完善維度表
由于要按照各個維度來分攤,所以先根據現有的表來生成維度表。
(1)産品維度表
産品表 = VALUES('銷售表'[産品名稱])
(2)業務員維度表
由于業務員和部門是層級關系,可以用SUMMARIZE一次性從銷售表中提取兩個字段:
業務員表 =
SUMMARIZE(
'銷售表',
'銷售表'[銷售部門],
'銷售表'[業務員]
)
這樣就提取除了全部的業務員以及所屬的部門。
(3)日期維度表
關于日期表不再贅述,你可以參考這兩篇文章自行創建:
玩PowerBI必備的日期表制作方式彙總
分享一個更實用的Power BI日期表
2、建立數據模型
通過上面的準備工作,現在有5張表,原有的銷售表、費用表,以及新建的産品表、業務員表和日期表。
這5張表可以這樣建立關系:
三個維度表根據需要,分别與不同的事實表建立一對多的單向關系。
3、建立度量值并展現分析結果
有了上面的模型,下面就可以寫度量值來計算分攤金額。
為了下面度量值更簡潔的書寫,先寫兩個基礎度量值:
銷售額合計 = SUM('銷售表'[銷售額])
費用合計 = SUM('費用表'[費用額])
為了得到分攤額,首先需要計算出分攤比例,度量值可以這樣寫:
分攤比例 =
DIVIDE(
[銷售額合計],
CALCULATE([銷售額合計],ALLEXCEPT('銷售表','日期表'[年度月份]))
)
分母隻保留年度月份的篩選,是為了計算出每月的銷售額合計,其他上下文的銷售額除以該月的合計銷售額,就是分攤比例。
然後分攤比例乘以當月的費用合計,就是應分攤的費用額:
分攤金額 = [費用合計]*[分攤比例]
用矩陣展示如下,将費用分攤到每個産品:
如果想将費用分攤到業務員和部門,同樣是這些度量值,隻需要調整上下文,将産品換成業務員就可以了:
這樣就實現了任一維度的費用分攤,并沒有用到複雜的DAX公式。
通過這個例子,不僅是學習如何解決分攤問題,還可以進一步的理解度量值的邏輯,它是一個動态的值,通過上下文的切換動态返回當前上下的結果,當然也不要忘了,度量值背後的數據模型,才是數據分析的靈魂。
更多推薦關于PowerBI軟件的下載安裝等各種問題,看這篇就夠了
PowerBI度量值、計算表和計算列,到底有什麼區别?
PowerBI技巧:利用度量值動态顯示标題
采悟 | PowerBI星球
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!