SUBSTITUTEWITHINDEX
返回一个表,表示作为参数提供的两个表的左半联接。 半联接是使用公共列执行的,由公用列名和通用数据类型决定。 要联接的列将替换为返回的表中的单个列,该列的类型为整数,并且包含索引。 根据指定的排序顺序,索引是对右联接表的引用。
提供的右侧/秒表中提供的列在左侧/第一个表中不存在,不包括在返回的表中,并且不用于联接。
索引从 0(基于 0)开始,为提供的右/秒联接表中的每一个附加行递增一个。 索引基于为右/秒联接表指定的排序顺序。
语法
SUBSTITUTEWITHINDEX(<table>, <indexColumnName>, <indexColumnsTable>, [<orderBy_expression>, [<order>][, <orderBy_expression>, [<order>]]…])
parameters
术语 | 定义 |
---|---|
table |
要筛选的表,方法是执行左半联接,并将表指定为第三个参数(indexColumnsTable)。 这是左半联接左侧的表,因此返回的表包含与此表相同的列,但两个表的所有常见列都将替换为返回的表中的单个索引列。 |
indexColumnName |
一个字符串,指定索引列的名称,该列替换作为此函数的参数提供的两个表中的所有常用列。 |
indexColumnsTable |
左半联接的第二个表。 这是左侧半联接右侧的表。 函数仅返回此表中存在的值。 此外,此表(基于列名)的列将替换为此函数返回的表中的单个索引列。 |
orderBy_expression |
使用结果值指定 indexColumnsTable 表的所需排序顺序以生成正确的索引值的任何 DAX 表达式。 为 indexColumnsTable 表指定的排序顺序定义表中每一行的索引,并且该索引在返回的表中用于表示 indexColumnsTable 中值的组合,因为它们在作为此函数的第一个参数提供的表中显示。 |
order |
(可选)一个值,指定如何对orderBy_expression值进行排序、升序或降序: 值: Desc 。 可选值:0 (零)/FALSE 。 按orderBy_expression值的降序排序。 当省略 order 参数时,这是默认值。值: ASC 。 可选值:1 /TRUE 。 orderBy_expression 按升序进行排序。 |
返回值
一个表,它仅包括 indexColumnsTable 表中存在的这些值,并且具有索引列,而不是 indexColumnsTable 表中存在的所有列(按名称)。
备注
此函数不保证任何结果排序顺序。
在计算列或行级别安全性 (RLS) 规则中使用时,不支持在 DirectQuery 模式下使用此函数。