暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

PowerBi中的Dax函数-ISFILTERED

BISeven 2021-04-08
1383

    上篇文章介绍了DAX函数-ISCROSSFILTERED , 其作用是判断参数columnName是否受到交叉筛选,其满足以下三个条件之一时,结果为True:

  1. 当参数ColumnName受到直接筛选时

  2. 当与ColumnName处于同一张表中的其他字段被筛选时

  3. 当参数所在的表的拓展表中的字段被筛选时

这篇文章研究一下函数-ISFILTERED及与ISCROSSFILTERED的区别

语法:

ISFILTERED(columnName) 其作用是判断参数是否受到直接筛选,为了展示与函数ISCROSSFILTERD 的区别,本篇文章也从以下三点来进行研究


  1. 当参数ColumnName受到直接筛选时

  2. 当与ColumnName处于同一张表中的其他字段被筛选时

  3. 当参数所在的表的拓展表中的字段被筛选时


一 当参数ColumnName受到直接筛选时

使用的数据如下:



使用函数ISFILTERED判断S_index是否被直接筛选,S_index生成切片器

 

Dax函数:
 s_index_isfiltered = ISFILTERED('成绩表'[S_index])

当S_index未被筛选时,度量值s_index_isfiltered 为False

当S_index被筛选时,度量值s_index_isfiltered True


结论为当函数ISFILTERD的参数ColumnName被直接筛选时,其结果为True

二 当与ColumnName处于同一张表中的其他字段被筛选时

用成绩表中C_index 生成切片器,当C_index 被筛选时,度量值s_index_isfiltered 依然为False

结论当参数ColumnName所在表中的其他字段被筛选时,其结果依然为False

三 当参数所在的表的拓展表中的字段被筛选时

数据更改一下:

科目表是成绩表的拓展表,依然是判断成绩表中S_index是否被直接筛选

Dax函数:s_index_isfiltered = ISFILTERED('成绩表'[S_index])

利用科目表中的任意一字段作为切片器

以看到,当拓展表中的字段被筛选时,度量值s_index_isfiltered结果依然为False


综上所述

1. 函数ISFILTERD用来判断参数columnName是否被直接筛选,只有在直接筛选的情况下其结果才为True,这是与ISCROSSFILTERED的区别所在。

2. 当ISFILTERED(columnName)为True时,ISCROSSFILTERD(columnName)一定为True;

3. 当ISCROSSFILTERED(columName)为True时,ISFILTERED(columnName)不一定为True

参考:

彻底搞懂DAX函数-ISCROSSFILTERED

ISFILTERED function (DAX) - DAXdocs.microsoft.com


水平有限,若有错误敬请指正,欢迎随时交流

关注公众号:驿路向北

文章转载自BISeven,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论