Gå till huvudinnehåll Gå till ytterligare innehåll

Beprövade metoder för datamodellering

Här kan du läsa om flera olika sätt att ladda dina data i en Qlik Sense-app. Vilken metod du ska välja beror på hur datastrukturen ser ut och vilken datamodell du vill skapa.

Omvandla datakolumner till rader

Mina data ser förmodligen ut så här, och jag vill ha data om försäljning i ett separat fält:

Ursprunglig datatabell
År Q1 Q2 Q3 Q4
2013 34 54 53 52
2014 47 56 65 67
2015 57 56 63 71

Föreslagen åtgärd  

Använd prefixet Crosstable när du laddar tabellen.

Resultatet följer nedan:

Tabell efter att prefixet Crosstable tillämpats
Year Quarter Sales
2013 Q1 34
2013 Q2 54
2013 Q3 53
2013 Q4 52
2014 Q1 47
... ... ...

Mer information om Crosstable finns i Arbeta med korstabeller i dataladdningsskriptet och Crosstable.

Omvandla datarader till fält

Jag har en generisk tabell med tre fält som liknar denna och jag vill ha varje attribut i en separat tabell:

Generisk tabell med tre fält
Object Attribute Value
ball color red
ball diameter 25
ball weight 3
box color 56
box height 30
box length 20
box width 25

Föreslagen åtgärd  

Skapa en generisk datamodell med hjälp av laddningsprefixet Generisk.

Du får en datamodell som ser ut så här:

Generic data model.

Mer information om generiska data finns i Generiska databaser och Generic.

Ladda data som har organiserats på hierarkiska nivåer, till exempel ett schema för en organisation

Mina data är sparade i en tabell med angränsade noder som ser ut så här:

Tabell med angränsande noder
NodeID ParentNodeID Title
1 - General manager
2 1 Country manager
3 2 Region manager

Föreslagen åtgärd  

Ladda data med prefixet Hierarki för att skapa en tabell med expanderade noder:

Tabell med expanderade noder
NodeID ParentNodeID Title Level1 Level2 Level3
1 - General manager General manager - -
2 1 Country manager General manager Country manager -
3 2 Region manager General manager Country manager Region manager

Mer information om hierarkiska nivåer finns i Ladda hierarkiska data och Hierarchy.

Ladda endast nya eller uppdaterade poster från en stor databas

Jag har en databas med ett stort antal poster och jag vill inte ladda om hela databasen för att uppdatera data i min app. Jag vill bara ladda nya eller uppdaterade poster och eliminera poster som har tagits bort från databasen.

Föreslagen åtgärd  

Implementera en lösning för inkrementell laddning med hjälp av QVD-filer.

Mer information finns i Ladda nya och uppdaterade poster med inkrementell laddning.

Kombinera data från två tabeller med ett gemensamt fält

Qlik Sense jag kommer att associera tabeller med ett gemensamt fält automatiskt, men jag vill kontrollera hur tabellen kombineras.

Föreslagen åtgärd : Join / Keep

Du kan kombinera två tabeller i en enda intern tabell med hjälp av prefixen Join eller Keep.

Mer information finns i Kombinera tabeller med Join och Keep.

Föreslagen åtgärd : Mappning

Ett alternativ till att sammanfoga tabeller är att använda mappning, för att leta rätt på associerade värden i en mappningstabell automatiskt. På så sätt kan man minska mängden data som måste laddas.

Mer information finns i Använda mappning som ett alternativ till länkning.

Matcha ett diskret värde med ett intervall

Jag har en tabell med diskreta numeriska värden (Event), och jag vill matcha den till ett eller fler intervaller (Start och End).

Tabell med diskreta numeriska värden (Event)
Time Händelse Kommentar
00:00 0 Start för skift 1
01:18 1 Tillverkningsstopp
02:23 2 Tillverkningsomstart 50 %
04:15 3 Tillverkningshastighet 100 %
08:00 4 Start för skift 2
11:43 5 Slut eller produktion
Tabell med intervallen (Start och End)
Start End Ordning
01:00 03:35 A
02:30 07:58 B
03:04 10:27 C
07:23 11:43 D

