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?

Tack för att du berättar det här. Är det något du vill säga om det här avsnittet?

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