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

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).
Anteckning om informationI många fall går det att lösa en uppgift, exempelvis en aggregering, antingen genom att bygga en mer utförlig datamodell i laddningsskriptet eller genom att göra aggregeringarna i diagramuttrycken. Normalt får du bättre prestanda om du låter dataomvandling ske i laddningsskriptet.
Anteckning om tipsSkissa gärna din datamodell på papper. Nu har du en strukturerad skiss över vilka data som ska extraheras och vilka omvandlingar som ska göras.

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:

  1. Utvärdering av uttryck
  2. Namnbyte av fält med as
  3. Namnbyte av fält med alias
  4. Bestämning av fältnamn
  5. Mappning av data om fältnamn matchar
  6. Datalagring i en intern tabell
RELATERAD INFORMATION:

Mer information

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!