Föreslagen åtgärd  

Använd prefixet IntervalMatch för att länka fältet Time med intervallet som definieras av Start och End.

Mer information finns i Länka diskreta data till intervall.

Om intervallet inte definieras explicit vid starten och i slutet, utan endast med en ändring av tidsmarkören som i tabellen nedan, måste du skapa en intervalltabell.

Tabell med en tidsmarkör för ändring
Valuta Ändra data Kurs
EUR - 8.59
EUR 28/01/2013 8.69
EUR 15/02/2013 8.45
USD - 6.50
USD 10/01/2013 6.56
USD 03/02/2013 6.30

Mer information finns i Skapa ett datumintervall från ett enskilt datum.

Hantera inkonsekventa fältvärden

Mina data innehåller fältvärden som inte har beskrivits konsekvent i de olika tabellerna. Till exempel innehåller en tabell värdet US i Land samtidigt som en annan tabell innehåller United States. Då kan associationer inte utföras korrekt.

Tabell 1
Land Region
USA Maryland
USA Idaho
USA New York
USA Kalifornien
Table 2
Country Population
United States 304
Japan 128
Brazil 192
China 1333

Föreslagen åtgärd  

Genomför en datarensning med hjälp av en mappningstabell som jämför fältvärdet och aktiverar korrekta associationer.

Mer information finns i Datatvätt.

Hantera inkonsekventa versaler i fältvärden

Mina data innehåller fältvärden som inte är konsekvent formaterade i de olika tabellerna. Till exempel innehåller en tabell värdet single i Type medan en annan tabell innehåller Single i samma fält. Denna situation förhindrar associationer. Eftersom Type-fältet kommer att innehålla både single- och Single-värden spelar bruket av versaler en roll.

Tabell 1
Typ Pris
enstaka 23
dubbel 39
Tabell 2
Typ Färg
En färg Röd
En färg Blå
Dubbel Vit
Dubbel Black

Föreslagen åtgärd  

Om du laddade data med Lägg till data kan du åtgärda detta i Datahanteraren.

  1. Öppna Table2 i tabellredigeraren i Datahanteraren.
  2. Byt namn på fältet Type till Table2.Type.

    Om du precis lade till tabellen med Lägg till data med dataprofilering aktiverat kanske fältet redan har namnet Table2.Type för att förhindra en automatisk association. I så fall kommer den här proceduren att associera de två tabellerna.

  3. Skapa ett beräknat fält med uttrycket Lower(Table2.Type) och ge det namnet Type.
  4. Klicka på Ladda data.

Table1 och Table2 ska nu associeras genom fältet Type, som bara innehåller värden i gemener, som single och double.

Om du vill använda en annan typ av versaler, kan du uppnå det med liknande procedurer men kom ihåg att tabellerna kommer att associeras med hjälp av fälten som har samma namn.

  • Om alla värden ska skrivas med inledande versaler, som Single, skapar du det beräknade Type-fältet i Table1 istället och använder uttrycket Capitalize(Table1.Type).
  • Om alla värden ska skrivas helt med versaler, som SINGLE, skapar du det beräknade Type-fältet i båda tabellerna och använder uttrycken Upper(Table1.Type) respektive Upper(Table2.Type).

Mer information om beräknade fält finns i Använda beräknade fält.

Mer information om inledande versal finns i Capitalize - skript- och diagramfunktion, Lower - skript- och diagramfunktion och Upper - skript- och diagramfunktion.

Ladda geospatiala data för att kunna visualisera data med en karta

Jag har data som jag vill visualisera med hjälp av en karta, till exempel säljdata per land eller per butik. För att använda mappvisualisering måste jag ladda områdes- eller punktdata.

Föreslagen åtgärd  

Du kan ladda yt- eller punktdata som matchar dina datavärdesplatser från en KML- eller en Excel-fil. Dessutom måste du ladda den faktiska bakgrunden för kartan.

Mer information finns i Läs in egen kartdata.

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!