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
ÅrQ1Q2Q3Q4
201334545352
201447566567
201557566371

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
2013Q254
2013Q353
2013Q452
2014Q147
.........

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
balldiameter25
ballweight3
boxcolor56
boxheight30
boxlength20
boxwidth25

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:

Generisk datamodell.

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
21Country manager
32Region 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 - -
21Country managerGeneral managerCountry manager-
32Region managerGeneral managerCountry managerRegion 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)
TidHändelseKommentar
00:000Start för skift 1
01:181Tillverkningsstopp
02:232Tillverkningsomstart 50 %
04:153Tillverkningshastighet 100 %
08:004Start för skift 2
11:435Slut eller produktion
Tabell med intervallen (Start och End)
StartaSlutOrdning
01:0003:35A
02:3007:58 B
03:0410:27C
07:2311:43D

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 här 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 dataKurs
EUR-8.59
EUR28/01/20138.69
EUR15/02/20138.45
USD-6.50
USD10/01/20136.56
USD03/02/20136.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
LandRegion
USAMaryland
USAIdaho
USANew York
USAKalifornien
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 här 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
TypPris
enstaka23
dubbel39
Tabell 2
TypFärg
En färgRöd
En färgBlå
DubbelVit
DubbelSvart

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 stöter på några problem med den här sidan eller innehållet på den, t.ex. ett stavfel, ett saknat steg eller ett tekniskt fel – meddela oss!