Ana içeriğe geç Tamamlayıcı içeriğe geç

Hierarchy

hierarchy öneki, üst-alt öğe hiyerarşi tablosunu Qlik Sense 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.

Önek genişletilmiş bir düğüm tablosu oluşturur; bu tablo normalde giriş tablosuyla aynı sayıda kayda sahiptir, ancak buna ek olarak hiyerarşideki her seviye ayrı bir alanda saklanır. Yol alanı bir ağaç yapısında kullanılabilir.

Söz Dizimi:  

Hierarchy (NodeID, ParentID, NodeName, [ParentName, [PathSource, [PathName, [PathDelimiter, Depth]]]])(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 referans 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.

Önek genişletilmiş bir düğüm tablosu oluşturur; bu tablo normalde giriş tablosuyla aynı sayıda kayda sahiptir, ancak buna ek olarak hiyerarşideki her seviye ayrı bir alanda saklanır. Yol alanı bir ağaç yapısında kullanılabilir.

Genellikle, giriş tablosu her bir düğüm için tam olarak bir kayda sahiptir ve böyle bir durumda çıkış tablosu aynı sayıda kaydı içerir. Bununla birlikte, bazen kimi zaman birden fazla ana öğeye sahip düğümler olabilir; yani bir düğüm giriş tablosunda birden fazla kayıtla temsil edilir. Bu durum söz konusuysa, çıkış tablosu giriş tablosundan daha fazla kayda sahip olabilir.

Düğüm kimliği sütununda ana kimliği bulunmayan tüm düğümler (ana kimliği eksik düğümler de dahil) kök olarak kabul edilir. Ayrıca, yalnızca kök düğümle bağlantısı (doğrudan ya da dolaylı) olan düğümler yüklenir ve böylece döngüsel referansların önüne geçilir.

Ana düğüm adını, düğümün yolunu ve düğüm derinliğini içeren ek alanlar oluşturulabilir.

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

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.
ParentName Yeni ParentName alanını adlandırmak için kullanılan dize. Atlandığı takdirde bu alan oluşturulmaz.
ParentSource Düğüm yolunu oluşturmak için kullanılan düğümün adını içeren alanın adı. İsteğe bağlı parametre. Atlandığı takdirde NodeName kullanılır.
PathName Kökten düğüme giden yolu içeren yeni Path alanını adlandırmak için kullanılan dize. İsteğe bağlı parametre. Atlandığı takdirde bu alan oluşturulmaz.
PathDelimiter Yeni Path alanında sınırlayıcı olarak kullanılan dize. İsteğe bağlı parametre. Atlandığı takdirde, '/' kullanılır.
Depth Hiyerarşideki düğümün derinliğini içeren yeni Depth alanını adlandırmak için kullanılan dize. İsteğe bağlı parametre. Atlandığı takdirde bu alan oluşturulmaz.

Örnek:  

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

Bu sayfa size yardımcı oldu mu?

Bu sayfa veya içeriği ile ilgili bir sorun; bir yazım hatası, eksik bir adım veya teknik bir hata bulursanız, bize bildirin, düzeltelim!