COUNTROWS()忽略切片器筛选:如何让度量值响应切片器过滤?
解决DAX度量值忽略切片器筛选的问题
你的度量值忽略切片器筛选的原因是:CALCULATE中直接使用'df'[column name] IN { "col1", "col2", "col3" }作为筛选参数时,会完全替换该列上的所有外部筛选(包括切片器的筛选),导致切片器失效。
以下两种方法可以解决这个问题:
方法一:使用KEEPFILTERS保留外部筛选
用KEEPFILTERS包裹你的筛选条件,让CALCULATE的筛选与切片器筛选取交集,而非替换:
measure = CALCULATE ( COUNTROWS( 'df' ), KEEPFILTERS( 'df'[column name] IN { "col1", "col2", "col3" } ) )
方法二:使用FILTER在现有筛选上下文上叠加条件
通过FILTER函数在切片器的筛选基础上,再过滤出符合指定列表的行:
measure = CALCULATE ( COUNTROWS( 'df' ), FILTER( 'df', 'df'[column name] IN { "col1", "col2", "col3" } ) )
两种方法都能让切片器的筛选作用生效,最终统计结果会同时满足切片器和你指定的列值条件。
内容的提问来源于stack exchange,提问作者symkly
相关产品推荐
相关产品推荐

