打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Power BI帕累托分析:数值相等时累计占比计算“错误”问题

最近有几个星友提到,做帕累托分析时,当有数据相等时,累计占比计算不正确,不知道是怎么回事,PowerBI为什么会出现这个“错误”呢?你是不是也碰到过这个问题?

这篇文章就来谈谈这是怎么回事,以及如何解决这个问题。

以下面这个简单的数据为例,

可以看到,在这个数据中,有几种产品的销售额是相等的。

进行帕累托分析时,正常写的度量值是这样的:


累计收入 =
VAR sales=[收入]
RETURN
CALCULATE(
    [收入],
    FILTER(ALL('产品表'),'产品表'[销售额]>=sales)
)
累计占比 =
DIVIDE(
    [累计收入],
    CALCULATE([收入],ALL('产品表'))
)
ABC 分类 =
SWITCH(TRUE(),
[累计占比]<=0.7,"A",
[累计占比]<=0.9,"B",
"C"
)

用矩阵展示结果如下:

从上图可以看出,第二行和第三行的数据相同,但累计收入和累计占比都是一次性把相等的数据都加上了,这样第二行的结果就不太符合常识,下面的数据行中,相等数据也同样是类似的问题。

用图表来展示这个帕累托图,效果是这样的:

并不是一条平滑上升的帕累托曲线,是不是看起来非常奇怪!

为什么会有这个问题呢?其实答案就在上面我们写的度量值的逻辑里面。

可以再去看一下累计收入这个度量值,它的计算逻辑是:大于等于当前产品收入的数据,汇总到一起,那么无论是上面的第二行的A7、还是第三行的A11,都是把收入大于等于70的产品的收入汇总到一起,度量值的逻辑决定了最终的结果。

所以,这个度量值的计算并没有错误,并且在计算所属的类别时,相同收入的产品属于相同的类别,这个也没有问题。

如果你觉得这种累计的结果不能接受,那么,对于数据相等的类别,需要提供额外的计算逻辑来区分。

比如,当产品收入相等时,按照产品的索引顺序累加,根据这个逻辑来优化度量值。

这个度量值在筛选应汇总哪些产品的收入时,分为两个计算逻辑之和:

  • 大于当前产品销售额的产品

  • 等于当前产品的销售额,并且小于等于当前产品序号的产品

这样就不存在累计收入相同的问题了,然后对应写出累计占比和ABC分类,结果如下:

是不是看起来舒服多了。

这样就解决了数值相等时,累计数据不正常的问题。

但这样仍存在一个小问题,比如上面的A8和A9, 销售额都是40,但却被分为了两个不同的类别,A8属于A类产品,而A9属于B类产品。

一个解决的办法就是,累计收入和累计占比按照优化后的度量值的逻辑,而分类依然按照原来的累计占比来划分。

不过细节的处理,具体应该如何做,取决于自己的业务逻辑和划分标准,先想清楚你需要的业务逻辑,然后顺着这个逻辑,用DAX表达出来就可以了。

很多人其实连自己的业务需求都还没有想清楚,对于度量值也是简单地套用,并没有真正理解它的计算逻辑,一旦结果不符合自己的期望,就简单的认为是度量值计算错误或者模型有问题,这结论显然是过于草率了。

所以,在利用PowerBI分析问题时,为了使最终的分析结果符合你的期望,请确保:

1、你已经想清楚了业务需求逻辑;
2、你已经理解了度量值计算逻辑;
3、1和2的逻辑是一致的。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
VB编程知识点讲解->不通数据类型之间相互转换!
使用SUMIF函数对错误数据屏蔽求和
如何忽略错误值求和
职场必会的3个SUM函数、9个实例公式!
Vlookup函数实例(全)
学会这个逻辑关系公式,让你的Excel更专业!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服