# HierarchyBelongsTo

此前缀用于将父子层次表格转换成在 Qlik Sense 数据模型中有用的表格。此前缀可能置于 LOAD 或 SELECT 语句前面，并会使用加载的语句结果作为表格转换的输入。

此前缀可创建一个包含上下级层次结构关系的表格。上级字段随后可用于选择层次结构的整个树形结构。输出表格通常包含几个节点记录。

语法：

HierarchyBelongsTo (NodeID, ParentID, NodeName, AncestorID, AncestorName, [DepthDiff])(loadstatement | selectstatement)

输入表格必须为相邻节点表格。相邻表格内每个记录对应一个节点，并且拥有一个包含父节点参考的字段。此类表格内的节点存储在一个记录上，但节点仍拥有任意数量的子节点。表格可能包含更多描述节点属性的字段。

此前缀可创建一个包含上下级层次结构关系的表格。上级字段随后可用于选择层次结构的整个树形结构。输出表格通常包含几个节点记录。

更多包含节点深度差异的字段会被创建。

参数：

参数

| 参数 | 描述 |
| --- | --- |
| NodeID | 包含节点 ID 的字段名称。 此字段必须存在于输入表格中。 |
| ParentID | 包含父节点的节点 ID 的字段名称。 此字段必须存在于输入表格中。 |
| NodeName | 包含节点名称的字段名称。 此字段必须存在于输入表格中。 |
| AncestorID | 用于命名新建上级组件 ID 字段的字符串，该字段包含祖先节点的 ID。 |
| AncestorName | 用于命名新建上级字段的字符串，该字段包含祖先节点的名称。 |
| DepthDiff | 用于命名新 DepthDiff 字段的字符串，该字段包含层次结构中相对于祖先节点的节点深度。可选参数。如果省略，则无法创建此字段。 |

示例：

`HierarchyBelongsTo (NodeID, AncestorID, NodeName, AncestorID, AncestorName, DepthDiff) LOAD * inline [` `NodeID, AncestorID, NodeName` `1, 4, London` `2, 3, Munich` `3, 5, Germany` `4, 5, UK` `5, , Europe` `];` ` `

Results

| NodeID | AncestorID | NodeName | AncestorName | DepthDiff |
| --- | --- | --- | --- | --- |
| 1 | 1 | London | London | 0 |
| 1 | 4 | London | UK | 1 |
| 1 | 5 | London | Europe | 2 |
| 2 | 2 | Munich | Munich | 0 |
| 2 | 3 | Munich | Germany | 1 |
| 2 | 5 | Munich | Europe | 2 |
| 3 | 3 | Germany | Germany | 0 |
| 3 | 5 | Germany | Europe | 1 |
| 4 | 4 | UK | UK | 0 |
| 4 | 5 | UK | Europe | 1 |
| 5 | 5 | Europe | Europe | 0 |

## 了解详情

* [Load](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Load.htm)
* [Select](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Select.htm)
* [加载层次结构数据](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataSource/hierarchies.htm)