数据可视化之PowerQuery篇(十七)Power BI数据分析应用:水平分析法
https://zhuanlan.zhihu.com/p/103264851
本文为星球嘉宾"海艳"的PowerBI数据分析工作实践系列分享之一,她深入浅出的介绍了PowerBI在数据分析中的应用,从各项指标的计算,到可视化展现,利用PowerBI发现问题分析问题,欢迎学习借鉴。
PowerBI数据分析01:水平分析法
作者:海艳
首先,以财务报表分析为例,介绍通用的分析方法论,整体架构如下图所示:

(点击查看大图)
接下来我会围绕这五种不同的方法论,进一步的阐述他们在 PowerBI 中的应用,本文先谈一下水平分析法的应用。
01 | 水平分析法
水平分析法,指将反映企业当前状况的信息与前期或历史某一时期财务状况的信息进行对比,研究企业各项经营业绩或财务状况的发展变动情况的一种财务分析方法。
①绝对增减变动
同比环比
可以适用在收入、成本、利润、费用、税金缴纳、应付周转、应收周转、库存周转、资金周转等分析中
涉及的常用DAX函数
DATEADD
按指定的间隔移动给定的一组日期
DATESBETWEEN
返回两个给定日期之间的日期
DATESINPERIOD
返回给定期间中的日期
DATESMTD
返回此月份中截至当前日期的一组日期(QTD/YTD)
SAMEPERIODLASTYEAR
返回上一年度中当前选择的一组日期
示例
首先创建度量值,验证数据准确性
销售利润 =SUM('订单'[利润])上年销售利润 =CALCULATE('度量值'[销售利润],DATEADD('日期'[日期],-1,YEAR))利润差异 = [销售利润]-[上年销售利润]

并用图表展示出变化的趋势。

从上图可以看出17-18年,利润增幅14.9万,但18-19年利润增幅则只有6.2万,较18年增幅减少。
那究竟是什么原因呢?我们继续向下看。
先来看下是否是收入的影响。
创建度量值
销售收入= SUM('订单'[销售额])上年销售收入 =CALCULATE('度量值'[销售总额],SAMEPERIODLASTYEAR('日期'[日期]))收入差异 = [销售收入]-[上年销售收入]


我们可以看出,19年收入涨幅为124万,大于18年涨幅80万,那为什么19年利润涨幅下降了呢,需要进一步寻找原因?
是成本增加了,还是费用增加了,还是其他因素影响,我们也可以通过使用同样的方式对其他影响因素进行对比分析,寻找影响利润原因。
说明:上面两个差异变化图中16年因是第一年,所以变化是不准确的,这也是需要调整的地方,第一年应为零。
②增减变动率
在某些情况下,绝对增减变动不能反映分析的可比性,那就要借助增减变动率;
例如:两公司的利润情况对比,因环境、体量差异,那他的绝对值可比性就会下降,但对应的比率对比则依然具有可比性.
涉及的常用dax函数:
DIVIDE
能够处理分母为零的情况 ,也被称为Safe Divide 函数
创建度量值:
利润增长变化率 = DIVIDE([利润差异],[上年销售利润])
收入增长变化率 = DIVIDE([收入差异],[上年销售收入])
首先通过下图的利润增长变化率也可以得出我们在前面使用绝对值对比的方法得出的结论,但使用变化率的对比,则剔除掉了基期16年数据的影响,对比下,使用变化率进行分析则更有效。
其次通过收入增长变化率情况,可以更清晰的看出19年收入增长比率为29.26%,而利润增长幅度只有9.97%。
显然利润增长幅度变缓,不是收入的影响,那是什么吞噬掉了利润?需进一步对其他因素进行分析。


