Skriptvariabler

En variabel i QlikView är en behållare som lagrar ett statiskt värde eller en beräkning, till exempel ett numeriskt eller ett alfanumeriskt värde. När du använder variabeln i dokumentet kan alla förändringar som görs i variabeln tillämpas överallt där variabeln används. Variabler definieras i skriptet med hjälp av skriptredigeraren, där variabeln får sitt värde från en Let-sats, Set-sats eller annan kontrollsats i laddningsskriptet.

Om det första tecknet i ett variabelvärde är ett likhetstecken ”=” kommer QlikView att försöka utvärdera värdet som en formel (QlikView-uttryck) och därefter visa eller returnera resultatet snarare än visa den faktiska formeln.

När variabeln används ersätts den av sitt värde. Variabler kan användas för dollarteckenexpansion eller i olika kontrollsatser i skriptet. Det är väldigt praktiskt om samma sträng förekommer flera gånger i skriptet, t.ex. en sökväg.

Vissa speciella systemvariabler ställs dock in av QlikView i början av skriptexekveringen oavsett vilket värde de tidigare hade i layouten.

När en variabel definieras används följande syntax:

set variablename = string

eller

let variable = expression

används. Kommandot Set tilldelar texten till höger om lika med-tecknet till variabeln, medan kommandot Let utvärderar uttrycket.

Variabler är skiftlägeskänsliga.

Exempel:  

set HidePrefix = $ ; // variabeln får tecknet "$" som värde.

let vToday = Num(Today()); // returnerar serienumret för dagens datum.

Beräkning med variabler

Det finns flera sätt att använda variabler med beräknade värden i QlikView. Resultatet beror på hur du definierar den och hur du anropar den i ett uttryck.

I detta exempel läser vi in data inline:

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

Nu ska vi definiera två variabler:

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

I den andra variabeln lägger vi till ett likhetstecken framför uttrycket. Nu beräknas variabeln innan den expanderas och innan uttrycket utvärderas.

Om du använder variabeln vSales som den är, exempelvis i ett mått, blir resultatet strängen Sum(Sales). Med andra ord görs ingen beräkning.

Om du lägger till en dollarteckenexpansion och anropar $(vSales) i uttrycket, expanderas variabeln, och summan av Sales visas.

Om du i stället anropar $(vSales2) beräknas variabeln innan den expanderas. Detta innebär att resultatet som visas är totalsumman för Sales. Skillnaden mellan att använda =$(vSales) och =$(vSales2) som måttuttryck visas i diagrammet nedan. Resultat:

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

Som du ser resulterar $(vSales) i delsumman för ett dimensionsvärde, medan $(vSales2) resulterar i totalsumman.

Hjälpte den här informationen?

Varför var informationen inte till hjälp och hur kan vi förbättra den?