欢迎光临散文网 会员登陆 & 注册

Power BI之DAX神功:答网友问13 Values与Filters的区别

2021-11-19 15:57 作者:孙兴华zz  | 我要投稿

友情提示:网友咨询的是Filters函数,不是Filter函数

一、网友提问

二、回答网友问题

《DAX神功》第1卷第9回 基础表函数之VALUES与DISTINCT函数和空行

你要先理解Values是做什么的,才能谈Values与Filters的区别

你给我发来的DAX原理之父夕某团队的文章我看了,我这人有个嗜好,我从不证明谁是错的,我只展示我自己的证明结果。我坚信,知识无论对错,只要不违法,不违反公序良俗,都是可以放出来互通有无的,没有必要去贬低别人抬高自己。

【1】Filters到底是什么函数?我来证明:

假设两个班级都有人叫张三,表格如下:

表名:Sheet1


1. Filters参数只能是列

【新建表】新建表=Filters('Sheet1')  //报错,参数只能是列

2.Filters我认为是表函数

返回:由单列组成的表,表中包含不重复值

【新建表】新建表 = FILTERS('Sheet1'[班级])

【新建表】Values新建表 = VALUES('Sheet1'[班级])

所表面上看它与Values是一样的,其实不然。

【2】Values与Filters的区别

【度量值】FILTERS = COUNTROWS ( FILTERS ( 'Sheet1'[班级] ) )

【度量值】VALUES = COUNTROWS ( VALUES ( 'Sheet1'[班级] ) )

大家“恍然大误”,对误会的误!你是不是觉得与ALL(列)很像

【度量值】ALL = COUNTROWS(all(Sheet1[班级]))

看上去还真一样,其实不然,长像相同的人太多了。

2021年9月10日教师节我去一个饭店吃饭,好多人过来跟我打招呼录视频,我也蒙圈了,难到都看过我的视频?饭店中就一个小伙子没动,我去,原来是他!

我赶紧过去打招呼,我说:你你你怎么在这里呀,他说他在这吃点饭,还叫我俞老师,我也不姓俞呀,我也没在意这些。我就问他,你什么时候回去呀?他说他一般过年的时候回家一趟,我说我希望呀成立一个足球学校,年薪2000万(越南盾)你要不要来?他说啥足球学校呀?我一听口音,我赶紧道歉,认错认错了,我以为你是C罗呢,太像了太像了。

事后我才知道,他们把我认成了什么俞老师,我把那位帅哥认成了C罗。

例如,我加了一个切片器:

当我利用切片器筛选【二班】时,区别出来了吧?Filters变成了1,ALL仍然是2

ALL(列):指定表的指定列,内部与外部筛选都不生效。详见:《DAX神功》第1卷第8回

Values(列):返回当前上下文可见的值

如下图所示:Values(Sheet1[班级])  得到一班和二班,套上CountRows后得到的结果是2。它可以被筛选出每个姓名有几个班级。

当我启动切片器筛选时,他返回的是二班的姓名,每个姓名占了几个班级

这就叫返回当前上下文可见的值

本案例计算过程:

Filters(列):返回当前上下文筛选的值

Filters(Sheet1[班级])  返回一班和二班两个班级,套上CountRows后,返回2,如下图所示,返回当前上下文筛选的值是2

当我使用切片器筛选后,他会返回二班表中,filters后的筛选值是1

本案例计算过程:

《孙兴华讲PowerBI火力全开》PowerBI必学课程

https://www.bilibili.com/video/BV1qa4y1H7wp

《DAX神功》文字版合集:

https://www.bilibili.com/read/readlist/rl442274

《DAX神功》视频版合集:

https://www.bilibili.com/video/BV1YE411E7p3

PowerBI(DAX函数)、PowerQuery(M函数)、Python办公自动化、Python爬虫、Python数据分析、ExcelVBA、WordVBA、AccessVBA、MySQL等等

https://www.bilibili.com/read/cv10222110


Power BI之DAX神功:答网友问13 Values与Filters的区别的评论 (共 条)

分享到微博请遵守国家法律