DAX 父子关系 - PATH 函数



描述

返回一个分隔符分隔的文本字符串,其中包含当前标识符的所有父标识符,从最旧的开始,一直持续到当前标识符。

语法

PATH (<ID_columnName>, <parent_columnName>) 

参数

序号 参数及描述
1

ID_columnName

包含表中行唯一标识符的现有列的名称。

这不能是表达式。

ID_columnName 中值的的数据类型必须是文本或整数,并且必须与 parent_columnName 中引用的列的数据类型相同。

2

parent_columnName

包含当前行父级唯一标识符的现有列的名称。

这不能是表达式。

parent_columnName 中值的的数据类型必须是文本或整数,并且必须与 ID_columnName 中的值的数据类型相同。

返回值

包含当前标识符的所有父标识符的分隔符分隔的文本字符串。

备注

DAX PATH 函数用于具有某种内部层次结构的表中,以返回与当前行值相关的项目。

例如,假设您有一个名为 Employees 的表,其中包含组织中员工的详细信息。该表包含:

  • 员工的员工 ID。
  • 员工经理的员工 ID。
  • 经理的经理的员工 ID。

您可以使用 DAX PATH 函数返回将员工连接到其经理的路径。

路径不受限于单个级别的父子关系。它可以返回从指定的起始行向上几个级别的相关行,即连接员工与其经理的经理的路径。

  • 用于分隔祖先的分隔符是竖线“|”。

  • ID_columnName 和 parent_columnName 中的值必须具有相同的数据类型,文本或整数。

  • parent_columnName 中的值必须存在于 ID_columnName 中。也就是说,如果在子级级别没有值,则无法查找父级。

  • 如果 parent_columnName 为 BLANK,则 PATH() 返回 ID_columnName 值。换句话说,如果您查找员工的经理,但 parent_columnName 列没有数据,则 PATH 函数仅返回员工 ID。

  • 如果 ID_columnName 有重复项并且这些重复项的 parent_columnName 相同,则 PATH() 返回公共的 parent_columnName 值。但是,如果这些重复项的 parent_columnName 值不同,则 PATH() 返回错误。换句话说,如果您有两个相同员工 ID 的条目并且它们具有相同的经理 ID,则 PATH 函数返回该经理的 ID。但是,如果有两个相同的员工 ID 具有不同的经理 ID,则 PATH 函数返回错误。

  • 如果 ID_columnName 为 BLANK,则 PATH() 返回 BLANK。

  • 如果 ID_columnName 包含竖线“|”,则 PATH() 返回错误。

示例

= PATH (Employee[EmployeeID], Employee[ManagerEmployeeID]) 

此 DAX 公式返回一个计算列,其中包含从最高级员工开始,层次结构中每个员工上方所有经理的 EmployeeID 的分隔符分隔的字符串。

例如,OrgEmp0001|OrgEmp0002|OrgEmp0006|OrgEmp0015 是为员工 ID 为 OrgEmp0015 的员工返回的 PATH,其中报告层次结构为 OrgEmp0015 → OrgEmp0006 → OrgEmp0002 → OrgEmp0001。

dax_functions_parent_child
广告