HierarchyBelongsTo

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

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

Syntax:  

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

 

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

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

Arguments:  

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

Example:  

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

];

结果:

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