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.
Manieren om variabelen te gebruiken in een uitdrukking
Een variabele kan op twee verschillende manieren worden gebruikt in een directe referentie of in een uitbreiding met dollarteken. Als u een directe referentie gebruikt, wordt de variabele waarde in een berekening gebruikt. Als u een uitbreiding met dollarteken gebruikt, wordt de volledige uitbreiding met dollarteken vervangen door de variabele waarde voordat de uitdrukking wordt geparseerd. De twee methoden kunnen dus verschillende resultaten retourneren.
Voorbeeld: een variabele gebruiken met een uitbreiding met dollarteken
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.
Voorbeeld: variabele met een uitbreiding met dollarteken in een draaitabel
Stel dat u een Draaitabel of Draai-object hebt dat het volgende bevat:
-
Dimensies zijn Product Type en Product Name.
-
Metingen zijn Sum(Sales) en Count (distinct InvoiceNumber).
-
De items onder Kolommen zijn Waardes (standaardwaarde) en het veld Quarter.
U kunt variabelen gebruiken om interactieve analyse aan te moedigen. Stel dat u ook een variabele vUserInteraction met een lege definitie maakt. Vervolgens maakt u twee Knopdiagrammen op uw werkblad, die zijn geconfigureerd met de actie Waarde van variabele instellen:
-
Meer details tonen: door te klikken op deze knop wordt vUserInteraction ingesteld op een waarde van ='Yes'.
-
Minder details tonen: door te klikken op deze knop wordt vUserInteraction ingesteld op een waarde van ='No'.
In uw draaitabel kunt u een aantal extra metingen toevoegen aan het diagram, zoals Count(Quantity) en Sum(Cost). Configureer vervolgens elke kolom zodat de volgende waarde wordt getoond voor Toon kolom indien:
'$(Reference)'='Yes'
Hierdoor kan het diagram zich aanpassen aan het feit of de gebruiker wel of geen extra informatie wil. Als gebruikers klikken op de knop Meer details tonen, worden extra metingen toegevoegd aan de tabel. Zo niet, of als ze op Minder details tonen klikken, worden de extra metingen verwijderd.
Meer voorbeelden: variabelen gebruiken in uitbreidingen met dollarteken
Uitbreidingen met dollarteken zijn een veelzijdig en krachtig hulpmiddel in Qlik Sense, met veel verschillende toepassingen. Zie Uitbreidingen met dollarteken voor meer voorbeelden.
Voorbeeld: direct verwijderen naar een variabele in een uitdrukking
Een variabele als directe verwijzing gebruiken is minder gebruikelijk, maar nog steeds nuttig. Bijvoorbeeld:
Stel dat u in uw gegevensmodel een veld TransactionSummary hebt dat samenvattingen van transacties in vrije tekst bevat. Dit veld kan aanvullende informatie over transacties bevatten. Een transactie kan bijvoorbeeld een overzicht hebben om te documenteren dat de klant een artikel heeft gekocht door middel van een tegoedbon, of om eventuele problemen te documenteren die zich tijdens de verkoop hebben voorgedaan.
In uw app wilt u misschien TransactionSummary gebruiken, maar u wilt de gegevens in context plaatsen zonder het gegevensmodel of het load-script te beïnvloeden, en zonder ze elders in de grafiek op te slaan.
U zou het volgende kunnen doen:
Maak een variabele met de naam vIntroStatement in het dialoogvenster Variabelen met de volgende definitie:
='The following summary was provided by the vendor: '
Voeg de volgende meting toe aan een tekst en afbeeldingsdiagram:
vIntroStatement & TransactionSummary
Door de inleidende instructie op te slaan als een variabele, kunt u het gebruik van een waarde centraal regelen. De variabele vIntroStatement kan bijvoorbeeld in meerdere diagrammen worden gebruikt, en binnen een aantal verschillende metingen (er kan bijvoorbeeld een apart diagram zijn dat soms tekst bevat die beschrijft hoeveel eenheden er tijdens de transactie zijn verkocht). Door een variabele te gebruiken, kunt u het proces van het bijwerken van uitdrukkingen in de app vereenvoudigen. Als u de formulering wilt wijzigen, hoeft u alleen maar de variabele bij te werken en de wijzigingen worden doorgevoerd in de app.
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.
Aanbevolen wordt om te overwegen of u een gestandaardiseerde naamgevingsconventie wilt gebruiken voor de variabelen die u in een app maakt. U kunt er bijvoorbeeld voor zorgen dat alle namen van uw variabelen beginnen met v. Voorbeeld: vUserText. Dit zorgt ervoor dat variabelen snel worden herkend als variabelen en worden onderscheiden van metingen, velden en functies.
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.