Gå till huvudinnehåll Gå till ytterligare innehåll

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:

Example results
Dim$(vSales)$(vSales2)
A3501560
B4701560
C7401560

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

Mer information

 

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!

Gå med i programmet Analytics Modernization

Remove banner from view

Modernisera utan att kompromissa med dina värdefulla QlikView-appar med programmet för analysmodernisering. Klicka här för mer information eller ta kontakt: ampquestions@qlik.com