Exempel på användning av en variabel i ett uttryck
I Qlik Sense är variabler namngivna enheter som innehåller ett datavärde. När en variabel används i ett uttryck ersätts den av sitt värde eller av variabelns definition.
Exempel:
Variabeln x innehåller textsträngen Sum(Sales).
I ett diagram definierar du uttrycket $(x)/12. Resultatet blir exakt detsamma som med diagramuttrycket Sum(Sales)/12.
Men om du ändrar värdet på variabeln x till exempelvis Sum(Budget) beräknas data i diagrammet omedelbart om med uttrycket tolkat som Sum(Budget)/12.
Hur namn tolkas
Det rekommenderas inte att du ger en variabel samma namn som ett fält eller en funktion i Qlik Sense. Om du gör detta måste du dock veta hur dessa kan användas i ett uttryck.
Exempel:
Strängen XXX representerar ett fält, en variabel, en funktion eller ett mått. XXX kommer att tolkas som någon av dessa, beroende på hur du skapar uttrycket.
Uttryck | XXX tolkas som |
---|---|
XXX | mått, variabel eller fält |
$(XXX) | variabel |
Antal(XXX) | fält eller variabel |
XXX() | funktion |
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.
Det här exemplet kräver att följande data laddas in i Skriptredigeraren:
Nu ska vi definiera två variabler från variabeldialogen:
- Namn vSales Definition'Sum(Sales)'
- Namn vSales2 Definition'=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.