用PowerBI分析上市公司財務數(shù)據(jù)(二)


前面在“

用PBI分析上市公司財務數(shù)據(jù)(一)

”中主要介紹了數(shù)據(jù)的獲取、清洗,但要在PBI中實現(xiàn)動態(tài)的交互式分析,搭建模型是至關重要的一步。所謂模型可以理解為表以及表與表之間的關系,模型建的好,后續(xù)維護管理就比較容易,度量值的編寫也就會相對容易。


那么如何才能建立合理模型呢?


筆者認為要具備以下條件:一是理解業(yè)務數(shù)據(jù),知道主要分析的指標及潛在的報表分析需求;二是對DAX表達計算邏輯、特性有一定的了解。


題外話:


EXCEL中最難的函數(shù)可能就是查找引用函數(shù)了,如vlookup,index,match,lookup等,特別這些函數(shù)的數(shù)組用法,如果涉及到三維引用,大部分人都會弄暈,可能一個公式半天都弄不明白,也許好不容易弄明白了,過段時間又忘記了。不過這些在PBI中將不會存在,PBI將通過模型的建立,表與表之間的關聯(lián)不再與數(shù)據(jù)呈現(xiàn)的物理位置有關,只需要理解“上下文”這個概念。


言歸正傳,下面來講下如何建立模型:


第一步:分析數(shù)據(jù)特點

從數(shù)據(jù)的結構來講,上市公司歷年的財務報表,數(shù)據(jù)關系還是比較簡單的,但是,數(shù)據(jù)也有其特點,如果沒有財務基礎知識的話,可能在寫度量值時會犯一些錯誤。


首先要清楚:資產(chǎn)負債表是一類,利潤表和現(xiàn)金流量表屬另一類!


資產(chǎn)負債表是時點數(shù)據(jù),它實際上是反映公司自成立以來每個時點資產(chǎn)負債情況,如果在后面度量值寫成=SUM(資產(chǎn)負債表項目),那這個度量值在一個時間段內將毫無意義,因為把各個時點的數(shù)據(jù)直接相加,沒有實際意義。


利潤表和現(xiàn)金流量表則是時期數(shù)據(jù),是反映一個時間段內收入、利潤、現(xiàn)金流量變化的數(shù)據(jù),但是由于利潤表和現(xiàn)金流量表是本年累計數(shù),即報表日期中2019年3月31日是指1-3月累計數(shù),2019年6月30日是指1-6月累計數(shù),由于這個原因,直接寫度量值=SUM(利潤)可能也沒有意義,但SUM(利潤)在一季度、二季度、三季度、四季度單獨的篩選下又有意義,比如篩選一季度數(shù)據(jù),則SUM(利潤)代表所有年份一季度利潤的合計。 第二步:確定分析維度

首先,時間公司名稱這兩個維度是必須,也很容易發(fā)現(xiàn)。但是后面報表科目應該怎么處理呢?其實我們能夠發(fā)現(xiàn),后面的報表科目其實也是一個維度,按照“

用PBI分析上市公司財務數(shù)據(jù)(一)

”處理完成后的數(shù)據(jù),其實是一個二維表.


如果后續(xù)導出到EXCEL使用,或是直接打印出來閱讀,或是用來做某幾個指標的數(shù)理統(tǒng)計分析,這類二維表是合適的,但如果需要在PBI中分析,呈現(xiàn)更細致的微觀分析報告,那么需要對數(shù)據(jù)進行降維處理,也就是要將后面的科目列進行逆透視操作。具體操作如下:


在PQ編輯器中對查詢生成的資產(chǎn)負債表選擇除公司代碼、報告日期之外的其他列后右擊,選擇逆透視列,完成后更改下列名,如下:



利潤表和現(xiàn)金流量表也按這樣操作,最后三張財務報表列數(shù)完全相同,都是四列,分別為公司代碼、報告日期、科目、值。為了后續(xù)能夠最大限度實現(xiàn)度量值的復用,維護簡單,我們可以接下來將這三張表合并:選擇這三張表


然后在功能區(qū)中選擇追加查詢=》將查詢追加為新查詢


最后,將生成的本表改名為財務報表。


雖然分析維度可以在模型建立后反復修改或添加,但由于分析維度對模型建立影響較大,因此,模型建立初最好要確定主要的分析維度。


第三步:確定分析模型所需的表,
并設定表與表之間的關系


根據(jù)上面第二步分析得知,我們至少要有三個維度表,即時間、公司、科目維度表,有了這三個維度表后,我們就可以在后面分析中根據(jù)這些維度對數(shù)據(jù)進行切片計算。


1、建立時間表/日期表

由于待分析的財務報表數(shù)據(jù)中,日期字段僅一個即報表日期,因此建立日期表我們無需考慮過多因素,直接用DAX函數(shù) calendarauto()建立,該函數(shù)直接掃描現(xiàn)有模型中的日期,自動建立涵蓋現(xiàn)有日期字段的日期表。


具體操作如下:點擊建模=》新表 ,輸入 :日期表 = CALENDARAUTO()



這時模型中自動生成了Date 字段 ,然后依次點擊新建列 分別建立以下字段:
年 = YEAR([Date]) 季度 = ROUNDUP(MONTH([Date])/3,0) 季度名稱 = "Q"&[季度] 年季名稱 = [年]&[季度名稱]
在自動生成的日期建立這些字段主要是便于后期篩選和計算。



