Scriptvariabelen

Een variabele in QlikView is een container waarin een statische waarde of een berekening wordt opgeslagen, bijvoorbeeld een numerieke of alfanumerieke waarde. Als u de variabele in het document gebruikt, wordt een eventuele wijziging die wordt aangebracht in de variabele overal toegepast waar de variabele wordt gebruikt. Variabelen worden gedefinieerd in het script met behulp van de scripteditor, waarbij de variabele zijn waarde verkrijgt via een opdracht Let, Set of andere besturingsopdrachten in het load-script.

Als het eerste teken van een variabelewaarde het isgelijkteken '=' is, probeert QlikView de waarde als formule (QlikView-uitdrukking) te interpreteren. Vervolgens wordt niet de formuletekst, maar het resultaat weergegeven of geretourneerd.

Bij het gebruik van de variabele wordt deze vervangen door de waarde ervan. Variabelen kunnen in het script worden gebruikt voor uitbreiding met een dollarteken en in verschillende besturingsopdrachten. Dat is zeer handig als dezelfde tekenreeks vaak in het script wordt herhaald, bijvoorbeeld een pad.

Bepaalde speciale systeemvariabelen worden aan het begin van de scriptuitvoering door QlikView ingesteld, ongeacht hun eerdere waarden.

Voor de definitie van een scriptvariabele wordt de syntaxis:

set variablename = string

of

let variable = expression

gebruikt. De opdracht Set wijst aan de variabele de tekst aan de rechterzijde van het isgelijkteken toe. De opdracht Let evalueert de uitdrukking.

Variabelen zijn hoofdlettergevoelig.

Voorbeelden:  

set HidePrefix = $ ; // de variabele krijgt het teken ‘$’ als waarde.

let vToday = Num(Today()); // retourneert het datumvolgnummer van vandaag.

Berekeningen met variabelen

Er zijn diverse manieren om variabelen te gebruiken met berekende waarden in QlikView, en het resultaat is afhankelijk van de wijze waarop u de variabele definieert en aanroept in een uitdrukking.

In dit voorbeeld laden we enkele inline-gegevens:

LOAD * INLINE [ Dim, Sales A, 150 A, 200 B, 240 B, 230 C, 410 C, 330 ];

Eerst definiëren we twee variabelen:

Let vSales = 'Sum(Sales)' ;
Let vSales2 = '=Sum(Sales)' ;

In de tweede variabele plaatsen we een isgelijkteken voor de uitdrukking. Hierdoor wordt de variabele berekend voordat de variabele wordt uitgebreid en de uitdrukking wordt geëvalueerd.

Als u de variabele vSales zonder toevoeging gebruikt, is het resultaat de tekenreeks Sum(Sales) en wordt er geen berekening uitgevoerd.

Als u een dollar-tekenuitbreiding toevoegt en $(vSales) in de uitdrukking aanroept, wordt de variabele uitgebreid en wordt de som van Sales weergegeven.

En tot slot als u $(vSales2) aanroept, wordt de variabele eerst berekend en daarna uitgebreid. Dit betekent dat het weergegeven resultaat de totale som van Sales is. Het verschil tussen =$(vSales) en =$(vSales2) metinguitdrukkingen wordt duidelijk uit de tabel met de resultaten:

Dim $(vSales) $(vSales2)
A 350 1560
B 470 1560
C 740 1560

Zoals u ziet, is het resultaat van $(vSales) de deelsom voor een dimensiewaarde, terwijl het resultaat van $(vSales2) de totale som is.