メイン コンテンツをスキップする 補完的コンテンツへスキップ

Hierarchy

hierarchy プレフィックスは、親子階層テーブルを QlikView データ モデルで有用なテーブルに変換する際に使用します。これは、LOADSELECT ステートメントの前に置き、ロード ステートメントの結果をテーブル変換の入力として使用します。

このプレフィックスを使用すると、展開ノード テーブルが作成されます。通常、レコード数は入力テーブルと同じですが、階層の各レベルがさらに別の項目に格納されます。パス項目は、ツリー構造で使用できます。

構文:  

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

入力テーブルは、隣接するノード テーブルでなければなりません。通常、隣接するノード テーブルは、各レコードがノードと一致し、親ノードへの参照を含む項目が含まれます。このようなテーブルでは、ノードは 1 つのレコードにしか保存されませんが、子ノードをいくつでも持つことができます。当然のことながら、テーブルには、ノードの属性が記述された追加項目が含まれている可能性があります。

通常、入力テーブルには各ノードに 1 件のレコードが含まれており、出力テーブルにも同数のレコードが含まれます。しかし、場合によっては複数の親を持つノードがあり、1 つのノードが入力テーブル内にある複数のレコードで表されることがあります。その場合、出力テーブルのレコード数は入力テーブルを上回ります。

ノード ID 列にない 親 ID を持つノード (親 ID がないノードを含む) はすべて、ルートとみなされます。また、直接/間接を問わず、ルート ノードに接続されているノードのみをロードし、循環参照を回避します。

親ノードのノード名とノードのパス、ノードの階層レベルを含む追加項目を作成することもできます。

引数:  

Hierarchy 引数
引数 説明
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

];

結果:

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

詳細を見る

 

このページは役に立ちましたか?

このページまたはコンテンツに、タイポ、ステップの省略、技術的エラーなどの問題が見つかった場合は、お知らせください。改善に役立たせていただきます。

分析の近代化プログラムに参加する

Remove banner from view

分析最新化プログラムにより、重要な QlikView app を危険にさらすことなく最新化しましょう。 ここをクリック して詳細を表示するか、次にお問い合わせください。 ampquestions@qlik.com