函数周期表丨筛选丨表丨FILTER_机器学习

FILTER函数

FILTER函数属于“筛选”类函数,隶属于“”函数,其使用频率可以算得上最高的几个函数之一。

用途:用来筛选表或者作为计算的筛选条件。

语法

DAX=
FILTER(<表>,<条件>)

参数

表:可以是固定的表,也可以是表的表达式。

条件:过滤条件。

返回结果

由符合筛选条件的行组成的表。

例子

模拟数据:

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

例子1:

FILTER例子1 =
FILTER ( '例子', MONTH ( '例子'[日期] ) < 2 )

结果:

函数周期表丨筛选丨表丨FILTER_类函数_03

筛选出2月份之前的所有数据。

例子2:

FILTER例子2 =
FILTER ( '例子', MONTH ( '例子'[日期] ) < 2 && '例子'[类别] = "白" )

结果:

函数周期表丨筛选丨表丨FILTER_数据分析_04

筛选出2月份之前,且颜色为“白”的所有数据。

其效果等同于以下两组代码:

FILTER和AND =
FILTER ( '例子', AND ( MONTH ( '例子'[日期] ) < 2, '例子'[类别] = "白" ) )

结果:

函数周期表丨筛选丨表丨FILTER_数据_05

代码:

双层FILTER =
FILTER ( FILTER ( '例子', MONTH ( '例子'[日期] ) < 2 ), '例子'[类别] = "白" )

结果:

函数周期表丨筛选丨表丨FILTER_数据_06

从结果上看,三者的结果是一模一样的,但是还是有点区别。

1、从性能上看,双层FILTER的性能优于前两者;

2、从执行顺序上看,多层FILTER时,通常是从内往外计算。

例子3:

FILTER例子3 =
CALCULATE (
    SUM ( '例子'[数据] ),
    FILTER ( FILTER ( '例子', MONTH ( '例子'[日期] ) < 2 ), '例子'[类别] = "白" )
)

结果:

函数周期表丨筛选丨表丨FILTER_机器学习_07

与CALCULATE函数搭配,计算2月份之前,且颜色为白色的数据值。

当然,还有很多别的用法,比如说累计求和等等,这里就不一一举例了。


这里是白茶,一个PowerBI的初学者。

函数周期表丨筛选丨表丨FILTER_机器学习_08