- Excel DAX 教程
- DAX - 主页
- DAX - 概述
- DAX - 计算列
- DAX - 计算字段/度量
- DAX - 编辑计算字段
- DAX - 删除计算字段
- DAX - 语法
- DAX - 运营商
- DAX - 标准参数
- DAX - 函数
- DAX - 了解 DAX 函数
- DAX - 评估背景
- DAX - 公式
- 更新 DAX 公式的结果
- 更新数据模型中的数据
- DAX - 重新计算 DAX 公式
- DAX 公式重新计算故障排除
- DAX - 公式错误
- DAX - 时间智能
- DAX - 过滤函数
- DAX - 场景
- 执行复杂的计算
- DAX - 处理文本和日期
- 条件值和错误测试
- DAX - 使用时间智能
- DAX - 排名和比较值
- Excel DAX 有用资源
- DAX - 快速指南
- DAX - 有用的资源
- DAX - 讨论
Excel DAX - 筛选函数
DAX 具有强大的过滤功能,与 Excel 功能有很大不同。查找功能通过使用表和关系来工作,就像数据库一样。过滤函数允许您操纵数据上下文来创建动态计算。
注意- 返回表的 DAX 过滤器函数不会将表添加到数据模型中。生成的表用作另一个 DAX 函数中的参数。也就是说,此类 DAX 函数与其他 DAX 函数一起用作嵌套函数。
在下一节中,您将了解可以使用哪些 DAX 过滤器函数。有关这些函数的更多详细信息,请参阅本教程库中的教程 - DAX 函数。
DAX 过滤器函数
以下是 DAX 过滤器功能 -
先生。 | DAX 函数以及该函数的作用是什么? |
---|---|
1 | ADDMISSINGITEMS (<showAllColumn>, [<showAllColumn>] …, <table>, <groupingColumn>, [<groupingColumn>] …, [filterTable] …) 将多个列中的项目组合添加到表中(如果它们尚不存在)。要添加哪些项目组合的确定基于引用包含列的所有可能值的源列。 确定要评估的不同列中的项目组合 -
|
2 | ALL ( {<表> | <列>, [<列>], [<列>], … }) 返回给定表中的所有行或表中指定列中的所有值,忽略可能已应用的任何筛选器。 此函数对于清除过滤器和对表中的所有行创建计算非常有用。 |
3 | ALLEXCEPT(<表>、<列>、[<列>]、...) 删除表中的所有上下文筛选器,但已应用于指定为参数的列的筛选器除外。 与 ALL 不同,当您想要删除表中许多(但不是全部)列的过滤器时,可以使用此函数。 |
4 | ALLNOBLANKROW (<表>|<列>) 从关系的父表返回 -
该函数忽略可能存在的任何上下文过滤器。 |
5 | ALLSELECTED ( [<表名>|<列名>] ) 从当前查询中的列和行中删除上下文筛选器,同时保留所有其他上下文筛选器或显式筛选器。 |
6 | CALCULATE (<表达式>, [<过滤器1>, <过滤器2> …)] 计算由指定过滤器修改的上下文中的表达式。 返回作为表达式结果的值。 |
7 | CALCULATETABLE (<表达式>, <过滤器1>, <过滤器2>, …) 评估由给定过滤器修改的上下文中的表表达式。 返回值表。 |
8 | CROSSFILTER(<列名称1>、<列名称2>、<方向>) 指定在计算两列之间存在的关系时要使用的交叉过滤方向。不返回任何值。 |
9 | 独特(<列>) 返回一个单列表,其中包含指定列中的不同值。换句话说,重复的值将被删除,并且仅返回唯一的值。 生成的列用作另一个 DAX 函数中的参数。 |
10 | 早期(<列>,<数字>) 返回由数字指定的提及列的外部评估过程中指定列的当前值。 |
11 | 最早的(<列>) 返回指定列的外部评估过程中指定列的当前值。 |
12 | 过滤器(<表>,<过滤器>) 返回仅包含筛选后的行的表。 FILTER 仅用作嵌入到需要表作为参数的其他函数中的函数。 |
13 | 过滤器(<列名称>) 返回直接作为过滤器应用于columnName 的值。 FILTERS 仅用作嵌入到需要表作为参数的其他函数中的函数。 |
14 | HASONEFILTER(<列名称>) 当columnName上直接过滤的值的数量为1时,返回TRUE。否则,返回 FALSE。 |
15 | HASONEVALUE (<列名称>) 当 columnName 的上下文已被过滤为仅一个不同值时,返回 TRUE。否则,返回 FALSE。 |
16 | 交叉过滤(<列名称>) 当对同一或相关表中的columnName 或其他列进行筛选时,返回TRUE。 |
17 号 | ISFILTERED(<列名称>) 当直接过滤columnName时返回TRUE。如果该列上没有过滤器,或者由于正在过滤同一表或相关表中的不同列而发生过滤,则该函数返回 FALSE。 |
18 | KEEPFILTERS (<表达式>) 修改在计算 CALCULATE 或 CALCULATETABLE 函数时应用过滤器的方式。 |
19 | 相关(<列>) 返回另一个表中的相关值。 |
20 | 相关表(<表名>) 评估由给定过滤器修改的上下文中的表表达式。 |
21 | SUBSTITUTEWITHINDEX (<表>, <索引列名称>, <索引列表>, <orderBy_表达式>, [<顺序>]) 返回一个表,该表表示作为参数提供的两个表的左半连接。 半连接是通过使用公共列来执行的,由公共列名称和公共数据类型决定。 所连接的列将替换为返回表中的单个列,该列的类型为整数并包含索引。 该索引是对给定指定排序顺序的右连接表的引用。 |
22 | 用户关系 (<列名称1>,<列名称2>) 将特定计算中要使用的关系指定为存在于columnName1 和columnName2 之间的关系。 |
23 | 值(<表名或列名>) 返回一个单列表,其中包含指定表或列中的不同值。 换句话说,重复的值将被删除,并且仅返回唯一的值。 |