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

Power BI之DAX神功番外篇:第12回 为何Calculate筛选器是布尔类型时没有删除筛选

2022-04-12 11:25 作者:孙兴华zz  | 我要投稿

一、网友提问

表名:数据

放到矩阵中后的效果:

二、做一个你问题中的度量值

总销售2与总销售3是一样的呀,你印象中没错。

三、关于地点筛选问题

【1】先理解什么是MAX

数据:1,2,3,4 ; MAX(数据)=4

数据:A,B,C,D; MAX(数据)=D

证明给你看:

放到矩阵中的效果:

当我在矩阵中行标题放上【地点】时:

有争议吗?如果有争议,我们来证明一下聚合函数

工作原理:

那么度量值【MAX】返回下面的样子有问题吗?没问题!

在这道题中,您写MAX与MIN有区别吗?有区别,区别只在于总计是取最大值还是最小值。

A的最大值是A,B的最大值是B,C的最大值是C,D的最大值是D

ABCD的最大值是D , 如上图所示度量值【MAX】

【2】在矩阵中MAX第一行返回A,第二行返回B,第三行返回C,第四行返回D....

总销售2的工作原理:

红绿蓝黄四个框中的公式作用于矩阵中ABCD每一行,而不是作用于ABCD这个矩阵的所有行

友情提示:这里不牵扯惰性计算问题,变量x在calculate中并没有2次计算,这里的x是什么calculate中就筛选什么,不要与《DAX神功》答网友问03的问题混淆

【3】下面的这个度量值就删除了【地点】这个列的筛选功能,因为这个度量值作用于矩阵所有行

公式解析:因为 x=1个固定值

我们在《DAX神功》中提到,当Calculate筛选器是  列=固定值  时,这个列被删除了筛选,等价公式是filter+all形式。但是当 x=max('数据'[地点]) 时,你的值并不是一个呀,刚才我们已经证明了。现在度量值【总销售5】每一行都返回3,你说对不对?还有争议吗?

四、很多“高手”用计值流来解释

我并不反对你们这样解释,但是对于初学者这种解释并不友好,它适合专业的人聚到一起做进一步研究的。每个人的讲法不同,你们常说:独木不成林,但是如果这个林子里只有一种树(无论有多少棵),万一这种树得了只传染这个品种的病,这个森林可能就没了。如果这个林子里有很多不同品种的树,一个品种的树消失了,但是森林还在。

个人建议,尽量不对公众和初学者讲专业术语,如果你在开车时,前方突然出现“鬼探头”,我喊一句“刹车”你可能会避免一场事故,但是我喊"制动",可能会影响你的刹车时间。虽然"刹车"又叫"制动",但是我们大多数人不习惯使用名词。

《孙兴华讲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神功番外篇:第12回 为何Calculate筛选器是布尔类型时没有删除筛选的评论 (共 条)

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