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

PowerBI-Dax-All函数(三)

BISeven 2021-05-16
408

这里讲了all函数的返回值为一张表或者一列值,有时,All函数不会返回表,比如用于Calculate函数或者Calculatetable函数的调节器时,All函数不会返回表,仅仅是移除筛选器,来一起看一下下面的例子。


这里有两张表,分别为学生的科目表及成绩表,但是CourID=3的科目仅仅出现在了成绩表中。


比如我们现在想计算一下学生们的总成绩,在这里有2个DAX公式计算总成绩
公式一用all('YiLuXiangBei Course')作为筛选参数,公式二用表-YiLuXiangBei Course做为筛选参数,其计算结果是否一致?


公式一:

all_score = CALCULATE(
sum('YiLuXiangBei Score'[Score]),
all('YiLuXiangBei Course'))

公式二:

all_score = CALCULATE(
sum('YiLuXiangBei Score'[Score]),
                      'YiLuXiangBei Course')

根据结果,我们很容易得到,公式1中的All()函数如果返回的是表的话,其计算结果应该与公式2的结果一致,所以All函数在用作calculate的筛选参数时,并不会返回表,仅仅是去除筛选器。


接下来我们加入一个切片器,来自科目表中的CourID字段,测试一下公式1的计算结果是否会跟随筛选器进行变化?


根据上述两个简单的例子,我们现在可以得知,All函数有时不会返回表,仅仅是去除筛选器。

参考文章:

https://www.sqlbi.com/articles/managing-all-functions-in-dax-all-allselected-allnoblankrow-allexcept/



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

评论