HASONEFILTER函数与HASONEVALUE函数基本一模一样,唯一区别就在于,HASONEVALUE函数考虑的是交叉筛选,而HASONEFILTER函数只考虑其参数所指定列的直接筛选,除此之外,它们的行为全都一致。
语法和作用
语法:HASONEFILTER(columnName)
作用:只考虑参数所指定列的直接筛选,然后如果指定列的可见数据在直接筛选的情况下只有一个非重复值,则返回TRUE,否则返回FALSE。
注意:HASONEFILTER函数只考虑直接筛选,不考虑交叉筛选。如果对直接筛选和交叉筛选的概念不太清楚,那么可以参考这篇文章:理解交叉筛选和直接筛选。
辅助理解的例子
下面通过一个案例来对比HASONEVALUE和HASONEFILTER这两个函数的区别,如下图所示:
由于一个产品只属于一个产品类别,所以在考虑交叉筛选的情况下,筛选单个产品会导致产品类别的可见数据也为单个,所以右边卡片图中的HASONEVALUE函数返回了TRUE。
但是由于HASONEFILTER函数只考虑其参数所指定列的直接筛选,所以产品名称的筛选器将被忽略,而度量值中又没有添加产品类别的筛选器,所以对于HASONEFILTER函数而言,其参数所指定的产品类别字段的可见数据为所有数据,即产品类别的可见数据的非重复值不是只有一个值,所以HASONEFILTAER函数返回了FALSE。
总结
除了只考虑直接筛选这一点之外,HASONEFILTER函数的行为与HASONEVALUE函数完全一致,因此本篇文章就介绍到这里,剩下的内容可以参考这篇介绍HASONEVALUE函数的文章:理解HASONEVALUE函数