QlikWorld 2020 – global konferens. Kom och upptäck hur du utnyttjar dina data på bästa sätt. Agera nu. Registrera dig nu och spara.

Hierarkier

Obalanserade hierarkier på n-nivå används ofta för att visa till exempel geografiska eller organisatoriska dimensioner i data. Denna typ av hierarkier lagras normalt i en ”adjacent nodes”-tabell, d.v.s. en tabell där varje post motsvaras av en nod och har ett fält som innehåller en referens till modernoden.

I en sådan tabell lagras noden i en post men kan ha valfritt antal döttrar. Tabellen kan självklart innehålla ytterligare fält som beskriver nodernas attribut.

En “adjacent nodes”-tabell är utmärkt ur ett underhållsperspektiv men svårhanterad i det dagliga arbetet. I sökningar och analyser används därför andra motsvarigheter. “Expanded nodes”-tabeller är vanliga. Där lagras varje nivå i hierarkin i ett separat fält. Nivåerna i en utvidgad nodtabell kan enkelt användas exempelvis i en trädstruktur. Nyckelordet hierarchy kan användas i laddningsskriptet för att omvandla en tabell med angränsade noder till en tabell med expanderade noder.

Example:  

Hierarchy (NodeID, ParentNodeID, Title, 'Manager') LOAD NodeID, ParentNodeID, Title FROM 'hierarchy.txt' (txt, codepage is 1252, embedded labels, delimiter is ',', msq);

En nackdel med utvidgade nodtabeller är att du inte enkelt kan använda nivåfälten för sökningar eller urval, eftersom det krävs förkunskaper om vilken nivå du ska söka eller välja i. Förfaderstabellen är upplagd på ett annat sätt, vilket löser problemet. Tabellen på bilden kallas även ”bridge table”.

Förfaderstabellen innehåller en post för varje dotter/mor-relation som finns i informationen. Den innehåller nycklar och namn för både döttrar och mödrar. Med andra ord beskriver varje post vilken nod en viss nod hör ihop med. Nyckelordet hierarchybelongsto kan användas i laddningsskriptet för att förvandla en tabell med angränsade noder till en förfaderstabell.

See also:

 

Hjälpte den här informationen?

Tack för att du berättar det här. Är det något du vill säga om det här avsnittet?

Varför var informationen inte till hjälp och hur kan vi förbättra den?