應收賬款管理是财務管理的一項重要内容,為了随時了解客戶的欠款情況,對應收賬款進行賬齡分析表是一種基本分析方法,這篇文章就先介紹一下如何利用PowerBI,自動生成應收賬款賬齡表。
假設有一張常見的應收賬款明細表,記錄了每個客戶的每月應收發生額和回款金額等數據,如下圖:
根據這個明細表,如何計算出每個客戶的賬齡分布情況,比如30天内的應收賬款有多少、半年以上的賬款有多少、一年以上的應收賬款有多少……?
下面就來看看PowerBI如何實現這種分析。
1、建立數據模型
雖然數據表隻有一個表,但是為了分析的需要,我們應建立對應的維度表,在這個例子中,因為需要按客戶和時間分析,所以至少應該建立客戶表和日期表。
并且為了能夠把應收餘額分解到不同的賬齡中,還必選建立一張賬齡分組的輔助表,這裡假定按這6種賬齡類型,制作賬齡表如下:
然後将客戶表、日期表與應收明細表建立關系,賬齡分組表無需與應收明細表建立關系,模型圖如下:
關于日期表和輔助表的制作請參考:
Power BI 日期表制作方式彙總
Power BI 輔助表制作方式彙總
2、利用DAX生成賬齡分布表
基本思路是,先将每個客戶的應收餘額,分配到實際發生的期間,然後根據發生期間來放置到對應的賬齡中。
首先建立兩個基礎度量值,來計算客戶的應收發生額和應收餘額:
應收 本期發生額 = SUM('應收明細表'[本期發生額])
應收 本期餘額 = SUM('應收明細表'[期末餘額])
截至到現在的應收餘額就是最後一個記賬日期對應的餘額,但每個客戶的最後記賬日期并不一緻,所以需要先計算出最後的記賬日期:
最後記賬日期 =
CALCULATE(
MAX('應收明細表'[記賬日期]),
ALLEXCEPT('應收明細表','客戶表'[客戶名稱])
)
根據最後記賬日期,就可以計算出應收餘額:
應收 期末餘額 =
CALCULATE(
[應收 本期餘額],
FILTER(
ALL('日期表'),
'日期表'[日期]=[最後記賬日期])
)
然後根據應收餘額和應收發生額,來計算每期應收未收的金額是多少,度量值如下:
其中的計算邏輯,已用注釋說明,熟悉應收的同學應該很容易理解,如果是按月查看客戶的應收未收金額,就可以将年度月份放進來:
有了每期的未收金額,就可能很輕松計算出賬齡分布情況了,其實就是分組分析(可參考:Power BI 數據分析應用:客戶購買頻次分布):
做個矩陣,将客戶放到【行】,賬齡放到【列】,上面的度量值作為【值】,就能自動計算出每個客戶的應收賬齡分布情況了:
這裡有問題是,總計金額不正确,可以單獨修正一下,
參考:Power BI 總計錯誤的終極解決方案(二)
把這個修正後的度量值放到矩陣中,就是正确的結果了:
這樣就自動生成賬齡分布情況,如果應收明細表數據有更新,隻需要點擊刷新,即可自動完成每個客戶的應收賬齡分布,一目了然的掌握每個客戶的欠款情況,關于賬齡分組,可以根據實際需要來調整。
其實賬齡分析也是一種分組分析,掌握了分組的邏輯,實現起來并不難,上面的這些度量值的邏輯需要你仔細理解,首先應該先想清楚業務的計算邏輯,然後學會用DAX來表達。
很多人不會用PowerBI做複雜點的數據分析,其實多數情況下并不是PowerBI或者DAX太難,恰恰是因為沒有真正想清楚業務的計算邏輯。能不能先分解問題,并用語言描述出來計算邏輯非常關鍵。
更多精彩:Power BI功能詳解:同步切片器
自定義區域可視化,你可以用Power BI的形狀地圖
如何利用Power BI,進行回頭客戶分析?
采悟,微軟MVP,「PowerBI星球」創始人,《Power BI商業數據分析》作者。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!