函数周期表丨筛选丨表丨ALL_编程语言

ALL函数

ALL函数隶属于“表函数”,被微软划分为“筛选”类函数之中。

其实白茶觉得部分函数微软划分的有点模糊,比如本期的ALL函数,虽然可以单独使用,但是其更主要的作用是作为中间函数使用。

主要用途:用来清除外部筛选器。

语法

DAX=
ALL( [<表> | <列>[, <列>[, <列>[,…]]]] )

参数

参数:可以是一个表;可以是表的一列或者多列。

返回结果

表或列。

例子

模拟数据:

函数周期表丨筛选丨表丨ALL_数据分析_02

这是白茶随机模拟的一份数据。

例子1:

ALL例子1 =
ALL ( '例子' )

结果:

函数周期表丨筛选丨表丨ALL_数据分析_03

单纯的ALL整个表,不与其他函数搭配使用,相当于整体的复制。

例子2:

ALL例子2 =
ALL ( '例子'[日期] )

结果:

函数周期表丨筛选丨表丨ALL_返回结果_04

单纯的ALL一个具体的列,不与其他函数搭配的情况下,类似于VALUES函数,可以去掉重复项目。

例子3:

ALL例子3 =
ALL ( '例子'[日期], '例子'[物品编码] )

结果:

函数周期表丨筛选丨表丨ALL_数据分析_05

ALL多个列的情况下,返回结果是源数据两列的组合,在这里看不明显,实际上当与其他函数搭配的时候,其作用类似于笛卡尔积的效果。

例子4:

ALL例子4 =
CALCULATE ( SUM ( '例子'[数量] ), ALL ( '例子'[日期] ) )

结果:

函数周期表丨筛选丨表丨ALL_编程语言_06

结果为忽略外部筛选条件,返回其所有日期的汇总结果。

例子5:

ALL例子5 =
CALCULATE ( SUM ( '例子'[数量] ), ALL ( '例子'[日期], '例子'[产地] ) )

结果:

函数周期表丨筛选丨表丨ALL_数据_07

当上下文情况变化时,需要变换ALL函数内部的维度,达到类似笛卡尔积的效果,从而得出汇总值。

ALL函数的使用方式还有很多,比如白茶之前写过的组内占比,各类排名等等。

白茶这里就不一一赘述了,有兴趣的小伙伴可以根据《2019年度索引》去进行查阅。


函数周期表丨筛选丨表丨ALL_数据分析_08

函数周期表丨筛选丨表丨ALL_数据_09