Arbeta med variabler i Skriptredigeraren
En variabel i Qlik Sense ä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 appen kan alla förändringar som görs för variabeln tillämpas överallt där variabeln används. Du kan definiera variabler med hjälp av variabelöversikten eller i skript med hjälp av Skriptredigeraren. Du ställer in värdet för en variabel med Let eller Set uttalanden i dataladdningsskriptet.
Översikt
Om det första tecknet i ett variabelvärde är ett likhetstecken ”=” kommer Qlik Sense att försöka utvärdera värdet som en formel (Qlik Sense-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 Qlik Sense i början av skriptexekveringen oavsett vilket värde de tidigare hade i layouten.
Definiera en variabel
Variabler gör det möjligt att lagra statiska värden eller resultatet av en beräkning. När en variabel definieras använder du följande syntax:
eller
let variable = expression
Satsen Set används för strängtilldelning. Den tilldelar texten till höger om likhetstecknet till variablerna. Satsen Let utvärderar ett uttryck till höger om likhetstecknet under skriptets körningstid och tilldelar resultatet av uttrycket till variabeln.
Variabler är skiftlägeskänsliga.
Exempel:
set x = 3 + 4; //-variabeln får strängen '3 + 4' som värde.
let x = 3 + 4; // returnerar 7 som värde.
set x = Today(); // returnerar 'Today()' som värde.
let x = Today(); // returnerar dagens datum som värde, till exempel ‘9/27/2021’.
Ta bort en variabel
Om du tar bort en variabel från skriptet och laddar data igen stannar variabeln kvar i appen. Om du vill ta bort variabeln helt från appen måste du även ta bort variabeln från variabeldialogen.
Mer information finns i Ta bort en variabel.
Ladda ett variabelvärde som ett fältvärde
Om du vill ladda ett variabelvärde som ett fältvärde i en LOAD-sats och resultatet av dollarexpansionen är text i stället för tal eller ett uttryck måste du bifoga den utvidgade variabeln inom enkla citattecken.
Exempel:
Detta exempel laddar systemvariablen som innehåller listan över skriptfel till en tabell. Lägg märke till att expansionen av ScriptErrorCount i If-satsen inte kräver citattecken, men att expansionen av ScriptErrorList kräver citattecken.
Beräkning med variabler
Det finns flera sätt att använda variabler med beräknade värden i Qlik Sense. Resultatet beror på hur du definierar den och hur du anropar den i ett uttryck.
I detta exempel laddar vi vissa data inline:
Nu ska vi definiera två variabler:
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.
Följande skriptvariabler är tillgängliga: