数据可视化之PowerQuery篇(十八)Power BI数据分析应用:结构百分比分析法
https://zhuanlan.zhihu.com/p/113113765
本文为星球嘉宾"海艳"的PowerBI数据分析工作实践系列分享之二,她深入浅出的介绍了PowerBI在数据分析中的应用,利用PowerBI发现问题分析问题,欢迎学习借鉴。
她的上一篇分享:
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%,可见企业在严格控制费用支出,来帮助企业盈利,而费用情况恰好是我们说的第三种可能,费用集体下调,而管理费用占比增加而已.
所以对于损益相关项进行分析时,单独分析的同时,也要结合整体分析,不能直接由点及面。
那我们分析了影响利润的两个大的方面,都不是影响企业利润的因素,那究竟是什么吞噬掉了利润?
答案奉上:是因受上游独家供货垄断,成本大幅提高,所以导致利润被吞噬。
当然影响利润的因素还有其他不同的方面,例如:资产减值损失、坏账损失、公允价值变动损益,折旧&摊销计提方式的改变等等,需要我们针对不同的分项进行细节分析。
数据可视化之PowerQuery篇(十八)Power BI数据分析应用:结构百分比分析法的更多相关文章
- 数据可视化之PowerQuery篇(八)利用PowerQuery,进行更加灵活的数据分列
https://zhuanlan.zhihu.com/p/66540160 常规分列 我们最常见的就是有固定分隔符的规范数据,这种直接就按照分隔符拆分就可以了, 如果没有分割符怎么办?依然是上面的数据 ...
- 数据可视化之分析篇(八)Power BI数据分析应用:结构百分比分析法
https://zhuanlan.zhihu.com/p/113113765 PowerBI数据分析02:结构百分比分析法 作者:海艳 结构百分比分析法,又称纵向分析,是指同一期间财务报表中不同项目间 ...
- 数据可视化之PowerQuery篇(十三)Power BI总计行错误,这个技巧一定要掌握
https://zhuanlan.zhihu.com/p/102567707 前一段介绍过一个客户购买频次统计的案例: Power BI 数据分析应用:客户购买频次分布. 我并没有在文章中显示总计行 ...
- 数据可视化之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/65119988 每个企业的经营活动都是围绕着客户而开展的,在服务好老客户的同时,不断开拓新客户是每个企业的经营目标之一. 开拓新客户必然要付 ...
- 数据可视化之PowerQuery篇(九)巧用Power Query,Excel也可以轻松管理文档
https://zhuanlan.zhihu.com/p/111674088 来自知乎一个朋友的问题,如何在Excel中批量插入文件的超链接,以便在Excel中对文档进行有序的目录管理? 这个问题的 ...
随机推荐
- [noi.ac省选模拟赛]第10场题解集合
题目 比赛界面. T1 不难想到,对于一个与\(k\)根棍子连接的轨道,我们可以将它拆分成\(k+1\)个点,表示这条轨道不同的\(k+1\)段. 那么,棍子就成为了点与点之间的边.可以发现,按照棍子 ...
- MySQL连接查询驱动表被驱动表以及性能优化
准备我们需要的表结构和数据 两张表 studnet(学生)表和score(成绩)表, 创建表的SQL语句如下 CREATE TABLE `student` ( `id` int(11) NOT NUL ...
- python批量发邮件
如果有一天,老板过来给你一个很大的邮箱列表,要你给每个人发邮件,你该如何去做,最简单的就是写一个 python 程序 # coding:utf-8import smtplibfrom email.mi ...
- phpmyadmin通过慢查询日志getshell连载(二)
这是phpmyadmin系列渗透思路的第二篇文章,前面一篇文章阐述了通过全局日志getshell,但是还有一个日志可以getshell,那就是本次实验的慢查询日志,操作类似,毕竟实战中多一条路就多一次 ...
- Quartz.Net系列(六):Quartz五大构件Trigger之TriggerBuilder解析
所有方法图: 1.Create.Build Create:创建一个TriggerBuilder Build:生成Trigger var trigger = TriggerBuilder.Create( ...
- 入门大数据---PySpark
一.前言 前面我们学习的是使用Scala和Java开发Spark.最近补充了下Python基础,那么就用Python开发下Spark.Python开发Spark简称PySpark. 二.环境准备 1. ...
- 深入解读Dictionary
Dictionary<TKey,TValue>是日常.net开发中最常用的数据类型之一,基本上遇到键值对类型的数据时第一反应就是使用这种散列表.散列表特别适合快速查找操作,查找的效率是常数 ...
- .net core docker容器编排部署(linux)
环境准备 需要一个linux操作系统:我这里用的是ubuntu 18.04,安装步骤就不说了,网上很多教程,当然也可以私信我. 既然需要用到docker,那么就安装个docker,apt instal ...
- 浅谈auth模块
目录 auth模块 什么是Auth模块 auth模块的常用方法 用户注册 扩展默认的auth_user表 auth模块 什么是Auth模块 auth模块是对注册登录认证注销修改密码等方法的一种封装 ...
- python之浅谈计算机基础
目录 一.计算机基础之编程 什么是编程语言 什么是编程 为什么要编程 二.计算机组成原理 1. 计算机五大组成 CPU 存储器 输入设备 输出设备 2.计算机五大部分补充 CPU相关 应用程序启动流程 ...