Förstå skriptsyntax och datastrukturer
Extrahera, omvandla och ladda
Generellt kan den metod du använder för att ladda data i appen eller skriptet förklaras med processen för att extrahera, omvandla och ladda:
-
Extrahera
Det första stege är att extrahera data från datakällsystemet. I ett skript använder du satserna SELECT eller LOAD för att definiera detta. Vad är då skillnaden mellan dessa satser?
- SELECT används för att välja data från en ODBC-datakälla eller OLE DB-leverantör. SELECT SQL-satsen utvärderas av dataleverantören, och inte av Qlik Sense.
- LOAD används för att ladda data från en fil, från data som har definierats i skriptet, från en tidigare inläst tabell, från en webbsida, från resultatet av en efterföljande SELECT-sats eller genom att generera data automatiskt.
-
Omvandla
Omvandlingsskedet omfattar att manipulera data med hjälp av skriptfunktioner och regler för att få den önskade datamodellsstrukturen. Typiska operationer är:
- Beräkna nya värden
- Översätta kodade värden
- Byta namn på fält
- Slå samman tabeller
- Aggregera värden
- Pivotering
- Datavalidering
-
Ladda eller exportera
I det sista steget kör du skriptet för att ladda den datamodell du har definierat i appen eller ladda och exportera data från ditt skript.
Ditt mål bör vara att skapa en datamodell som möjliggör effektiv hantering av data i Qlik Sense. Normalt betyder detta att du ska sikta på en datamodell som liknar en vanlig stjärna eller snöflinga och som inte innehåller några cirkelreferenser. I en sådan modell hålls varje enhet i en separat tabell. Med andra ord skulle en typisk datamodell se ut så här:
- en central faktatabell som innehåller nycklar till de dimensioner och tal som används för att beräkna mått (såsom antal enheter, försäljningssummor och budgetsummor).
- omgivande tabeller som innehåller dimensionerna med alla deras attribut (såsom produkter, kunder, kategorier, leverantörer och kalender).
Satser för att ladda data
Data laddas genom LOAD- eller SELECT-satser. Varje sådan sats genererar en intern tabell. En tabell kan ses som en lista med data, där varje post (rad) motsvarar en ny instans av objekttypen, och varje fält (kolumn) är ett särskilt attribut eller en särskild egenskap hos objektet.
Vad är då skillnaden mellan dessa satser?
- SELECT används för att välja data från en ODBC-datakälla eller OLE DB-leverantör. SELECT SQL-satsen utvärderas av dataleverantören, och inte av Qlik Sense.
- LOAD används för att ladda data från en fil, från data som har definierats i skriptet, från en tidigare inläst tabell, från en webbsida, från resultatet av en efterföljande SELECT-sats eller genom att generera data automatiskt.
Regler
Följande regler gäller när du läser in data i appar och skript:
- Qlik Sense gör ingen skillnad på tabeller som genererats med en LOAD-sats och tabeller som genererats med en SELECT-sats. Det spelar därför ingen roll om tabellerna, när flera tabeller laddas, laddas med LOAD- eller SELECT-satser eller en kombination av de båda.
- Fältens ordning i satsen eller i den ursprungliga tabellen i databasen är godtycklig för Qlik Senses logik.
- Fältnamn används i den vidare processen för att identifiera fält och göra associationer. Dessa är skiftlägeskänsliga. Därför kan man ofta behöva byta namn på fält i skriptet.
Exekvera skriptet
För en typisk LOAD- eller SELECT-sats inträffar händelserna ungefär i följande ordning:
- Utvärdering av uttryck
- Namnbyte av fält med as
- Namnbyte av fält med alias
- Bestämning av fältnamn
- Mappning av data om fältnamn matchar
- Datalagring i en intern tabell