HierarchyBelongsTo

Bu önek, üst-alt öğe hiyerarşi tablosunu QlikView veri modelinde faydalı bir tabloya dönüştürmek için kullanılır. Bu önek, LOAD veya SELECT deyiminin önüne konulabilir ve yüklenen deyimin sonucunu tablo dönüştürme için girdi olarak kullanır.

Bu önek hiyerarşinin tüm üst-alt ilişkilerini içeren bir tablo oluşturur. Böylece üst öğe alanları, hiyerarşideki bütün ağaçları seçmek için kullanılabilir. Çıkış tablosu çoğu durumda her düğüm için çok sayıda kayıt içerebilir.

Sözdizim:  

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

 

Giriş tablosu bir bitişik düğüm tablosu olmalıdır. Bitişik düğüm tabloları, her bir kaydın bir düğüme karşılık geldiği ve ana düğüme bir başvuru içeren bir alana sahip olduğu tablolardır. Böyle bir tabloda düğüm yalnızca bir kayıtta saklanır, ancak düğüm birden fazla alt öğeye sahip olmaya devam edebilir. Tablo, doğal olarak, düğümlerin özniteliklerini tanımlayan ek alanlar içerebilir.

Düğümlerin derinlik farklılıklarını içeren ek bir alan oluşturulabilir.

Bağımsız Değişkenler:  

Bağımsız Değişken Açıklama
NodeID Düğüm kimliğini içeren alanın adı. Bu alan giriş tablosunda bulunmalıdır.
ParentID Ana düğümün düğüm kimliğini içeren alanın adı. Bu alan giriş tablosunda bulunmalıdır.
NodeName Düğümün adını içeren alanın adı. Bu alan giriş tablosunda bulunmalıdır.
AncestorID Üst düğüm kimliğini içeren yeni üst öğe kimliği alanını adlandırmak için kullanılan dize.
AncestorName Üst düğümün adını içeren yeni üst öğe alanını adlandırmak için kullanılan dize.
DepthDiff Üst düğüme göre hiyerarşideki düğümün derinliğini içeren yeni DepthDiff alanını adlandırmak için kullanılan dize. İsteğe bağlı parametre. Atlandığı takdirde bu alan oluşturulmaz.

Örnek:  

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

];

Sonuç:

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