Het prefix Crosstable gebruiken
Kruistabellen zijn een veel voorkomend type tabel die bestaat uit een matrix van waarden tussen twee rechthoekige lijsten met veldnaamgegevens. Wanneer u een kruistabel met gegevens hebt, kan het prefix Crosstable worden gebruikt voor het transformeren van de gegevens en het maken van de gewenste velden.
Prefix Crosstable
In de volgende Product-tabel hebt u één kolom per maand en één rij per product.
Product | Jan 2014 | Feb 2014 | Mar 2014 | Apr 2014 | Mei 2014 | Jun 2014 |
---|---|---|---|---|---|---|
A | 100 | 98 | 100 | 83 | 103 | 82 |
B | 284 | 279 | 297 | 305 | 294 | 292 |
C | 50 | 53 | 50 | 54 | 49 | 51 |
Als deze tabel wordt geladen, resulteert dat in een uitvoer van een tabel met één veld voor Product en één veld voor elk van de maanden.
Als u deze gegevens wilt analyseren, is het veel gemakkelijker als alle getallen in één veld staan en alle maanden in een ander. In dit geval is dat een tabel met drie kolommen waarvan elke kolom een categorie bevat (Product, Month, Sales).
Het prefix Crosstable converteert de gegevens naar een tabel met één kolom voor Month en een andere voor Sales. Een andere manier om het uit te drukken is door te zeggen dat veldnamen worden geconverteerd naar veldwaarden.
Doe het volgende:
- Maak een nieuwe app en noem deze Zelfstudie voor geavanceerd scriptgebruik.
- Voeg een nieuwe scriptsectie toe in de Editor voor het laden van gegevens.
- Geef de sectie Product een naam.
-
Onder DataFiles in het rechtermenu klikt u op Gegevens selecteren.
- Upload en selecteer Product.xlsx.
- Selecteer de Product-tabel in het venster Selecteer gegevens uit.
- Klik op Script invoegen.
- Klik op Gegevens laden.
- Open de gegevensmodelviewer. Het gegevensmodel ziet er als volgt uit:
- Klik op het tabblad Product in de editor voor laden van gegevens.
- Voer boven de LOAD-opdracht het volgende in:
- Klik op Gegevens laden.
- Open de gegevensmodelviewer. Het gegevensmodel ziet er als volgt uit:
Uw script zou er als volgt moeten uitzien:
CrossTable(Month, Sales)
Let op: invoergegevens hebben normaal gesproken slechts één kolom als kwalificerend veld, als een interne sleutel (Product in het bovenstaande voorbeeld). Maar u kunt er meerdere hebben. Als dat het geval is, moeten alle kwalificerende velden worden opgesomd vóór de kenmerkvelden in de LOAD-opdracht en moet de derde parameter voor het prefix Crosstable worden gebruikt voor het definiëren van het aantal kwalificerende velden. U kunt geen voorafgaande LOAD of een prefix vóór het trefwoord Crosstable te hebben. U kunt echter gebruik maken van automatisch aaneenschakelen.
In een tabel in Qlik Sense zien uw gegevens er als volgt uit:
U kunt nu bijvoorbeeld een staafdiagram maken met behulp van de gegevens:
De numerieke interpretatie werkt niet voor de kenmerkvelden. Dit betekent dat als u maanden hebt als kolomkoppen, deze niet automatisch worden geïnterpreteerd. Dit kan worden opgelost door gebruik te maken van het prefix Crosstable om een tijdelijke tabel te maken en hierop een tweede bewerking uit te voeren om de interpretaties te maken zoals te zien in het volgende voorbeeld:
Let op: dit is slechts een voorbeeld. Er zijn geen bijbehorende oefeningen in Qlik Sense.
De geheugencache leegmaken
U kunt tabellen die u maakt verwijderen om de geheugencache leeg te maken. Als u laadt in een tijdelijke tabel zoals in de voorgaande sectie, kunt u deze het beste verwijderen als u deze niet langer nodig hebt. Bijvoorbeeld:
U kunt ook velden neerzetten. Bijvoorbeeld:
Zoals u kunt zien, zijn de trefwoorden TABLE en FIELD, en kunnen deze in het enkelvoud of meervoud staan.