Excel DAX - 筛选函数



DAX拥有强大的筛选函数,这与Excel函数大不相同。查找函数的工作原理是使用表和关系,就像数据库一样。筛选函数允许您操作数据上下文以创建动态计算。

注意 - 返回表的DAX筛选函数不会将表添加到数据模型中。生成的表用作另一个DAX函数中的参数。也就是说,此类DAX函数用作其他DAX函数的嵌套函数。

在下一节中,您将学习可以使用哪些DAX筛选函数。有关这些函数的更多详细信息,请参阅本教程库中的教程 - DAX 函数。

DAX筛选函数

以下是DAX筛选函数 -

序号 DAX函数及其功能?
1

ADDMISSINGITEMS (<showAllColumn>, [<showAllColumn>] …, <table>, <groupingColumn>, [<groupingColumn>] …, [filterTable] …)

如果项目组合尚不存在,则将多个列的项目组合添加到表中。添加哪些项目组合的确定是基于引用包含所有列可能值的源列。

要确定要评估的不同列的项目组合 -

  • 对于同一表中的列,应用AutoExist。
  • 跨不同表应用CrossJoin。
2

ALL ( {<table> | <column>, [<column>], [<column>], … })

返回给定表中的所有行或表中指定列中的所有值,忽略可能已应用的任何筛选器。

此函数可用于清除筛选器并在表中的所有行上创建计算。

3

ALLEXCEPT (<table>, <column>, [<column>], …)

删除表中的所有上下文筛选器,但已应用于作为参数指定的列的筛选器除外。

与ALL相反,当您想要删除表中许多(但不是全部)列上的筛选器时,可以使用此函数。

4

ALLNOBLANKROW (<table>|<column>)

从关系的父表返回 -

  • 所有行,但空行除外,或
  • 列的所有不同值,但空行除外

该函数会忽略可能存在的任何上下文筛选器。

5

ALLSELECTED ( [<tableName>|<columnName>] )

从当前查询中的列和行中删除上下文筛选器,同时保留所有其他上下文筛选器或显式筛选器。

6

CALCULATE (<expression>, [<filter1>, <filter2> …)]

在由指定筛选器修改的上下文中评估表达式。

返回表达式的结果值。

7

CALCULATETABLE (<expression>, <filter1>, <filter2>, …)

在由给定筛选器修改的上下文中评估表表达式。

返回一个值表。

8

CROSSFILTER (<columnName1>, <columnName2>, <direction>)

指定用于存在于两列之间的关系的计算中的交叉筛选方向。不返回值。

9

DISTINCT (<column>)

返回一个包含指定列中不同值的单列表。换句话说,重复值将被删除,并且只返回唯一值。

生成的列用作另一个DAX函数中的参数。

10

EARLIER (<column>, <number>)

返回指定列在提到的列(由数字指定)的外部计算过程中的当前值。

11

EARLIEST (<column>)

返回指定列在指定列的外部计算过程中的当前值。

12

FILTER (<table>, <filter>)

返回一个仅包含已筛选行的表。

FILTER仅用作嵌入在需要表作为参数的其他函数中的函数。

13

FILTERS (<columnName>)

返回直接应用于columnName作为筛选器的值。

FILTERS仅用作嵌入在需要表作为参数的其他函数中的函数。

14

HASONEFILTER (<columnName>)

当columnName上直接筛选的值数量为一时返回TRUE。否则,返回FALSE。

15

HASONEVALUE (<columnName>)

当columnName的上下文仅被筛选到一个唯一值时返回TRUE。否则,返回FALSE。

16

ISCROSSFILTERED (<columnName>)

当columnName或同一表或相关表中的另一列被筛选时返回TRUE。

17

ISFILTERED (<columnName>)

当columnName被直接筛选时返回TRUE。如果列上没有筛选器,或者由于同一表中或相关表中的不同列被筛选而导致筛选,则该函数返回FALSE。

18

KEEPFILTERS (<expression>)

修改在评估CALCULATE或CALCULATETABLE函数时应用筛选器的方式。

19

RELATED (<column>)

返回来自另一个表的相关值。

20

RELATEDTABLE (<tableName>)

在由给定筛选器修改的上下文中评估表表达式。

21

SUBSTITUTEWITHINDEX (<table>, <indexColumnName>, <indexColumnTable>, <orderBy_expression>, [<order>])

返回一个表示作为参数提供的两个表的左半连接的表。

半连接是通过使用公共列(由公共列名和公共数据类型确定)执行的。

正在连接的列将被替换为返回表中的单个列,该列的类型为整数,并包含索引。

索引是给定指定排序顺序的右连接表的引用。

22

USERELATIONSHIP ( <columnName1>,<columnName2>)

指定在特定计算中要使用的关系,作为columnName1和columnName2之间存在的关系。

23

VALUES (<TableNameOrColumnName>)

返回一个包含指定表或列中不同值的单列表。

换句话说,重复值将被删除,并且只返回唯一值。

广告
© . All rights reserved.