Excel DAX – 筛选函数

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>], …)

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

与 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

RELATED (<column>)

从另一个表返回相关值。

20

RELATEDTABLE (<tableName>)

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

21

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

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

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

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

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

22

USERELATIONSHIP ( <columnName1>,<columnName2>)

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

23

VALUES (<TableNameOrColumnName>)

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

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

觉得文章有用?

点个广告表达一下你的爱意吧 !😁