2、 建立公司維度表

公司維度表,即待分析的公司基本信息,在“用PBI分析上市公司財務數(shù)據(jù)(一)”中其實就已經(jīng)在上交所網(wǎng)上得到了相關的數(shù)據(jù),如下:



我們把它單獨保存一張表,以便形成后續(xù)在公司維度上進行。


3、?建立科目維度表

通過前面的分析,我們還需要一張表科目信息表用來關聯(lián)財務報表數(shù)據(jù),由于科目維度信息表比較固定,更新次數(shù)少,我們可以先在EXCEL中手工維護好后導入PBI中。我們將科目維度表整理成以下樣式,其中科目對照列是用來與財務報表建立關聯(lián)的列。



這里需要注意:由于科目對照列是主鍵,需要值唯一,由于現(xiàn)金流量表中的補充資料用到了部分利潤表及資產(chǎn)負債表項目,導致值重復,為了實現(xiàn)值唯一,還需要對現(xiàn)金流量表的項目特殊處理,如下:
在PQ中選擇現(xiàn)金流量表科目列=》在功能區(qū)選擇轉換=》格式=》添加后綴



這個后綴可以隨便加,主要是為了和利潤表、資產(chǎn)負債表區(qū)分,保證唯一,不過為了美觀,我建議加了一個人眼看不出來的字符,但計算機又視為不同,經(jīng)測試下面這個字符符合要求,字符代碼為127



我們把這個字符復制后粘貼到下面輸入框中,確定后即更新后完成整理。



同樣,我們也在科目維度表中有關現(xiàn)金流量表科目的后面增加這個字符。
考慮到原來的科目中每個都有萬元,直接顯示顯示出來不好看,因此,我們增加一列用來在報表可視化中顯示出來的名稱即項目名稱列,為了讓顯示出來的項目顯示出層級,更加好看,可以在項目名稱的前后增加這個字簽,模擬縮進效果,(該字符在查詢時可見,在可視化時不可見)如下:



另外,考慮到科目顯示排序的問題,我們由PQ自動生成一列索引列。同時回到建模界面,將項目名稱設置按列排序=》索引



最后,我們將日期表、公司信息表、科目維度表,財務報表 這四張表建立如下關系。




第四步:編寫度量值
先編寫一個基礎度量值: 值合計 = SUM('財務報表'[值])


1、資產(chǎn)負債表項目
資產(chǎn)負債表項目我們一般是分析期初和期末金額及結構的變化,因此我們需要建立以下度量:
(1)期末金額
期末 =VAR EndDate=MAX('日期表'[Date])//取得所選日期的最大值VAR EndAmount=CALCULATE([值合計],   '日期表'[Date]=EndDate)//計算期末金額return  IF(EndAmount=0,BLANK(),EndAmount)//隱藏項目金額為0的科目


(2)年初金額
期初 =VAR CURyear=MAX('日期表'[年])VAR beginAmt=CALCULATE([期末],  FILTER(ALL('日期表'),  '日期表'[年]=CURyear-1   && '日期表'[季度]=4))return    beginAmt

(3)變動金額
變動?=?IF(ISBLANK([期末]),          BLANK(),????????? [期末]-[期初])

(4)變動率
變動率 = DIVIDE([變動],[期初])


(5)重點關注指標
期末流動比率 = DIVIDE( CALCULATE([期末] ,    '科目表'[科目對照]="流動資產(chǎn)合計(萬元)"), CALCULATE([期末] ,    '科目表'[科目對照]="流動負債合計(萬元)"))

期末資產(chǎn)負債率 = DIVIDE(   CALCULATE([期末] ,   '科目表'[科目對照]="負債合計(萬元)"),   CALCULATE([期末] , ??'科目表'[科目對照]="資產(chǎn)總計(萬元)"))

期末現(xiàn)金比率 = DIVIDE( CALCULATE([期末] , ?'科目表'[科目對照]?in?{"貨幣資金(萬元)","交易性金融資產(chǎn)(萬元)"}),?CALCULATE([期末] , '科目表'[科目對照]="流動負債合計(萬元)"))



第五步,數(shù)據(jù)可視化 1.? 資產(chǎn)項目,選擇矩陣



依次將相關度量值,加入值,項目名稱加入到行


同時將科目表的類型字段,加入到該矩陣的篩選器,并篩選資產(chǎn)



2.? 負債項目與資產(chǎn)項目一樣,可直接將矩陣復制一個,將篩選器改為權益



3、選擇卡片圖,依次將流動比率、現(xiàn)金比率、資產(chǎn)負債率用三個卡片圖顯示
4、將公司簡稱、年、季度名稱分別加入到三個切片器
調整格式,效果如下:



本節(jié)主要介紹了如何建立一個簡單模型的思路和方法,選取的也是相對簡單的有關資產(chǎn)負債表項目的度量值編寫,有關利潤表和現(xiàn)金流量表的分析將在后續(xù)文章介紹。
作者 張震 | 編輯 沐笙?




—— End ——

PowerBI財務分析課程推薦


網(wǎng)易云課堂 掃碼



?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容