第22天知识点:DEF_ADD函数
接上一回故事说道,年轻小伙解救了处在水深火热中的百姓,在百姓们的盛情邀请下,暂时留在了BI星球。
但过了一段时间发现,将百姓与老维家族完全隔绝开好像并不是长久之计,毕竟二者共处了几百年,关键是老维家族手里还掌握着星球的经济命脉,百姓们肯定无法与其直接切断所有联系。
该怎么办好呢?
对了,DEF家族还有两个功力略微逊色的法宝,DEF_ADD和DEF_SUB。
它俩和DEF的区别在哪里呢?
看过上一篇文章的小伙伴应该知道,DEF钟罩一旦开启,那对老维家族那是绝对隔绝的,不管老维下发什么指令,百姓们可以完全不接受。
那DEF_ADD呢?
ADD,增加的意思,开启DEF_ADD钟罩后呢,百姓们就可以在老维的指令上随意增加自己的指令,也就是接受老维家族的全部但也可以结合实际情况再添加自己的指令。
那DEF_SUB呢?
SUB,全称是SUBTRACTION,减去的意思,与DEF_ADD正好相对。开启DEF_SUB钟罩后呢,百姓们就可以在老维的指令上随意去掉自己觉得不满意的指令,也就是可以只接受老维家族的部分指令。
这样一来,百姓们在面对老维家族的各种指令时就可以灵活应对了。
有了DEF家族三大法宝后,百姓们可高兴坏了,觉得年轻小伙一定是上天派来庇佑他们的神,因此极力推崇他当BI星球的统领者,带着大家一起创造美好幸福的生活。
年轻小伙本就是仗剑走天涯,行侠仗义的江湖侠客,哪能在这里一直呆下去啊,再三推辞之后,连夜出发了,开启了下一段旅程。
接下来,小伙会遇到谁?又会发生什么样的故事呢?
敬请期待哦~
好了,今天的故事就先说到这里。
下面言归正传,通过一个案例了解一下DEF_ADD函数的具体用法。DEF_SUB的用法我们会放在下一篇介绍。
在此之前,先放上一张函数卡片供大家参考。
A公司有一张2023年四季度经营情况表,里面记录了每个产品每月的销售额及目标,涉及字段如下图所示:
数据分析员小张利用该表制作了一张2023年各月各大区的销售情况表,如下图所示:
业务部门需要在上表的基础上知道各省份的平均销售额,也就是想要达到下表这样的效果。
请问小张该怎么做呢?
可以看到小张需要增加的字段:
【各省份平均销售额】= 各大区下各月各省份总销售 / 去重后省份个数
那如何在保持现有维度不变的情况下,增加【省份】维度,并对其进行计算呢?
添加计算字段—输入公式:
DEF_ADD(SUM_AGG(销售额),[省份])
这是什么意思呢?
原本直接将销售额拖入指标栏得到的是各大区各月的销售额,对吧?
现在要计算出各省份的销售额,但是呢,又不能将【省份】直接拖入维度栏进行展示,所以这个时候呢,就可以通过DEF_ADD中的第二个参数来添加【省份】维度,这样计算得出的结果就是各大区中各月各省份的销售额了。
接着,我们只需要将计算得出的结果拖入指标栏,汇总方式选择平均就可以得到【各省份平均销售额】了。
是不是很神奇?
我们可以来验证一下结果的准确性。
首先,我们将【省份】拖入维度栏中,得到每个省份的销售额。
以2023-10-01东部大区为例,2023-10-01东部大区共有5个省份贡献销售额7565元。
那么,2023-10-01东部大区各省的平均销售额就是7565/5=1513元。
对比一下两种算法的结果,可以看到是一样的。
怎么样,DEF_ADD函数是不是更简单,关键是还不会改变原来表的维度。
当然,我们还可以更改我们的维度来实现结果的快速更新,比如业务部门现在需要各月各省的平均销售额,那么我们只需要在维度栏去掉【大区】只保留【日期】就可以了。
这也是为什么有了DEF函数之后,还会增加DEF_ADD函数的原因了。
因为如果使用DEF函数的话,想要从各大区下各月各省的平均销售额切换成每月各省平均销售额,就需要重新编辑修改原来的公式:
原公式:DEF(SUM_AGG(销售额),[日期,大区,省份])
修改为:DEF(SUM_AGG(销售额),[日期,省份])
那这肯定没有直接拖拽维度方便。
今天的学习内容就到这里,感兴趣的小伙伴可以自己动手试一试哦~ |