没有错,这的确是 Power BI 中的灵异事件。
作为鉴别是否真正精通 Power BI 细节的高手面试题,该题可作为附加题存在。
而且这将和每一个 Power BI 用户有关,我确定你迟早会遇到。
灵异事件一:为什么不一样
我们用两种方式来显示 ABC 分析,得到图如下:
很明显,蓝色线 ABC.KPI.Pro 的计算几乎是对的,与橙色线是重合的,但在几个点却不一样,这是为什么呢?
给出其 DAX 实现如下:
代码语言:javascript复制KPI = SUM( '订单'[LineSellout] )
//
ABC.KPI =
VAR vCurrentValue = [KPI]
VAR vItems =
FILTER(
ALLSELECTED( '产品'[产品子类别] ) , [KPI] >= vCurrentValue
)
RETURN CALCULATE( [KPI] , vItems ) / CALCULATE( [KPI] , ALLSELECTED( '产品'[产品子类别] ) )
//
ABC.KPI.Pro =
VAR vCurrentValue = SUM( '订单'[LineSellout] )
VAR vItems =
FILTER(
ALLSELECTED( '产品'[产品子类别] ) ,
SUMX( ALL( '订单' ) , IF( RELATED( '产品'[产品子类别] ) = EARLIER( [产品子类别] ) , [LineSellout] , BLANK() ) ) >= vCurrentValue
)
RETURN CALCULATE( SUM( '订单'[LineSellout] ) , vItems ) / CALCULATE( SUM( '订单'[LineSellout] ) , ALLSELECTED( '产品'[产品子类别] ) )
如果你已经用 DAX 建立过一些分析,例如 ABC 分析之类的,那么你就可以分析下这个问题。
如果说,这就结束了,那就错了。
灵异事件二:为什么对的又变诡异
如果说上述的 ABC.KPI
是对的,其显示结果如下:
没有错,这的确是对的,然后我们加入任何一个维度作为图例,然后幽灵出现了,如下:
在加入了对柱形图的拆分后,折线却变得不对了。
这是为什么呢?
与每个 Power BI 用户相关
经过非常仔细的检查和研究,这个问题是与所有 Power BI 用户相关的,你一定会遇到。
为了解决这个问题,我们做了很详细的实验,限于篇幅,就不在这里展开,我们提供这个文件出来给大家自己找原因。
如果你可以在没看到答案前找到原因,说明你排查 DAX 问题的功夫已经到位了。
你可以自行下载试一试找到问题所在
链接:https://pan.baidu.com/s/1XR3fGcXg71hspr1WsytMgw 提取码:vyhz
点击阅读原文收藏,我们会在原文中更新出整个问题的详细思考排查解决过程。
在订阅了BI佐罗讲授的《BI真经》之《BI进行时》课程区,除了可以下载本文案例,还可以观看视频讲解。