跳到主要内容 跳到补充内容

Hierarchy

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

此前缀创建了一个扩展节点表格,通常其与输入的表格具有相同数目的记录,但除此之外, 所有层次结构级别均存储于单独的字段内。路径字段可以在树结构中使用。

语法:  

Hierarchy (NodeID, ParentID, NodeName, [ParentName, [PathSource, [PathName, [PathDelimiter, Depth]]]])(loadstatement | selectstatement) 

 

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

此前缀创建了一个扩展节点表格,通常其与输入的表格具有相同数目的记录,但除此之外, 所有层次结构级别均存储于单独的字段内。路径字段可以在树结构中使用。

输入表格通常只有一个节点记录,此时输出表格包含相同的记录数。但是,节点有时会带有多个父节点,即一个节点由输入表格中的几个记录表示。在此情况下,输出表格拥有的记录可能多于输入表格。

未见于节点 ID 列且具父级 ID 的所有节点均会被视为根节点。此外,仅带有根节点连接(直接或间接)的节点会被加载,因此可避免循环引用。

更多包含父节点名称,节点路径和节点深度的字段会被创建。

参数:  

参数
参数 说明
NodeID 包含节点 ID 的字段名称。 此字段必须存在于输入表格中。
ParentID 包含父节点的节点 ID 的字段名称。 此字段必须存在于输入表格中。
NodeName 包含节点名称的字段名称。 此字段必须存在于输入表格中。
ParentName 即用于命名新建 ParentName 字段的字符串。如果省略,则无法创建此字段。
ParentSource 包含用于构建节点路径的节点名称的字段名称。可选参数。如果省略,则会使用 NodeName
PathName 用于命名新建 Path 字段的字符串,该字段包含从根节点到节点的路径。可选参数。如果省略,则无法创建此字段。
PathDelimiter 在新建 Path 字段中用作分隔符的字符串。可选参数。如果省略,则会以 '/' 代替。
Depth 用于命名新建 Depth 字段的字符串,该字段包含层次结构中的节点深度。可选参数。如果省略,则无法创建此字段。

示例:  

Hierarchy(NodeID, ParentID, NodeName, ParentName, NodeName, PathName, '\', Depth) LOAD * inline [

NodeID, ParentID, NodeName

1, 4, London

2, 3, Munich

3, 5, Germany

4, 5, UK

5, , Europe

];

 

NodeID ParentID NodeName NodeName1 NodeName2 NodeName3 ParentName PathName Depth
1 4 London Europe UK London UK Europe\UK\London 3
2 3 Munich Europe Germany Munich Germany Europe\Germany\Munich 3
3 5 Germany Europe Germany - Europe Europe\Germany 2
4 5 UK Europe UK - Europe Europe\UK 2
5   Europe Europe - - - Europe 1

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们如何改进!