FILTER函数
FILTER函数属于“筛选”类函数,隶属于“表”函数,其使用频率可以算得上最高的几个函数之一。
用途:用来筛选表或者作为计算的筛选条件。
语法
DAX=
FILTER(<表>,<条件>)
参数
表:可以是固定的表,也可以是表的表达式。
条件:过滤条件。
返回结果
由符合筛选条件的行组成的表。
例子
模拟数据:
例子1:
FILTER例子1 =
FILTER ( '例子', MONTH ( '例子'[日期] ) < 2 )
结果:
筛选出2月份之前的所有数据。
例子2:
FILTER例子2 =
FILTER ( '例子', MONTH ( '例子'[日期] ) < 2 && '例子'[类别] = "白" )
结果:
筛选出2月份之前,且颜色为“白”的所有数据。
其效果等同于以下两组代码:
FILTER和AND =
FILTER ( '例子', AND ( MONTH ( '例子'[日期] ) < 2, '例子'[类别] = "白" ) )
结果:
代码:
双层FILTER =
FILTER ( FILTER ( '例子', MONTH ( '例子'[日期] ) < 2 ), '例子'[类别] = "白" )
结果:
从结果上看,三者的结果是一模一样的,但是还是有点区别。
1、从性能上看,双层FILTER的性能优于前两者;
2、从执行顺序上看,多层FILTER时,通常是从内往外计算。
例子3:
FILTER例子3 =
CALCULATE (
SUM ( '例子'[数据] ),
FILTER ( FILTER ( '例子', MONTH ( '例子'[日期] ) < 2 ), '例子'[类别] = "白" )
)
结果:
与CALCULATE函数搭配,计算2月份之前,且颜色为白色的数据值。
当然,还有很多别的用法,比如说累计求和等等,这里就不一一举例了。
这里是白茶,一个PowerBI的初学者。