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数据分析应用:结构百分比分析法的更多相关文章

  1. 数据可视化之分析篇(三)Power BI总计行错误,这个技巧一定要掌握

    https://zhuanlan.zhihu.com/p/102567707 ​前一段介绍过一个客户购买频次统计的案例: Power BI 数据分析应用:客户购买频次分布. 我并没有在文章中显示总计行 ...

  2. 数据可视化之分析篇(六)使用Power BI进行流失客户分析

    https://zhuanlan.zhihu.com/p/73358029 为了提升销量,在不断吸引新客户的同时,还要防止老客户离你而去,但每一个顾客不可能永远是你的客户,不可避免的都会经历新客户.活 ...

  3. 数据可视化之分析篇(一)使用Power BI进行动态帕累托分析

    https://zhuanlan.zhihu.com/p/57763423 通过简单的点击交互,就能进行动态分析发现见解,才是我们需要的,恰好这也是 PowerBI 所擅长的. 就帕累托分析来说,能从 ...

  4. 数据可视化之分析篇(七)Power BI数据分析应用:水平分析法

    https://zhuanlan.zhihu.com/p/103264851 首先,以财务报表分析为例,介绍通用的分析方法论,整体架构如下图所示: (点击查看大图) 接下来我会围绕这五种不同的方法论, ...

  5. 数据可视化之分析篇(五)如何使用Power BI计算新客户数量?

    https://zhuanlan.zhihu.com/p/65119988 每个企业的经营活动都是围绕着客户而开展的,在服务好老客户的同时,不断开拓新客户是每个企业的经营目标之一. 开拓新客户必然要付 ...

  6. 数据可视化之分析篇(二)Power BI 数据分析:客户购买频次分布

    https://zhuanlan.zhihu.com/p/100070260 商业数据分析通常都可以简化为对数据进行筛选.分组.汇总的过程,本文通过一个实例来看看PowerBI是如何快速完成整个过程的 ...

  7. 数据可视化之分析篇(十)Power BI应用:如何计算在职员工数量?

    ​https://zhuanlan.zhihu.com/p/128652582 经常碰到的一类问题是,如何根据起止日期来计算某个时间点的数量,比如: 已知合同的生效日期和到期日期,特定日期的有效合同有 ...

  8. 数据可视化之分析篇(九)PowerBI数据分析实践第三弹 | 趋势分析法

    https://zhuanlan.zhihu.com/p/133484654 以财务报表分析为例,介绍通用的分析方法论,整体架构如下图所示: (点击查看大图) 我会围绕这五种不同的方法论,逐步阐述他们 ...

  9. 数据可视化之分析篇(四)PowerBI分析模型:产品关联度分析

    https://zhuanlan.zhihu.com/p/64510355 逛超市的时候,面对货架上琳琅满目的商品,你会觉得这些商品的摆放,或者不同品类的货架分布是随机排列的吗,当然不是. 应该都听说 ...

随机推荐

  1. dbca oracle 12 c 遇到ora27125

    网上大部分方法是把dba组放在内核的,没有效果,可以尝试 google找到一位大神的方案,成功解决 https://oracle-admin.com/2014/01/22/ora-27125-unab ...

  2. Python类中装饰器classmethod,staticmethod,property,

    @classmethod 有的时候在类中会有一种情况,就是这个方法并不需要使用每一个对象属性 因此 这个方法中的self参数一个完全无用的参数,使用classmethod class A: __cou ...

  3. Windows下C,C++开发环境搭建指南

    Windows下C,C++开发环境搭建指南 前情提要 基于近一段时间很多网友发邮件反馈,说一些项目编译出现问题,诸如此类的情况. 就觉得很有必要写一篇C,C++开发环境的小指南,统一回复. 1.君欲善 ...

  4. Rectangle【思维+模拟】

    Rectangle 题目链接(点击) frog has a piece of paper divided into nn rows and mm columns. Today, she would l ...

  5. 小师妹学JVM之:深入理解JIT和编译优化-你看不懂系列

    目录 简介 JIT编译器 Tiered Compilation分层编译 OSR(On-Stack Replacement) Deoptimization 常见的编译优化举例 Inlining内联 Br ...

  6. Asp.Net Core入门之自定义中间件

    什么是中间件? 这里引用官方解释: 中间件是用于组成应用程序管道来处理请求和响应的组件.管道内的每一个组件都可以选择是否将请求交给下一个组件.并在管道中调用下一个组件之前和之后执行某些操作.请求委托被 ...

  7. vulstack红队评估(一)

    一.环境搭建: 1.根据作者公开的靶机信息整理: 虚拟机初始所有统一密码:hongrisec@2019   因为登陆前要修改密码,改为了panda666...   2.虚拟网卡网络配置: ①Win7双 ...

  8. 万级TPS亿级流水-中台账户系统架构设计

    万级TPS亿级流水-中台账户系统架构设计 标签:高并发 万级TPS 亿级流水 账户系统 背景 业务模型 应用层设计 数据层设计 日切对账 背景 我们需要给所有前台业务提供统一的账户系统,用来支撑所有前 ...

  9. linux kernel update

    linux内核升级 最近HW行动,报出来的linux系统内核漏洞,环境中全部是2.6.32-431.el6.x86_64的主机,需要全部升级到754版本,这也是第一次进行内核升级操作. 先找了一台和生 ...

  10. .Net Core微服务入门全纪录(六)——EventBus-事件总线

    前言 上一篇[.Net Core微服务入门全纪录(五)--Ocelot-API网关(下)]中已经完成了Ocelot + Consul的搭建,这一篇简单说一下EventBus. EventBus-事件总 ...