Power BI之DAX神功:答网友问15 Allexcept和ALL/VALUES的区别 删除与添加筛选器
一、网友提问
权威指南关于本节内容一上来就缺失公式,造成无法继续往下看
ALLEXCEPT和ALL+VALUES函数到底有什么区别?
二、我个人的想法
这是我见过最搞笑的问题,没有之一!
给大家举个简单的例子:
有如下图一张表,让你添加红色字体的这一列,你会不会?这个公式书中不提供应该没问题吧?

三、先回答关于公式缺失的问题

【度量值】姓名列是否筛选 = ISFILTERED(Sheet1[姓名])
《DAX神功》第2卷第20回 我们讲解了ISFILTERED函数
当ISFILTERED函数指定表或指定表中的指定列被筛选时,返回True
如下图所示,数学、语文、英语是科目字段,没有被行标题筛选,返回False
总计只受值的影响,我没现在也没有使用切片器,所以总计没有被筛选,返回False
但是,张三、李四、王五是姓名,他被行标题筛选了,返回True

现在,我们将分数考虑进来:
【度量值】总分 = sum(Sheet1[分数])
// 这是最基础的度量值,因为现在只有一张表,所以任何字段都可以筛选它。如果有多张表,一端可以筛选多端,多端可以筛选自己。(使用双向箭头添乱的人除外)
【度量值】all姓名列总分 = CALCULATE([总分],all(Sheet1[姓名]))
// 《DAX神功》第1卷第8回 ALL列:指定表指定列删除内部与外部筛选,但其它列可以筛选
【度量值】比较 = [总分]=[all姓名列]
// 这就是你说权威指定上缺失的公式。。。。这个公式写不写也不影响理解

这么做的目的:例如:张三、李四、王五分别占数学总分的百分比!
如上图所示,度量值【总分】就不用说了,本表任何字段都可以筛选。【all姓名列总分】你删除了姓名字段对其筛选,所以每个人都显示的是这门课程的总分数。但是你只是all姓名,不影响科目字段的筛选,所以科目字段可以筛选。--详见《DAX神功》第1卷第8回
Ps:如果ALL表,这张表所有字段都不能筛选
四、ALLEXCEPT和ALL+VALUES函数的区别
在刚才的表中,插入一行:孙兴华、化学、一班、520

我们想看到每个人每科成绩占自己总分的百分比(百分比我就不算了,除法你还不会吗?)
【度量值】
allexcept姓名列总分 = CALCULATE([总分],ALLEXCEPT('Sheet1',Sheet1[姓名]))
// Sheet1这张表中,除了姓名列以外都删除筛选,这是ALLEXCEPT的功能删除姓名列以外的筛选。
all+Values总分 = CALCULATE([总分],ALL(Sheet1),VALUES(Sheet1[姓名]))
// 《DAX神功》第1卷第21回 ALL是Calculate调节器,Values是筛选器,从左向右先执行调节器再执行筛选器,计值顺序:Sheet1表所有列删除筛选,Sheet1表姓名列添加筛选。
如下图所示,ALLEXCEPT和ALL+VALUES函数结果相同:

但是,当我在行标题上删除姓名,只留下科目时:

ALLEXCEPT和ALL+VALUES函数的区别 就出现了:

ALLEXCEPT删除筛选 与 ALL+VALUES添加筛选
如果您想听官腔,权威指南上的内容足够你消化。我不能照搬出版物的语言(微软官方帮助文档语法除外,语法不按微软要求的写就错了),我只能说我自己的理解:
ALLEXCEPT删除筛选:只保留姓名列的筛选,删除了其它列的筛选。现在姓名列不见了,你保留的那个姓名列还有屁用呀?例如你经营一家企业,是通过给某部门领导送礼来达到目的,现在这个部门的领导被抓起来了,你看到的就全部是职员了,甚至你会被连带调查,这就是自身没有合法经营能力使用保护伞搞歪门邪道的下场。
ALL+VALUES添加筛选:先通过ALL表筛选了Sheet1表中所有字段的筛选,再增加一个姓名列的筛选。例如你经营一家企业,本分诚信做生意,身正不怕影子斜,每次到某部门办事时,你管他谁当这个部门的领导,如果原领导被抓了,上方肯定会派新领导来接替原领导的工作。新领导已经存在,虽然行标题上没有姓名列,只能说原领导不再担任,新领导接替,你不认识新领导,但是他已经领导此部门工作,实现了筛选功能。

但是,没送礼的跟送礼的比,可能在某些方面,有油水的工程都给了送礼的,ALLEXCEPT执行速度也可能在某些方面会快于ALL+VALUES,但是ALL+VALUES是动态的相对更安全。
假设张三是收费讲PowerBI或PowerQuery的人,张三认为免费讲课的人会影响他的生意,于是张三通过关系停用免费讲课的人分享的课件和笔记链接,也许2021年张三没被抓,谁能保证他2022年就没事吗?我建议:别做违法的事情,好好做人,睡觉踏实。@哈罗雷球白夕尚*

《孙兴华讲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等等