Power BI财务报表分析:报表构造篇
PowerBI财务报表分析系列之:
报表构造篇
PowerBI财务报表分析,一个主要的模块是在PowerBI报告中展示三大报表:资产负债表、利润表和现金流量表,目前并没有一个专门的财务报表可视化对象,但利用通用的矩阵,同样可以轻松构造三大报表。
在上一篇文章中,已经提到并在模型中添加了报表的结构表,并将结构表和报表数据建立了关系。本文通过构造资产负债表,来介绍在PowerBI报告中展示财务报表的思路。
为了显示报表数据,先建立一个基础度量值:
项目金额 = SUM('报表数据'[金额])
利用资产负债表中的项目名称和这个度量值建一个矩阵,看看是什么样子:
将公司名称和报表年度作为外部切片器,利用一个简单的度量值,可以很轻松展现资产负债表各项目的数据,这就是一维表的好处。
但这个矩阵和常见的资产负债表相比,还有3个明显的缺陷:
1.项目顺序错乱:没有按照资产负债项目的流动性,从流动资产到非流动资产的顺序来排序;
2.未按层级显示合计:虽然有流动资产合计、非流动资产合计等数据,但没有按层级显示,不便于分类展示;
3.最顶端有个空白项。
其中第3个问题,是因为报表数据是包含所有报表的一维表,其中不仅含有资产负债表的项目,还有利润表和现金流量表的项目,空白项的数据就是利润表和现金流量表的合计数。
解决这个问题很简单,只需要在筛选器中,将项目名称中的空白项去掉勾选即可。
下面主要介绍如何解决前两个问题。
1,项目顺序错乱的问题
在资产负债结构表中,专门添加有一个序号列,就是为了解决排序问题的。将序号列放入到矩阵的【值】中,并将聚合方式选择为最小值,并按这一列升序排列:
这样就按照资产负债表常见的顺序,从货币资金往下排列了,然后隐藏序号列,就成了一个常见的资产负债表的顺序:
2,未按层级显示合计的问题
将资产负债结构表中的[项目大类]、[项目小类]放到矩阵的【行】中,打开行标题渐变布局,就可以按层级显示合计数:
这样看起来就清晰多了,如果你想调整层级,可以通过在结构表调整项目类别的范围和层次。
但仔细观察这些合计的数字,会发现数据是不正确的,这是因为该矩阵中合计数是根据下级的资产负债项目数据累加的,但是新浪财经上的流动资产合计、资产总计等数据是独立的,并不是下级项目的合计数(可能新浪的报表结构是统一的,但是每一个公司会有自己特定的项目,未在新浪财经网页上列示出来)。
为了解决这个问题,我们也不再简单的按照各明细项目的求和来计算合计数,而是利用度量值,直接提取原始表中的流动资产合计、资产总计等数据。
流动资产合计 = CALCULATE([项目金额],FILTER(ALL('资产负债表'),'资产负债表'[项目名称]="流动资产合计")) 非流动资产合计 = CALCULATE([项目金额],FILTER(ALL('资产负债表'),'资产负债表'[项目名称]="非流动资产合计"))
流动负债合计 = CALCULATE([项目金额],FILTER(ALL('资产负债表'),'资产负债表'[项目名称]="流动负债合计")) 非流动资产合计 = CALCULATE([项目金额],FILTER(ALL('资产负债表'),'资产负债表'[项目名称]="非流动资产合计")) 资产总计 = CALCULATE([项目金额],FILTER(ALL('资产负债表'),'资产负债表'[项目名称]="资产总计"))
(其实每一个报表项目的金额都可以按这样的思路来写度量值)
然后写一个资产负债表期末余额的度量值,将上述合计数以及正常的每个项目的金额,整合到一起,
将这个度量值放到矩阵中,就得到了一个结构清晰、数据正确的资产负债表可视化:
至此PowerBI报表中资产负债表构造完毕,主要是利用结构表以及矩阵的各项设置。
如果对于矩阵的渐变布局、+/-符号、隐藏列等设置还不是很熟悉,建议你看看这篇文章:Power BI矩阵格式设置13招
另外一定要检查数据的准确性,必要时利用DAX来修正数据。
对于利润表和现金流量表的构造,思路是一样的,大家可以动手练习。
本文简单介绍了如何构造一个财务报表,其实这种思路也不局限于构造财务报表,对于有层级数据的展现,思路是通用的。
在本文的财务报表中,只是展现了期末余额,下一篇介绍如何快速的完成期初余额、上期余额、同比、环比等指标的计算。
/前文回顾/
成为PowerBI星球会员,获取财务报表分析模板