学习CALCULATE函数(六)丨帕累托之累计求和
(写在前面的话:非常感谢@韭菜大神和@冬神的指点,万分感谢。)
哎,说归说,还是需要继续学习CALCULATE函数,也是蛮无奈的。最近白茶在研究帕累托分析法,本期分享一下帕累托ABC分析法的基础——累计求和。
这里简要的说一下什么叫帕累托分析法:意大利经济学家,帕累托研究发现,美国80%的经济被20%的人所掌握着,而另外20%的经济却被80%的人所掌握。而且很多事情都符合这一“二八定律”,于是就诞生了帕累托的分析观点,将事物发生的频率划分为A、B、C三类,通过集中精力解决A类问题,可以缓解主要矛盾,同时,不忘B类、C类的次要影响,说白了就是将事物划分为主次层次。
其中,频率为0%~80%的,为A类因素,是主要影响因素;
频率为80%~90%的,为B类因素,是次要影响因素;
频率为90%~100%的,为C类因素,是一般影响因素。
这就是著名的帕累托ABC分析法。
小伙伴们,明白了没?我们不光要做帕累托分析图,还要知道原理。
以下是白茶做的示例文件:
这是头几天白茶做的,修改一下,将其导入PowerBI中。
之前呢,白茶在网上学了几个累计求和的公式,白茶分享一下。
第一种是利用EARFIER函数,如下:
这种方法,有一个很明显不对劲的地方,就是EARFIER这里,不能插入表和列,白茶当时不明白为什么,@韭菜大神指点我,这个函数没理解到位,就是EARFIER必须存在于行上下文中,且有两个行上下文,说得通俗一点就是要有原生表和派生表。这个函数有点抽象,白茶目前还理解的不是很到位。
第二种是利用VAR变量,如下:
这是第二种方式。@韭菜大神指点,有两处很明显的错误。一是公式的本意是按照销售数量不同值进行累计,可是矩阵中是按照日期;二是使用了ALL,可以看出最小的销售量是“5”,其他每个值都比5大,那么每一行都会进行汇总,结果当然是错误的。(解决办法是添加索引列,再进行筛选)
最后,感谢@韭菜大神和@冬神,两位大神的意见是一致的,既然判定销售数量有问题,那么判定时间就好了啊。一语点醒梦中人啊,而且这种方法可以避免一些上面两个代码有可能存在的错误,比如说当不同日期的销售数量一致的时候,那么上面的计算公式肯定会存在点问题,解决的办法是添加参数索引。但是按照这种日期筛选法,可以极大程度的避免这个。
代码如下:
累计求和 = CALCULATE (SUM ('示例'[销售数量] ),FILTER ( ALL ('示例'),'示例'[时间].[Date] <= MAX ('示例'[时间].[Date] ) ))
其结果如图:
这次在矩阵中观察毫无问题!
看似简单的问题,白茶却浪费了很多时间,基础不牢,地动山摇啊。
小伙伴们❤GET了么?
白茶会不定期的分享一些函数卡片
(文件在知识星球[PowerBI丨需求圈])
这里是白茶,一个PowerBI的初学者。
下面这个知识星球是针对有实际需求的小伙伴,有需要的请加入下面的知识星球。
数据分析进阶之路,带你深入了解可视化技巧。