DAX:Filter函数会受到双向过滤的影响
今天遇到一个问题,下面两个DAX的结果有很大的差异:
CSAT1 = CALCULATE([CPE CSAT],'dimcommonfilter'[Offboarding] = "No") CSAT2 = CALCULATE([CPE CSAT ],FILTER('dimcommonfilter','dimcommonfilter'[ffboarding] = "No"))
经过排查,发现这是隐藏非常深的bug:FILTER过滤函数生成的结果,会受到双向过滤关系的影响。
如果dimcommonfilter存在多个双向过滤关系,这些过滤关系会对FILTER的结果产生影响,就是CSAT2会受到双向过滤关系的影响,但是CSAT1则不会,CSAT1会受到当前过滤器上下文的影响。
除此之外,CSAT1会覆盖 'dimcommonfilter'[Offboarding]的过滤条件,报表页面上设置的 'dimcommonfilter'[Offboarding]过滤器,不会影响CSAT1的值。
但是FILTER会受到'dimcommonfilter'[Offboarding]的上下文过滤器的影响。
作者:悦光阴
本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。

浙公网安备 33010602011771号