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

PowerBI-Dax-FILTERS

BISeven 2021-05-29
443

FILTERS,返回某一列被直接筛选的值,默认情况下是全选,其语法:


Filters(columnName)


直接看示例吧


假设有两张表,一张为学生表,另一张为成绩表,关系为1对多

 

 

建立两个度量值,其中一个是计算学生表中StuName被直接筛选的值,另一个度量值是计算成绩表Stu被直接筛选的值

filters.StuName = CONCATENATEX(
FILTERS('YiLuXiangBei Stu Student'[StuName]),
'YiLuXiangBei Stu Student'[StuName], ",")


 

filters.stu = CONCATENATEX(
FILTERS('YiLuXiangBei Stu Score'[Stu]),
'YiLuXiangBei Stu Score'[Stu], ",")


我们将学生表中的StuName用作切片器,选中某些值,我们看到的是度量值filter.StuName会随着我们的筛选而变化,但是filters.stu 则不会;说明StuName被直接筛选了,但是Stu并没有,所以filters.stu度量值不会改变(见下图)

 

我们再来看一个例子,加入一个新的度量值,用Values来看看Stu被筛选的情况

values.stu = CONCATENATEX(
values('YiLuXiangBei Stu Score'[Stu]),
'YiLuXiangBei Stu Score'[Stu], ",")


当学生表中的StuName被筛选时,实际上成绩表中的Stu也被筛选了,但是filters并不能返回被筛选的值,因为filters只检测某列是否被直接筛选,不能检测通过关系筛选的



最后,我们再重申一下,函数Filters只检测某列是否被直接筛选,并返回其被筛选后的值,不能检测通过关系筛选的

 

我是BISeven,欢迎与我讨论

 参考文章:

https://docs.microsoft.com/en-us/dax/filters-function-dax

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

评论