之前已经写过多篇关于双向筛选的文章,对于双向筛选的使用应该是谨慎的,双向筛选可能会给模型带来性能问题,也可能会带来筛选器传播上的歧义,所以在使用双向筛选器时应该考虑清楚它所带来的问题后,再确定是否使用。
当我们启用双向筛选后,意味着涉及到的度量值都会在双向筛选的模式下进行计算,而有些度量的计算并不需要双向筛选,这些不必要的性能损耗,我们可以采用CROSSFILTER为每个度量值进行特定的开启双向筛选,而不是为所有度量开启双向筛选。
例如,在这篇文章中的列子,我们想要查看不同产地的咖啡卖了多少个城市?
要想实现这个需求,那品类表必须能够通过销量表筛选城市表,但是销量表与城市表之间单向关系,销量表不能够筛选城市表,那除了销量表与城市表之间开启双向关系,我们还可以利用CROSSFILTER函数单独为该度量值开启双向筛选。

度量值如下:
cnt.provinceBymanufacture =CALCULATE(DISTINCTCOUNT ( '城市'[省份] ),CROSSFILTER('城市'[城市Key], '销量'[城市Key], Both)) // CROSSFILTER函数单独开启双向筛选
// 没有双向筛选时的结果Measure1 = DISTINCTCOUNT ( '城市'[省份] )
结果:

所以, CROSSFILTER可以不在开启双向筛选的情况下改变筛选器的传播方向,我们可以利用CROSSFILTER灵活的为每个度量值之开启双向筛选。
PowerBI-双向筛选虽好,但不要乱用, 也不能不用(一)
PowerBI-双向筛选虽好,但不要乱用, 也不能不用(二)
PowerBI-双向筛选虽好,但不要乱用, 也不能不用(三)
好了,我是BISeven,欢迎与我进行交流
文章转载自BISeven,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




