DAX具有强大的过滤功能,与Excel功能完全不同.查找函数通过使用表和关系(如数据库)来工作.过滤功能允许您操纵数据上下文以创建动态计算.
注意 : 返回表的DAX过滤器函数不会将表添加到数据模型.结果表用作另一个DAX函数中的参数.也就是说,这些DAX函数用作其他DAX函数的嵌套函数.
在下一节中,您将了解可以使用的DAX过滤器函数.有关这些函数的更多详细信息,请参阅本教程库中的DAX函数教程.
DAX过滤函数
以下是DAX过滤器函数 :
Sr.No. | DAX功能&函数的作用是什么? |
---|---|
1 | ADDMISSINGITEMS(< showAllColumn>,[< showAllColumn>] ...,< table>,< groupingColumn>,[< groupingColumn>] ...,[filterTable] ...) 将多列中的项组合添加到表中(如果它们尚不存在).确定要添加的项目组合是基于引用包含列的所有可能值的源列. 确定来自不同列的项目组合以评估 :
|
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返回. |