HierarchyBelongsTo

此前置詞用來將上/下層階層表格轉換為可以在QlikView資料模型中使用的表格。它可以放在 LOADSELECT 陳述式的前面,而且將使用載入陳述式的結果作為表格轉換的輸入。

此前置詞會建立一個表格,包含階層的所有上階和下階關係。上階欄位可用來選取階層中的整個樹狀結構。在大多數情況下,此輸出表格會包含各個節點的數筆記錄。

語法:  

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

 

此輸入表格必須是相鄰節點表格。相鄰節點表格是各個記錄對應於一個節點的表格,其中有欄位包含上層節點的參考。在這類表格中,節點僅儲存在一筆記錄內,但是節點仍可有任何數目的子節點。當然,表格可包含其他用來描述節點屬性的欄位。

可建立包含節點深度差異的其他欄位。

引數:  

引數 描述
NodeID 包含節點識別碼的欄位名稱。 此欄位必須存在於輸入表格中。
ParentID 包含上層節點識別碼的欄位名稱。 此欄位必須存在於輸入表格中。
NodeName 包含節點名稱的欄位名稱。 此欄位必須存在於輸入表格中。
AncestorID 用於命名新上階識別碼欄位的字串,其中包含上階節點的識別碼。
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

];

結果:

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

另請參閱: