Inzicht in scriptsyntaxis en gegevensstructuren

Extraheren, transformeren en laden

Over het algemeen kan de manier waarop u gegevens in de app laadt worden verklaard met het proces voor extraheren, transformeren en laden:

  • Extraheren

    De eerste stap is het extraheren van gegevens uit de gegevensbron. In een script gebruikt u SELECT- of LOAD-instructies om dit te definiëren. De verschillen tussen deze instructies:

    • SELECT wordt gebruikt om gegevens uit een ODBC-gegevensbron of een OLE DB-provider te selecteren. De SQL-instructie SELECT wordt geëvalueerd door de gegevensprovider, niet door Qlik Sense.
    • LOAD wordt gebruikt om gegevens te laden uit een bestand, uit gegevens die in het script zijn gedefinieerd, uit een eerder geladen tabel, van een webpagina, uit het resultaat van een daaropvolgende SELECT-instructie of door gegevens automatisch te genereren.
  • Transformeren

    Bij de transformatiestap worden gegevens gemanipuleerd met de functies en regels in een script, om daaruit de gewenste structuur van het gegevensmodel af te leiden. Typische bewerkingen zijn:

    • Nieuwe waarden berekenen
    • Gecodeerde waarden vertalen
    • Velden hernoemen
    • Tabellen samenvoegen
    • Waarden aggregeren
    • Draaien
    • Gegevens valideren
  • Laden

    In de laatste stap voert u het script uit om het gegevensmodel dat u in de app hebt gedefinieerd te laden.

Uw doel moet zijn om een gegevensmodel op te stellen dat de efficiënte verwerking van de gegevens in Qlik Sense mogelijk maakt. Doorgaans betekent dit dat u moet streven naar een redelijk genormaliseerd sterrenschema of sneeuwvlokschema zonder cirkelreferenties, oftewel een model waarbij elke entiteit in een aparte tabel wordt opgeslagen. Met andere woorden een typisch gegevensmodel ziet er ongeveer als volgt uit:

  • een centrale feitentabel met sleutels voor de dimensies en de getallen voor de berekening van metingen (zoals het aantal eenheden, verkoopbedragen en budgetbedragen).
  • omringende tabellen die de dimensies bevatten met al hun kenmerken (zoals producten, klanten, categorieën, agenda en leveranciers).
Opmerking: Vaak is het mogelijk om een oplossing te vinden voor een taak, bijvoorbeeld aggregaties, door een uitgebreider gegevensmodel in het load-script samen te stellen of door de aggregaties in de diagramuitdrukkingen uit te voeren. In het algemeen zult u beter presteren als u gegevenstransformaties in het load-script houdt.
Tip: Het is verstandig om uw gegevensmodel op papier uit te tekenen. Dit zal u helpen structuur te geven aan de gegevens die moeten worden geëxtraheerd en de transformaties die moeten worden uitgevoerd.

Instructies voor het laden van gegevens

Gegevens worden geladen met LOAD- of SELECT-instructies. Met elk van deze instructies wordt een interne tabel gegenereerd. Een tabel kan altijd worden gezien als een lijst van iets, waarbij elke record (rij) een nieuwe instantie van het objecttype is en elk veld (elke kolom) een specifiek kenmerk of een eigenschap van het object.

De verschillen tussen deze instructies:

  • SELECT wordt gebruikt om gegevens uit een ODBC-gegevensbron of een OLE DB-provider te selecteren. De SQL-instructie SELECT wordt geëvalueerd door de gegevensprovider, niet door Qlik Sense.
  • LOAD wordt gebruikt om gegevens te laden uit een bestand, uit gegevens die in het script zijn gedefinieerd, uit een eerder geladen tabel, van een webpagina, uit het resultaat van een daaropvolgende SELECT-instructie of door gegevens automatisch te genereren.

Regels

De volgende regels zijn van toepassing bij het laden van gegevens in Qlik Sense:

  • Qlik Sense maakt geen onderscheid tussen tabellen die zijn gegenereerd via een LOAD- of via een SELECT-instructie. Dit betekent dat als er meerdere tabellen worden geladen, het niet uitmaakt of dit met LOAD- of SELECT-instructies of beide is gebeurd.
  • De volgorde van de velden in de instructie of in de oorspronkelijke tabel in de database is willekeurig in de Qlik Sense-logica.
  • Met veldnamen worden in het verdere proces velden aangeduid en associaties gemaakt. Deze zijn hoofdlettergevoelig, waardoor het vaak noodzakelijk is de naam van velden in het script te wijzigen.

Uitvoering van het script

Voor een typische LOAD- of SELECT-instructie ziet de volgorde van de gebeurtenissen er in grote lijnen als volgt uit:

  1. Evaluatie van uitdrukkingen
  2. Namen van velden wijzigen met as
  3. Namen van velden wijzigen met alias
  4. Kwalificatie van veldnamen
  5. Toewijzing van gegevens als veldnamen overeenkomen
  6. Opslaan van gegevens in een interne tabel