Voorbeelden van het gebruik van een variabele in een uitdrukking
Een variabele in Qlik Sense is een benoemde entiteit die een gegevenswaarde bevat. Als een variabele wordt gebruikt in een uitdrukking, wordt deze vervangen door de bijbehorende waarde of de definitie van de variabele.
Voorbeeld:
De variabele x bevat de teksttekenreeks Sum(Sales).
In een diagram definieert u de uitdrukking $(x)/12. Dit heeft precies hetzelfde effect als de diagramuitdrukking Sum(Sales)/12.
Als u echter de waarde van de variabele x wijzigt in bijvoorbeeld Sum(Budget), worden de gegevens in het diagram onmiddellijk opnieuw berekend, waarbij de uitdrukking wordt geïnterpreteerd als Sum(Budget)/12.
De interpretatie van namen
Het wordt niet aanbevolen om een variabele dezelfde naam te geven als een veld of functie in Qlik Sense. Maar als u dit doet, moet u weten hoe u ze kunt gebruiken in een uitdrukken.
Voorbeeld:
De tekenreeks XXX vertegenwoordigd een veld, een variabele, een functie of een meting. XXX wordt geïnterpreteerd als één van deze, afhankelijk van hoe u de uitdrukking maakt.
Uitdrukking | XXX geïnterpreteerd als |
---|---|
XXX() | meting, variabele of veld |
$(XXX) | variabele |
Count(XXX) | veld of variabele |
XXX() | functie |
Bij het toewijzen van een naam aan een entiteit moet u niet dezelfde naam geven aan meer dan één veld, variabele of meting. Er geldt een strikte volgorde van prioriteit voor het oplossen van conflicten tussen entiteiten met identieke namen. Deze volgorde wordt weerspiegeld in objecten of contexten waarin deze entiteiten worden gebruikt. Deze volgorde van prioriteit is als volgt:
-
Binnen een aggregatiefunctie krijgt een veld voorrang op een variabele. Metinglabels zijn niet relevant in aggregaties en krijgen geen prioriteit.
-
Buiten een aggregatiefunctie krijgt een metinglabel voorrang op een variabele, die weer voorrang krijgt op een veld.
-
Daarnaast kan een meting buiten een aggregatie opnieuw gebruikt geworden door te verwijzen naar het label, tenzij het label is berekend. In die situatie krijgt de meting minder prioriteit om het risico te voorkomen dat de uitdrukking naar zichzelf verwijst, en in dit geval wordt de naam altijd eerst geïnterpreteerd als een metinglabel, vervolgens als een veldnaam en daarna als een variabelenaam.
Berekeningen met variabelen
Er zijn diverse manieren om variabelen te gebruiken met berekende waarden in Qlik Sense, en het resultaat is afhankelijk van de wijze waarop u de variabele definieert en aanroept in een uitdrukking.
Dit voorbeeld vereist dat de volgende gegevens in de editor voor laden van gegevens worden geladen:
Laten wij twee variabelen definiëren uit het variabelendialoogvenster:
- Naam vSales Definitie'Sum(Sales)'
- Naam vSales2 Definitie'=Sum(Sales)'
In de tweede variabele plaatsen we een isgelijkteken voor de uitdrukking. Hierdoor wordt de variabele berekend voordat de variabele wordt uitgebreid en de uitdrukking wordt geëvalueerd.
Als u de variabele vSales zonder toevoeging gebruikt, is het resultaat de tekenreeks Sum(Sales) en wordt er geen berekening uitgevoerd.
Als u een dollar-tekenuitbreiding toevoegt en $(vSales) in de uitdrukking aanroept, wordt de variabele uitgebreid en wordt de som van Sales weergegeven.
En tot slot als u $(vSales2) aanroept, wordt de variabele eerst berekend en daarna uitgebreid. Dit betekent dat het weergegeven resultaat de totale som van Sales is. Het verschil tussen =$(vSales) en =$(vSales2) metinguitdrukkingen wordt duidelijk uit de tabel met de resultaten:
Dim | $(vSales) | $(vSales2) |
---|---|---|
A | 350 | 1560 |
B | 470 | 1560 |
C | 740 | 1560 |
Zoals u ziet, is het resultaat van $(vSales) de deelsom voor een dimensiewaarde, terwijl het resultaat van $(vSales2) de totale som is.