IsFiltered和IsCrossFiltered的用法和差异

2020-03-24 15:38:24 浏览数 (1)

4. Isfiltered

A. 语法

代码语言:javascript复制
Isfiltered ( <TableNameOrColumnName> )

参数

描述

TableNameOrColumnName

需要进行判断的表或者列,但是目前实际只能是针对列。

B. 返回

标量——逻辑值(True or False)

C. 注意事项

虽然dax.guide函数语法描述上是可以用表作为参数,但是实际情况则是必须使用列名而不能使用表名。在dax.guide上还有针对表的案例,但是实际操作中却实现不了。

D. 作用

判断列是否被筛选过,返回一个逻辑判断值。

E. 案例

代码语言:javascript复制
IsFiltered判断:=If(IsFiltered('表2'[姓名]),1,2)

此时我们可以看下,如果加入HasoneFilter的差异。在选择多个姓名的时候,HasoneFilter则认定是false,而isfiltered认定为true。

5. Iscrossfiltered

A. 语法

代码语言:javascript复制
IsCrossFiltered(<columnName>)

参数

描述

TableNameOrColumnName

需要进行判断的表或列

B. 返回

标量——逻辑值(Ture or False)

C. 注意事项

关联表的筛选也会导致被动筛选

D. 作用

判断是否被本表以及外部表进行筛选。

E. 案例

我们可以看到,通过另外一个表的筛选,iscrossfiltered判断的结果是被筛选,而isfiltered判断的结果是未被筛选。 如果是本表的列那更不用说了,和isfiltered判断一致。

请点个赞,转发分享给更多的人。

0 人点赞