TOP

DAX-第3课.数据选择函数FILTER

描述

在本文中,我们将了解另一个重要函数,它称为 FILTER,与 CALCULATE 函数结合使用。该函数的作用与我们尝试按某一列中的值过滤表中的数据时所做的相同。也就是说,换句话说,该函数减小了表的大小,而 CALCULATE 函数将使用该表来工作。

函数 FILTER() 的语法

=FILTER(< 桌子 >、< 筛选 >)

< 桌子 >

我们要过滤的表。此外,还可以有一个返回表作为结果的表达式:

  1. '表名'
  2. ALL( '表名' ) 或 ALL( '表名' [ 栏目名称 ])
  3. FILTER( '表名' , '表名' [ 栏目名称 ] =“ 绿色的 ”)
  4. VALUES( '表名' [ 栏目名称 ])

< 筛选 >

对表的每一行执行的比较表达式。以下是选择值的条件:

  1. [ 栏目名称 ] = 汽车
  2. [ 栏目名称 ] >= 6

让我们看看它在实践中是什么样子。假设我们有这样一个表,它的名字叫 Demo :

我们需要统计某个产品的记录数 Bikes (自行车)并在汇总表中显示结果。为此,我们将写下以下公式:

=CALCULATE(COUNTROWS(Demo); FILTER(Demo; Demo[Product]="Bikes"))

结果,我们将在 Count_All_Product 字段中得到以下值:

FILTER 函数做了什么?它减小了表的大小,就像我们在 Excel 中通过在列中设置过滤器所做的那样 Product 并仅过滤具有值的记录 Bikes :

然后她计算了缩减后的表中所有行的数量。我们看到其他行的 Count_All_Product 字段中没有条目,因为新表中没有溜冰鞋 (Skates) 和滑雪板 (Snow Board)