Excel占比计算SUM和ALL函数,轻松搞定!
作者:E精精
发布时间: 2022-12-18 01:14
阅读(690)
天天使用数据透视表,你有想过他是如何实现拖拉字段,配合简单的设置就可以满足我们各种需求吗?
下面是我们常见的,我们主要拖一个分类字段到行,再拉一个数值字段到值,
设置字段的【值显示方式】-【总计的百分比】,即可计算出每个类别的占比!
我们把不同的分类字段到行可以动态实现更新!我们是否可以自己手动写一个公式来实现这样的需求?
答案,就是在我们今天要讲的ALL函数上!新手学习要学会“不求甚解”,否则很容易一条路走到黑,十之八九,一无所获!
▎S01 – 添加到模型
前面如果没看到,这里可以学习一下,我们要把数据加载到PP的数据模型中,可以依次点击【Power Pivot】-【添加到数据模型】,出现弹窗,一般默认即可!
▎S02 – 书写度量值
数据加载到模型中,我们就可以在其中书写逻辑处理的度量值了,一般为了后续维护方便,建议修改一下表的名称,在数据的下面空白区域,可以书写我们的度量值,写度量值用的函数,我们也成为DAX函数公式,其中有很多跟工作表函数同名的函数,但是他们本质上跟工作表函数就是不同的,不要误会!
我们先写一个求和度量值,他用来对金额求和,现在没有筛选,所以集合就是全部金额的合计,当我们放在不同的筛选环境下会得到不同的结果,你可以理解为,对金额字段筛选后的子集进行求和!
▎S03- SUM函数的效果
在Excel中展示数据不同PBI中那么多选择和便捷,所以一般都考虑透视表中使用!
我们把类别拖到“行”,金额合计有“fx”标识的就是我们刚写的度量值,拖到“值”
我们传统做法如下,看看他们有什么区别? 数值一样,只是传统的方法字段名称有点不同,一般情况下,我们都要手动修改,度量值不同,你定义什么就显示什么,当然这是最基础的!
▍S04 – ALL不变的合计
我们说要做占比就要用每个类别的合计除以总计,传统函数SUM,直接求和就可以了,但是你发现了DAX中的SUM函数是根据不同上下文动态的,那么我们如果忽略这些筛选,得到一个不变化的合计呢?这个就要靠ALL函数了!
ALL函数可以取消自定字段或者表的筛选!参数提示TableNameOrColumnName 也就是可以是表名称或者字段名称,可以一个或者多个! 简单了解一下即可!
至于如何使用,一般要配合CALCULATE函数,这个函数…… 额!说她是DAX的灵魂不为过,不过我们这里使用比较简单,套用一下即可,你可以理解为“重算”
总计合计:=CALCULATE([金额合计],ALL(Data[类别]))
现在看他们好像完全一样,但是他们真的不一样,回到透视表,拉一下看看
看到“总计合计”,他的金额全部是50037.4,和总计是完全一样了,类别的筛选环境对他无效!这个是我们想要的!
▍S05 – 总计百分比
简单除一下即可,以后我们还会学会DAX中的安全除法,这里先不啰嗦,讲太多,掌握困难!
同时设置一下他的格式,跟工作表中差不多,在【主页】下面可以设置百分比格式,小数位数等!
回到透视表中,【总计百分比】拉到‘值’中即可看到效果!这样,我们自己就可以手动实现这些占比了!
如果我们要取消其他字段的筛选或者全部都是可以的,如果字段交到,还有反向操作的函数,DAX的函数非常多,可以实现各种分析需求,目前还在不断更新中,度量值的书写难度也降低了一些,不过还是要一些基础铺垫和思维转变!