加载层次结构数据
此外,不平衡的 n 级层次结构通常用于呈现数据中的地理维度或组织维度。
通常,这些层次结构类型存储在相邻节点表格,即在一个表格中,其中每一条记录对应一个节点并具有包含父节点引用的字段。
NodeID | ParentNodeID | 标题 |
---|---|---|
1 | - | 总经理 |
2 | 1 | 地区经理 |
3 | 2 | 分公司经理 |
4 | 3 | 部门经理 |
此类表格内的节点存储在一个记录上,但其仍拥有数量任意的子节点。表格可能包含更多描述节点属性的字段。
相邻节点表格可用于维护,但在日常工作中很难使用。相反,在查询和分析中会使用其他呈现形式。扩展节点表格是一种常见的呈现形式,其中的所有层次结构级别均存储于单独的字段内。扩展节点表格层级可轻松用于(例如)树形结构。hierarchy 关键字可用于数据加载脚本,以将相邻节点表格转换为扩展节点表格。
示例:
Hierarchy (NodeID, ParentNodeID, Title, 'Manager') LOAD
NodeID,
ParentNodeID,
Title
FROM 'lib://data/hierarchy.txt' (txt, codepage is 1252, embedded labels, delimiter is ',', msq);
NodeID | ParentNodeID | 标题 | Title1 | Title2 | Title4 | Title4 |
---|---|---|---|---|---|---|
1 | - | 总经理 | 总经理 | - | - | - |
2 | 1 | 地区经理 | 总经理 | 地区经理 | - | - |
3 | 2 | 分公司经理 | 总经理 | 地区经理 | 分公司经理 | - |
4 | 3 | 部门经理 | 总经理 | 地区经理 | 分公司经理 | 部门经理 |
扩展节点表格有一个问题,就是很难将级别字段用于搜索或选择,因为需要预备哪些级别需要搜索或选择的相关知识。上级表格是解决此问题的不同呈现形式。这种呈现形式又被称之为桥接表格。
上级表格包含一条记录,其用于显示数据中的层次结构上下级关系。此表格包含子节点以及上级节点的关键字段和名称。即每条记录均描述特定节点属于哪些节点。hierarchybelongsto 关键字可用于数据加载脚本,以将相邻节点表格转换为上级表格。