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
När en variabel definieras används följande syntax:
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.
Examples:
set HidePrefix = $ ; // variabeln får tecknet "$" som värde.
let vToday = Num(Today()); // returnerar serienumret för dagens datum.
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 variabelöversikten.
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.
Example:
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 läser vi in 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: