Inzicht in scriptsyntaxis en gegevensstructuren
Extraheren, transformeren en laden
Over het algemeen kan de manier waarop u gegevens in de app of het script 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 of exporteren
In de laatste stap voert u het script uit om het gegevensmodel dat u in de app hebt gedefinieerd te laden of om de gegevens van uw script te laden en exporteren.
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).
Instructies voor het laden van gegevens
Gegevens worden geladen met LOAD- of SELECT-instructies. Met elk van deze opdrachten wordt een interne tabel gegenereerd. Een tabel kan altijd worden gezien als een lijst van gegevens, 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 opdrachten:
- 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 apps en scripts:
- 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:
- Evaluatie van uitdrukkingen
- Namen van velden wijzigen met as
- Namen van velden wijzigen met alias
- Kwalificatie van veldnamen
- Toewijzing van gegevens als veldnamen overeenkomen
- Opslaan van gegevens in een interne tabel