Power BI财务应用:上市公司财务报表分析_腾讯视频
PowerBI财务报表分析系列之:
数据建模篇
我们面对的源数据,往往并不是只有一张表,而这些不同的表,需要协同配合才能更有效的使用,多表的协同配合依靠表与表之间的逻辑关系。
根据分析的需求,在多个表之间建立合适的关系,使之可以像一个表一样灵活使用,这个过程称为数据建模。
一个良好的数据模型是数据分析的基础,也是一个良好的可视化报告的基础,可以帮我们更简单的实现分析目的。
数据建模表面来看,就是在不同的表之间建立一定的关系,但这些关系不是随便建立的,而是要根据分析的需要。
同样的数据,在不同的分析需求下,需要建立的模型可能也是不同的,这里结合财务报表分析的示例,介绍一下数据建模的一些思路。
1,只加载需要的表到模型中
在PowerQuery中生成的表可能有很多,从外部导入的表、自建的参数表、处理的中间表等,但并不是都需要加载到模型中,对于不需要的表,右键该查询>属性,去掉“启用加载到报表”的勾选。
在这个分析示例中,利用上篇抓取并整理的数据,去掉不必要的加载,进入模型的表有下面5个,根据公司代码建立关系。
2,梳理维度表
导入的表,一般是我们需要分析的数据,也常被称为事实表,但分析用的维度表往往是不完整的,需要添加新的维度表。
维度表可以在外部建立并导入进来,还利用DAX来添加。
在这个财务报表分析示例中,主要的维度是公司名称和年度、季度,从PowerQuery中加载进来后,已经有单独的公司表,可以直接用。
但并没有单独的年度季度表,不过从网页抓取的报表数据中含有年度和季度的数据,可以直接用DAX生成一个期间表,
根据分析需要,还应为这个期间表添加三个计算列:
季度 = MID([报表日期],6,2)/3
报表期间 =
SWITCH(
MID([报表日期],7,1),
"2","年度报告",
"3","第一季度",
"6","中期报告",
"9","第三季度"
)
期间编号 = ([报表年度]-2010)*4+[季度]
这样就形成了完善的期间表:
利用DAX构造的这个维度表,可以根据事实表中的数据自动更新。将这个期间表与数据表,根据报表日期列建立一对多的关系。
虽然很多分析报告中都有日期表,但在这个财务报表分析模型中,并不需要按日分析,因此无需建立标准的日期表,根据分析的粒度,建立含有年度和季度的维度表即可。
3,根据分析的需要,添加特定表
有些模型中,并不能简单的将某个表划分为事实表或者通常意义上的维度表,它是为某些特定的分析需要存在的。
比如在这个财务报表分析示例中,需要按通用的格式,来展现资产负债表、利润表和现金流量表,就需要先构造财务报表的结构表。比如资产负债表,先构造这样的结构表:
然后在可视化报告中,利用这个结构表,和矩阵可视化,来构造常见的资产负债表以及控制总计和小计的层次,后面的文章中会具体介绍。
同样也需要导入利润表和现金流量表的结构表,以备后面使用,你可以在公众号后台回复“财报结构表”,获取本示例用到的结构表。
根据不同的数据源和实际展现的要求,这个结构表也需要做对应调整,关键是掌握这种思路。
4,建立关系,形成数据模型
有了上面的数据准备,并在这些表格中建立关系,本示例用到的模型就建好了,模型图如下:
数据建模基础可参考:Power BI数据建模
从上图可以看出,这个模型并不复杂,建立的也都是一对多的关系。为了使模型结构更加清晰(尤其是模型比较复杂时),建议将维度表和事实表分开排列,以便于当你遇到问题,需要从模型层面排查关系时,可以快速的发现问题。
数据建模的过程就是梳理分析逻辑的过程,如果分析的逻辑都还没有想清楚,不可能建立一个好模型,也就没法简单有效的解决问题。当然,很多模型并不是从一开始就能全部建好,然后再开始数据分析和可视化的。
实际的业务分析中,大都是边分析、边完善模型,根据需要不断调整、优化,最终形成一个满足需要的、实用的模型。
本文只是构造了基础的数据模型,分析和可视化所需要的数据,还需要根据这个模型来建立相应的度量值。
/前文回顾/
刚开始学习Power BI,可在微信公众号后台回复"PowerBI",获取《七天入门PowerBI》电子书,轻松上手。
-精彩推荐-
Power BI财务报表分析:数据准备篇-批量抓取上市公司财报数据
网友评论