学习 CALCULATE 函数(六)丨帕累托之累计求和

file
(写在前面的话:非常感谢@韭菜大神和@冬神的指点,万分感谢。)

哎,说归说,还是需要继续学习CALCULATE函数,也是蛮无奈的。最近白茶在研究帕累托分析法,本期分享一下帕累托ABC分析法的基础——累计求和。
file

这里简要的说一下什么叫帕累托分析法:意大利经济学家,帕累托研究发现,美国80%的经济被20%的人所掌握着,而另外20%的经济却被80%的人所掌握。而且很多事情都符合这一“二八定律”,于是就诞生了帕累托的分析观点,将事物发生的频率划分为A、B、C三类,通过集中精力解决A类问题,可以缓解主要矛盾,同时,不忘B类、C类的次要影响,说白了就是将事物划分为主次层次。

其中,频率为0%~80%的,为A类因素,是主要影响因素;

频率为80%~90%的,为B类因素,是次要影响因素;

频率为90%~100%的,为C类因素,是一般影响因素。

这就是著名的帕累托ABC分析法。

小伙伴们,明白了没?我们不光要做帕累托分析图,还要知道原理。
file

以下是白茶做的示例文件:
file

这是头几天白茶做的,修改一下,将其导入PowerBI中。
file

之前呢,白茶在网上学了几个累计求和的公式,白茶分享一下。

第一种是利用EARFIER函数,如下:
file

这种方法,有一个很明显不对劲的地方,就是EARFIER这里,不能插入表和列,白茶当时不明白为什么,@韭菜大神指点我,这个函数没理解到位,就是EARFIER必须存在于行上下文中,且有两个行上下文,说得通俗一点就是要有原生表和派生表。这个函数有点抽象,白茶目前还理解的不是很到位。
file

第二种是利用VAR变量,如下:
file

这是第二种方式。@韭菜大神指点,有两处很明显的错误。一是公式的本意是按照销售数量不同值进行累计,可是矩阵中是按照日期;二是使用了ALL,可以看出最小的销售量是“5”,其他每个值都比5大,那么每一行都会进行汇总,结果当然是错误的。(解决办法是添加索引列,再进行筛选)
file

最后,感谢@韭菜大神和@冬神,两位大神的意见是一致的,既然判定销售数量有问题,那么判定时间就好了啊。一语点醒梦中人啊,而且这种方法可以避免一些上面两个代码有可能存在的错误,比如说当不同日期的销售数量一致的时候,那么上面的计算公式肯定会存在点问题,解决的办法是添加参数索引。但是按照这种日期筛选法,可以极大程度的避免这个。

代码如下:

累计求和 =
CALCULATE (
    SUM ( '示例'[销售数量] ),
    FILTER ( ALL ( '示例' ), '示例'[时间].[Date] <= MAX ( '示例'[时间].[Date] ) )
)

其结果如图:
file

这次在矩阵中观察毫无问题!

看似简单的问题,白茶却浪费了很多时间,基础不牢,地动山摇啊。

小伙伴们❤GET了么?

白茶会不定期的分享一些函数卡片

(文件在知识星球[PowerBI丨需求圈])

这里是白茶,一个PowerBI的初学者。

下面这个知识星球是针对有实际需求的小伙伴,有需要的请加入下面的知识星球。

请在PC端查看,有部分图片无法在移动端显示。
PowerBI丨白茶