Excel DAX - 过滤功能

DAX具有强大的过滤功能,与Excel功能完全不同.查找函数通过使用表和关系(如数据库)来工作.过滤功能允许您操纵数据上下文以创建动态计算.

注意 : 返回表的DAX过滤器函数不会将表添加到数据模型.结果表用作另一个DAX函数中的参数.也就是说,这些DAX函数用作其他DAX函数的嵌套函数.

在下一节中,您将了解可以使用的DAX过滤器函数.有关这些函数的更多详细信息,请参阅本教程库中的DAX函数教程.

DAX过滤函数

以下是DAX过滤器函数 :

Sr.No.DAX功能&函数的作用是什么?
1

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

将多列中的项组合添加到表中(如果它们尚不存在).确定要添加的项目组合是基于引用包含列的所有可能值的源列.

确定来自不同列的项目组合以评估 :

  • AutoExist适用于同一个表中的列.

  • CrossJoin应用于不同的表.

2

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

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

函数用于清除过滤器并在表中的所有行上创建计算.

3

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

删除al l表中的上下文过滤器,除了已应用于指定为参数的列的过滤器.

与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上直接过滤的值的数量为1时,返回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

相关(< column>)

退货来自另一个表的相关值.

20

RELATEDTABLE(< tableName>)

评估由给定过滤器修改的上下文中的表表达式.

21

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

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

半连接是使用公共列执行的,由常用列名和公共数据类型确定.

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

索引是对右连接表的引用,给定了指定的排序顺序.

22

USERELATIONSHIP(< columnName1>,< columnName2>)

指定在特定计算中使用的关系作为columnName1和columnName2之间存在一个.

23

VALUES(< TableNameOrColumnName>)

返回包含指定表或列中不同值的单列表.

换句话说,重复的值被删除,只有唯一值ar e返回.