ALL函数
ALL函数隶属于“表函数”,被微软划分为“筛选”类函数之中。
其实白茶觉得部分函数微软划分的有点模糊,比如本期的ALL函数,虽然可以单独使用,但是其更主要的作用是作为中间函数使用。
主要用途:用来清除外部筛选器。
语法
DAX=
ALL( [<表> | <列>[, <列>[, <列>[,…]]]] )
参数
参数:可以是一个表;可以是表的一列或者多列。
返回结果
表或列。
例子
模拟数据:
这是白茶随机模拟的一份数据。
例子1:
ALL例子1 =
ALL ( '例子' )
结果:
单纯的ALL整个表,不与其他函数搭配使用,相当于整体的复制。
例子2:
ALL例子2 =
ALL ( '例子'[日期] )
结果:
单纯的ALL一个具体的列,不与其他函数搭配的情况下,类似于VALUES函数,可以去掉重复项目。
例子3:
ALL例子3 =
ALL ( '例子'[日期], '例子'[物品编码] )
结果:
ALL多个列的情况下,返回结果是源数据两列的组合,在这里看不明显,实际上当与其他函数搭配的时候,其作用类似于笛卡尔积的效果。
例子4:
ALL例子4 =
CALCULATE ( SUM ( '例子'[数量] ), ALL ( '例子'[日期] ) )
结果:
结果为忽略外部筛选条件,返回其所有日期的汇总结果。
例子5:
ALL例子5 =
CALCULATE ( SUM ( '例子'[数量] ), ALL ( '例子'[日期], '例子'[产地] ) )
结果:
当上下文情况变化时,需要变换ALL函数内部的维度,达到类似笛卡尔积的效果,从而得出汇总值。
ALL函数的使用方式还有很多,比如白茶之前写过的组内占比,各类排名等等。
白茶这里就不一一赘述了,有兴趣的小伙伴可以根据《2019年度索引》去进行查阅。