数据可视化之分析篇(八)Power BI数据分析应用:结构百分比分析法
https://zhuanlan.zhihu.com/p/113113765
PowerBI数据分析02:结构百分比分析法
作者:海艳
结构百分比分析法,又称纵向分析,是指同一期间财务报表中不同项目间的比较与分析,将财务报表中的某一重要项目(如资产负债表中的资产总额或权益总额)的数据作为100%,然后将报表中其余项目额都以这一项目的百分比的形式作纵向排列,从而揭示出各项目的数据在公司财务中的意义的一种财务分析方法。
涉及的常用DAX函数
SUM对某个列中的所有数值求和
SUMX
返回为表中的每一行计算的表达式的和
CALCULATE
在筛选器修改的上下文中对表表达式进行求值
CALCULATETABLE
在筛选器修改的上下文中对表达式进行求值
FILTER
返回已筛选的表
FILTERS
返回直接应用于指定列的筛选器值的表
All
返回表中的所有行或列中的所有值,同时忽略可能已应用的任何筛选器
ALLSELECTED
返回表中的所有行或列中的所有值,同时忽略可能已应用在查询内的任何筛选器,但保留来自外部的筛选器
ALLCROSSFILTERED
清除应用于指定表的所有筛选器KEEPFILTERS 更改筛选语义的 CALCULATE 和 CALCULATETABLE 函数
在上次水平分析法分享后,和我一起在星球中学习的伙伴找到我说,你这个内容怎么给人的感觉就像没分析完,到底是什么吞噬掉了利润?
不知道这个结果真是如鲠在喉,寝食难安!不知道你是否也和他一样,想一探究竟,那让我们今天继续往下说。
由上一篇数据我们得知,19年收入增长比率为29.26%,而利润增长幅度只有9.97%,显然利润增长幅度变缓,不是收入的影响。
接下来,让我们结合结构百分比分析法来看下费用情况:
费用总金额 = SUM('费用表'[金额])各费用金额 = CALCULATE([费用总金额])各费用占总费用比例 = DIVIDE([费用总金额],CALCULATE([费用总金额],ALL('费用表'[一级科目])))
在费用中我们将费用总金额作为100%,对应管理费用、销售费用、资产减值损失、营业外支出、财务费用作为各分项,计算其占费用总金额的比例。
我们都知道日常企业最常发生的三大项费用就是管理费用、销售费用、财务费用,那我们将科目中的资产减值损失、营业外支出先勾掉筛选,只看三大项费用的情况:
对应情况如下:
各费用占总费用比例 绝对 = DIVIDE([费用总金额],CALCULATE([费用总金额],ALL('费用表'[一级科目])))各费用占总费用比例 相对 = DIVIDE([费用总金额],CALCULATE([费用总金额],ALLSELECTED('费用表'[一级科目])))
对应我们将三项费用总金额作为100%,对应管理费用、销售费用、财务费用作为各分项,计算其占费用总金额的比例。
从中我们可以看出16-19年,四年间管理费用占总费用比例最高,三项费用中占比最大,销售费用次之,而财务费用仅占0.01%,那我们是否能够得出管理费用是影响利润的重要因素?
答案是:不能.
因为我们并没有把时间因素考虑进来,也没有把各项费用究竟占收入比重多大考虑进来,所以只由其占比并不能得出最终结论。那管理费用究竟为什么在费用中占比这么大,值得我们考虑?
我们添加上时间,加入筛选器:
Note:不知大家有没有注意到,我们年份名称是乱序的,我们需要将它更正下顺序:
(使用右下角 …,选择排序方式,按年份名称升序排列)
管理费用情况
销售费用情况
财务费用情况
Y2016年情况
Y2017年情况
Y2018年情况
Y2019年情况
汇总情况
有没有发现单独看费用,管理费用占比在逐年递增,而销售费用在逐年下降,那究竟是什么原因,这时就要结合你所分析的企业的背景、成长周期及其他相关情况来看:
为什么管理费用一直上升,是不是因其研发费用投入在逐年递增,来帮助企业研发新产品;为什么销售费用在逐年下降,是否是企业进入成熟期,需要多做投资来守住他的现金,而品牌知名度已经打响,所以减少销售费用的投入,来增加利润;等等……….其实还有另外一种可能,就是各项费用都在下调,而管理费用占比增加而已!
接下来让我们看下费用率、费用同期对比情况,来看下费用情况,以及是否是费用增加吞噬掉了利润:
费用率 = DIVIDE([费用总金额],[销售收入])
上年费用 =
CALCULATE('费用度量值'[费用总金额],DATEADD('日期'[日期],-1,YEAR))
费用差异 = [费用总金额]-[上年费用]
费用增长率 = divide([费用差异],[上年费用])
由上,我们可以发现在19年,费用下降了43.1%,可见企业在严格控制费用支出,来帮助企业盈利,而费用情况恰好是我们说的第三种可能,费用集体下调,而管理费用占比增加而已.
所以对于损益相关项进行分析时,单独分析的同时,也要结合整体分析,不能直接由点及面。
那我们分析了影响利润的两个大的方面,都不是影响企业利润的因素,那究竟是什么吞噬掉了利润?
答案奉上:是因受上游独家供货垄断,成本大幅提高,所以导致利润被吞噬。
当然影响利润的因素还有其他不同的方面,例如:资产减值损失、坏账损失、公允价值变动损益,折旧&摊销计提方式的改变等等,需要我们针对不同的分项进行细节分析。
那今天的分享就这么多啦,下一节将和大家分享趋势分析法!期待和你的再次相遇^_^
数据可视化之分析篇(八)Power BI数据分析应用:结构百分比分析法的更多相关文章
- 数据可视化之分析篇(三)Power BI总计行错误,这个技巧一定要掌握
https://zhuanlan.zhihu.com/p/102567707 前一段介绍过一个客户购买频次统计的案例: Power BI 数据分析应用:客户购买频次分布. 我并没有在文章中显示总计行 ...
- 数据可视化之分析篇(六)使用Power BI进行流失客户分析
https://zhuanlan.zhihu.com/p/73358029 为了提升销量,在不断吸引新客户的同时,还要防止老客户离你而去,但每一个顾客不可能永远是你的客户,不可避免的都会经历新客户.活 ...
- 数据可视化之分析篇(一)使用Power BI进行动态帕累托分析
https://zhuanlan.zhihu.com/p/57763423 通过简单的点击交互,就能进行动态分析发现见解,才是我们需要的,恰好这也是 PowerBI 所擅长的. 就帕累托分析来说,能从 ...
- 数据可视化之分析篇(七)Power BI数据分析应用:水平分析法
https://zhuanlan.zhihu.com/p/103264851 首先,以财务报表分析为例,介绍通用的分析方法论,整体架构如下图所示: (点击查看大图) 接下来我会围绕这五种不同的方法论, ...
- 数据可视化之分析篇(五)如何使用Power BI计算新客户数量?
https://zhuanlan.zhihu.com/p/65119988 每个企业的经营活动都是围绕着客户而开展的,在服务好老客户的同时,不断开拓新客户是每个企业的经营目标之一. 开拓新客户必然要付 ...
- 数据可视化之分析篇(二)Power BI 数据分析:客户购买频次分布
https://zhuanlan.zhihu.com/p/100070260 商业数据分析通常都可以简化为对数据进行筛选.分组.汇总的过程,本文通过一个实例来看看PowerBI是如何快速完成整个过程的 ...
- 数据可视化之分析篇(十)Power BI应用:如何计算在职员工数量?
https://zhuanlan.zhihu.com/p/128652582 经常碰到的一类问题是,如何根据起止日期来计算某个时间点的数量,比如: 已知合同的生效日期和到期日期,特定日期的有效合同有 ...
- 数据可视化之分析篇(九)PowerBI数据分析实践第三弹 | 趋势分析法
https://zhuanlan.zhihu.com/p/133484654 以财务报表分析为例,介绍通用的分析方法论,整体架构如下图所示: (点击查看大图) 我会围绕这五种不同的方法论,逐步阐述他们 ...
- 数据可视化之分析篇(四)PowerBI分析模型:产品关联度分析
https://zhuanlan.zhihu.com/p/64510355 逛超市的时候,面对货架上琳琅满目的商品,你会觉得这些商品的摆放,或者不同品类的货架分布是随机排列的吗,当然不是. 应该都听说 ...
随机推荐
- sublime Text3 实现2:1:1三分屏效果
小trick, 水一篇博客 先上效果图 由于写题啥的时候需要重定向输入输出改数据对拍, 设置成这样的效果就非常直观的看数据 直接切题, 首选项--快捷键--default里搜索alt+shift+1( ...
- ZWave 中的消息队列机制
文章主题 在我们的日常编程中,对消息队列的需求非常常见,使用一个简洁.高效的消息队列编程模型,对于代码逻辑的清晰性,对于事件处理的高效率来说,是非常重要的.这篇文章就来看看 ZWave 中是通过什 ...
- Java根据模板生成Word文档
一,首先制作模板 1.先做一个Word文档, 2.打开Word,然后另存为*.xml文件 3.最后修改*.xml文件的后缀名为*.ftl 二,打开项目编辑器Idea,在pom文件中引入相关架包依赖(我 ...
- leetcode27之移除元素
题目描述: 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度. 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改 ...
- async/await到底该怎么用?如何理解多线程与异步之间的关系?
前言 如标题所诉,本文主要是解决是什么,怎么用的问题,然后会说明为什么这么用.因为我发现很多萌新都会对之类的问题产生疑惑,包括我最初的我,网络上的博客大多知识零散,刚开始看相关博文的时候,就这样.然后 ...
- mongodb 数据库 增删改查
mongodb 数据库 增删改查 增: // 引入express 模块 var express = require('express'); // 路由var router = expr ...
- Linux下如何寻找相同文件?
大家好,我是良许. 随着电脑的使用,系统里将产生很多垃圾,最典型的就是同一份文件被保存到了不同的位置,这样导致的结果就是磁盘空间被大量占用,系统运行越来越慢. 所以如果你的电脑空间告急的话,可以试着去 ...
- Perl入门(三)Perl的数组
Perl数组的声明方式 Perl使用"@"符号声明一个数组:@array: 使用"()"或"qw()"声明数组中元素: 一个完整的声明方式为 ...
- 2、struct2的工作流程
1.首先执行StrutsPrepareAndExecuteFilter,调用StrutsPrepareAndExecuteFilter类的doFilter方法 在该方法中会产生一个ActionMapp ...
- 微信小程序navigator带参数跳转及接收参数内容
// index.wxml <navigator class='looks-view' wx:for="{{imgUrlNew}}" wx:key="index&q ...