瀑布图展示收入和利润的变动情况
今天的内容就暂时写到这里,水平分析方法在分析中可以应用到很多地方,具有很广泛适用性,接下来我将继续分享其他几种方法的使用,希望可以把这些方法灵活的与PowerBI相结合,应用到我们的工作中。
数据可视化之PowerQuery篇(十七)Power BI数据分析应用:水平分析法的更多相关文章
- 数据可视化之PowerQuery篇(十四)产品关联度分析
https://zhuanlan.zhihu.com/p/64510355 逛超市的时候,面对货架上琳琅满目的商品,你会觉得这些商品的摆放,或者不同品类的货架分布是随机排列的吗,当然不是. 应该都听说 ...
- 数据可视化之PowerQuery篇(十三)Power BI总计行错误,这个技巧一定要掌握
https://zhuanlan.zhihu.com/p/102567707 前一段介绍过一个客户购买频次统计的案例: Power BI 数据分析应用:客户购买频次分布. 我并没有在文章中显示总计行 ...
- 数据可视化之PowerQuery篇(十八)Power BI数据分析应用:结构百分比分析法
https://zhuanlan.zhihu.com/p/113113765 本文为星球嘉宾"海艳"的PowerBI数据分析工作实践系列分享之二,她深入浅出的介绍了PowerBI ...
- 数据可视化之PowerQuery篇(十九)PowerBI数据分析实践第三弹 | 趋势分析法
https://zhuanlan.zhihu.com/p/133484654 本文为星球嘉宾"海艳"的PowerBI数据分析工作实践系列分享之三,她深入浅出的介绍了PowerBI ...
- 数据可视化之PowerQuery篇(十六)使用Power BI进行流失客户分析
https://zhuanlan.zhihu.com/p/73358029 为了提升销量,在不断吸引新客户的同时,还要防止老客户离你而去,但每一个顾客不可能永远是你的客户,不可避免的都会经历新客户.活 ...
- 数据可视化之PowerQuery篇(四)二维表转一维表,看这篇文章就够了
https://zhuanlan.zhihu.com/p/69187094 数据分析的源数据应该是规范的,而规范的其中一个标准就是数据源应该是一维表,它会让之后的数据分析工作变得简单高效. 在之前的文 ...
- 数据可视化之PowerQuery篇(十)如何将Excel的PowerQuery查询导入到Power BI中?
https://zhuanlan.zhihu.com/p/78537828 最近碰到星友的一个问题,他是在Excel的PowerQuery中已经把数据处理好了,但是处理后的数据又想用PowerBI来分 ...
- 数据可视化之PowerQuery篇(十一)使用Power BI进行动态帕累托分析
https://zhuanlan.zhihu.com/p/57763423 上篇文章介绍了帕累托图的用处以及如何制作一个简单的帕累托图,在 PowerBI 中可以很方便的生成,但若仅止于此,并不足以体 ...
- 数据可视化之PowerQuery篇(十五)如何使用Power BI计算新客户数量?
https://zhuanlan.zhihu.com/p/65119988 每个企业的经营活动都是围绕着客户而开展的,在服务好老客户的同时,不断开拓新客户是每个企业的经营目标之一. 开拓新客户必然要付 ...
随机推荐
- MATLAB作图之一
问题 在使用MATLAB当中的imagesc作图的时候,如果数据矩阵元素太少,得到的图看起来会很"粗糙"(图1).那么如何得到更为"圆润"的图像呢? A = r ...
- Redis学习笔记(二十一) 事务
文章开始啰嗦两句,写到这里共21篇关于redis的琐碎知识,没有过多的写编程过程中redis的应用,着重写的是redis命令.客户端.服务器以及生产环境搭建用到的主从.哨兵.集群实现原理,如果你真的能 ...
- Java中容易遗漏的小知识点( 一 )(为了和小白一样马上要考试的兄弟准备的,希望小白和大家高过不挂)
笔者csdn博客同文地址:https://blog.csdn.net/weixin_45791445/article/details/106597515 我是小康小白,一个平平无奇的Java小白.热爱 ...
- LR脚本信息函数-lr_get_master_host_name
lr_get_master_host_name() 返回Controller主机的名称. char * lr_get_master_host_name(); lr_get_master_host_na ...
- OO第四单元——终章
一.架构设计 这一单元的作业主要是围绕UML来对我们的面向对象思维进行训练,刚开始接触的时候或许因为些许陌生而觉得有一定难度,但随着一次一次的代码阅读再加上思考,逐渐地也变得得心应手了起来. 1.第一 ...
- Day7-微信小程序实战-引入iconfont(充分利用iconfont图标库的资源)
一.引入iconfont 首先在iconfont.com中注册登陆: 点击上方[图标管理]并进入我的项目 注意:如果没有项目的话,就点击右边的来创建项目 在官网中找到想要的图标之后,以SVG的形式下载 ...
- springboot 配置本地文件映射路径
@Configuration public class MyBlogWebMvcConfigurer extends WebMvcConfigurerAdapter { @Autowired priv ...
- python django 批量上传文件并绑定对应文件的描述
- MyBatis一对多嵌套list返回结果集以及分页查询问题处理
这两天在整理原有系统接口时,遇到后端的人员-角色-菜单的权限接口没有进行连表的关联查询操作,前端拿数据非常不方便,现在将接口相关sql进行修改并让前端可以一次性拿到想要的数据 原有的单表简单sql: ...
- 使用TimerTask创建定时任务
使用TimerTask创建定时任务,打包之后应用于linux系统 step1:创建java项目 step2:代码实现 定时任务实现类CreateTask.java是打印操作者的名字 配置准换类Conf ...