ISCROSSFILTERED函数与ISFILTERED函数
这两个函数,属于“筛选判断”类函数,隶属于值函数。
IS——是的意思;
CROSS——交叉的意思;
FILTERED——筛选的意思;
因此,
ISCROSSFILTERED函数代表判断是否受到交叉筛选影响;
ISFILTERED函数代表判断是否受到直接筛选影响。
用途:写一些高级DAX的时候,可以用来优化代码组合。
语法
语法1:
代码语言:txt复制DAX=
ISCROSSFILTERED(<列>)
语法2:
代码语言:txt复制DAX=
ISFILTERED(<列>)
参数
列:不能是表达式,只能是现有列。
返回结果
TRUE或FALSE
例子
模拟数据:
这是白茶随机模拟的一组数据。
代码1:
代码语言:txt复制ISCROSSFILTERED =
ISCROSSFILTERED ( '例子'[类别] )
代码2:
代码语言:txt复制ISFILTERED =
ISFILTERED ( '例子'[类别] )
将这两组代码分别放入到两组上下文中如下:
可以看得出来,在参数类别上下文中,两组代码返回的结果都为TRUE。而在组别上下文中,CROSS结果为TRUE,FILTERED结果为FALSE。
因为ISCROSSFILTERED函数受到交叉筛选影响,所以无论是哪种上下文,其结果都是TRUE;
而在组别上下文中,直接筛选因素类别没有起到筛选作用,因此ISFILTERED函数返回结果均为FALSE。
点击切片器,我们继续观察结果:
当使用类别作为筛选时,两个表中的CROSS结果依然为TRUE;
而组别上下文中,此时的ISFILTERED结果也为TRUE,因为这个时候直接筛选类别处于生效状态,无论是多选还是单选;
当类别取消选择时,ISFILTERED在组别上下文中的结果统一返回FALSE。
小伙伴们❤GET了么?
白茶会不定期的分享一些函数卡片
(文件在知识星球PowerBI丨需求圈)
这里是白茶,一个PowerBI的初学者。