从数据到信息
从信息到洞察

SUBSTITUTEWITHINDEX

包含所提供的两个参数表的半连接,其公共列将被替换为始于 0 的索引列(列名由第二参数指定)。索引值基于按指定顺序(第四参数)排序的第二个表的行。

语法

SUBSTITUTEWITHINDEX ( <Table>, <Name>, <SemiJoinIndexTable>, <Expression> [, [<Order>] [, <Expression> [, [<Order>] [, … ] ] ] ] )
参数 属性 描述
通过对指定为第三参数的表执行左半联接来进行筛选的表。 这是左半联接左侧的表,因此返回的表包含与该表相同的列,只不过两个表的所有公用列都将替换为返回表中的单个索引列
列名 指定索引列名称的字符串,用于替换作为此函数参数提供的两个表中的所有公用列
半连接的表 左半联接的第二个表。 这是左半联接的右侧的表。 函数只返回此表中存在的值。 此外,此表的列(基于列名称)将替换为此函数返回的表中的单个索引列
表达式 可重复 任何标量表达式,其结果用于指定半连接表的所需排序顺序,以生成正确的索引值。
排序 可选
可重复
用于指定表达式值的排序方式(升序或降序)的值:0/FALSE 降序(默认),1/TRUE 升序

返回值

整个表或具有一列或多列的表。

备注

  • 返回表示作为参数提供的两个表的左半联接的表。 半联接通过公用列来执行,并由公用列名称和公用数据类型确定。 要联接的列将替换为返回的表中的单个列,该表的类型为整数并包含一个索引。 基于指定的排序顺序,索引是对右联接表的引用。
  • 位于右侧/第二个表中的列(不存在于提供的左侧/第一个表中)不包含在返回的表中,并且不用于联接。
  • 索引从 0(基于 0)开始,并且所提供的右侧/第二个联接表每增加一行,索引就会增加一个。 索引基于为右侧/第二个联接表指定的排序顺序。
  • Power BI 内部对矩阵图使用 SUBSTITUTEWITHINDEX

示例

以下查询只包括来自第一个表的 User 列,名称列和公司列被索引列替换,索引值对应于半连接表中匹配到的值从 0 起始的位置:

EVALUATE
SUBSTITUTEWITHINDEX (
    UNION (
        ROW ( "Name", "Marco", "Company", "Sqlbi", "User", "marcor" ),
        ROW ( "Name", "Alberto", "Company", "Sqlbi", "User", "hal" ),
        ROW ( "Name", "Bob", "Company", "Contoso", "User", "bob97" )
    ),
    "index", UNION (
        ROW ( "Company", "Sqlbi", "Name", "Alberto" ),
        ROW ( "Company", "Contoso", "Name", "Bob" ),
        ROW ( "Company", "Sqlbi", "Name", "Marco" )
    ),
    0
)

 

 

说点什么

1000
 
鼓掌微笑开心憧憬爱你色并不觉得吃瓜doge二哈喵喵思考笑哭捂脸悲伤大哭抓狂汗偷笑打脸捂眼黑线问号晕拜拜闭嘴衰咒骂ok作揖
  订阅本文评论  
提醒
DAX 圣经

DAX 函数大全

DAX 查询

DAX 运算符