Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Beispiele zur Verwendung einer Variablen in einer Formel

Eine Variable in Qlik Sense ist ein benanntes Element, das einen Datenwert enthält. Wird eine Variable in einer Formel verwendet, wird diese durch ihren Wert oder die Definition der Variablen ersetzt.

Verwenden von Variablen in Formeln

Eine Variable kann auf zwei verschiedene Weisen verwendet werden: in einem direkten Bezug oder in einer Dollarzeichenerweiterung. Wenn Sie einen direkten Bezug verwenden, wird der Variablenwert in der Berechnung verwendet. Wenn Sie eine Dollarzeichenerweiterung verwenden, wird die gesamte Dollarzeichenerweiterung durch den Variablenwert ersetzt, bevor die Formel analysiert wird. Daher können die beiden unterschiedlichen Methoden verschiedene Ergebnisse liefern.

Beispiel: Verwenden einer Variablen mit Dollarzeichenerweiterung

Die Variable x enthält den Textstring Sum(Sales).

In einem Diagramm können Sie die Formel $(x)/12 definieren. Die Wirkung ist genau dieselbe, wie wenn die Diagrammformel Sum(Sales)/12 lautet.

Ändern Sie jedoch den Wert der Variablen x zu beispielsweise Sum(Budget), werden die Daten im Diagramm sofort neu berechnet, da die Formel als Sum(Budget)/12 interpretiert wird.

TipphinweisBeim Einsatz von Variablen in Formeln können Sie die verwendete Formel in verschiedenen Diagrammen gleichzeitig verwenden, indem Sie die Variable bearbeiten.

Beispiel: Verwenden einer Variablen mit Dollarzeichen-Erweiterung in einer Pivottabelle

Angenommen, Sie haben eine Pivottabelle oder ein Pivot-Objekt, das Folgendes enthält:

  • Die Dimensionen sind Product Type und Product Name.

  • Die Kennzahlen sind Sum(Sales) und Count (distinct InvoiceNumber).

  • Die Elemente unter Spalten sind Werte (Standard) und das Feld Quarter.

Sie können Variablen verwenden, um interaktive Analysen zu ermöglichen. Angenommen, Sie erstellen auch eine Variable vUserInteraction mit einer leeren Definition. Anschließend erstellen Sie zwei Schaltflächen-Diagramme auf Ihrem Arbeitsblatt, die mit der Aktion Variablenwert festlegen konfiguriert sind:

  • Mehr Details anzeigen: Wenn Sie auf diese Schaltfläche klicken, wird vUserInteraction auf einen Wert von ='Yes' gesetzt.

  • Weniger Details anzeigen: Wenn Sie auf diese Schaltfläche klicken, wird vUserInteraction auf einen Wert von ='No' gesetzt.

In Ihrer Pivottabelle können Sie dem Diagramm eine Reihe zusätzlicher Kennzahlen hinzufügen, z. B. Count(Quantity) und Sum(Cost). Konfigurieren Sie dann jede Kennzahlenspalte so, dass sie den folgenden Wert für Spalte anzeigen, wenn hat:

'$(Reference)'='Yes'

So kann das Diagramm angepasst werden, je nachdem, ob der Benutzer zusätzliche Informationen wünscht oder nicht. Wenn der Benutzer auf die Schaltfläche Mehr Details anzeigen klickt, werden der Tabelle zusätzliche Kennzahlen hinzugefügt. Wenn nicht, oder wenn er auf Weniger Details anzeigen klickt, werden die zusätzlichen Kennzahlen gelöscht.

Weitere Beispiele: Verwenden von Variablen in Dollarzeichen-Erweiterungen

Dollarzeichen-Erweiterungen sind ein vielseitiges und leistungsstarkes Werkzeug in Qlik Sense mit vielen möglichen Verwendungen. Weitere Beispiele finden Sie unter Aufrufen von Variablen.

Beispiel: Direkte Referenzierung einer Variablen in einer Formel

Die Verwendung einer Variablen als direkte Referenz ist weniger üblich, aber dennoch nützlich. Hier ein Beispiel:

Nehmen wir an, Sie haben ein Feld TransactionSummary in Ihrem Datenmodell, das Zusammenfassungen von Transaktionen in Freitextform enthält. Dieses Feld kann zusätzliche Informationen über Transaktionen enthalten. Ein Beispiel: Eine Transaktion könnte eine Zusammenfassung enthalten, um zu dokumentieren, dass der Kunde einen Artikel mit einem Ladenguthaben gekauft hat, oder um alle Probleme zu dokumentieren, die während des Verkaufs aufgetreten sind.

In Ihrer App möchten Sie TransactionSummary verwenden, aber Sie möchten den Daten Kontext hinzufügen, ohne das Datenmodell oder das Ladeskript zu beeinflussen und ohne diesen Kontext an anderer Stelle im Diagramm zu speichern.

Sie könnten Folgendes tun:

  1. Erstellen Sie im Variablendialogfeld eine Variable mit dem Namen vIntroStatement mit der folgenden Definition:

    ='The following summary was provided by the vendor: '
  2. Fügen Sie die folgende Kennzahl zu einem Text und Bild-Diagramm hinzu:

    vIntroStatement & TransactionSummary

Wenn Sie den einleitenden Befehl als Variable speichern, können Sie die Verwendung eines Wertes zentral steuern. Zum Beispiel könnte die Variable vIntroStatement in mehreren Diagrammen und innerhalb einer Reihe verschiedener Kennzahlen verwendet werden (z. B. könnte es ein separates Diagramm geben, das manchmal Text enthält, der beschreibt, wie viele Einheiten während der Transaktion verkauft wurden). Durch die Verwendung einer Variablen können Sie den Prozess der Aktualisierung von Formeln in der App vereinfachen. Um eine Änderung am Wortlaut vorzunehmen, aktualisieren Sie einfach die Variable und die Änderungen werden in der gesamten App übernommen.

So werden Namen interpretiert

Es wird nicht empfohlen, für eine Variable in Qlik Sense denselben Namen wie für ein Feld oder eine Funktion zu verwenden. Aber wenn Sie es tun, müssen Sie wissen, wie sie in einer Formel anzuwenden sind.

Beispiel:  

Die Zeichenfolge XXX steht für ein Feld, eine Variable, eine Funktion oder eine Kennzahl. Je nachdem, wie Sie die Formel erstellen, wird XXX als eine davon interpretiert.

Beispiele für die Interpretation von Namen
FormelXXX interpretiert als
XXXKennzahl, Variable oder Feld
$(XXX)Variable
Count(XXX)Feld oder Variable
XXX()Funktion

Wenn Sie ein Element benennen, müssen Sie vermeiden, den gleichen Namen mehr als einem Feld, einer Variablen oder einer Kennzahl zuzuweisen. Beim Auflösen von Konflikten zwischen Elementen mit identischen Namen wird eine strikte Reihenfolge eingehalten. Diese Reihenfolge gilt auch bei allen Objekten oder Kontexten, in denen diese Elemente verwendet werden. Diese Reihenfolge lautet wie folgt:

  • Innerhalb einer Aggregierung hat ein Feld Vorrang vor einer Variablen. Kennzahlbezeichnungen sind in Aggregierungen nicht relevant und haben keine Priorität.

  • Außerhalb einer Aggregierung hat eine Kennzahlbezeichnung Vorrang vor einer Variablen, die wiederum Vorrang vor einem Feldnamen hat.

  • Zudem kann außerhalb einer Aggregierung eine Kennzahl wiederverwendet werden, indem ihre Bezeichnung referenziert wird, es sei denn, es handelt sich um eine berechnete Bezeichnung. In dieser Situation reduziert sich die Bedeutung der Kennzahl, um das Risiko eines Selbstbezugs zu verringern, und in diesem Fall wird der Name immer zuerst als Kennzahlbezeichnung interpretiert, an zweiter Stelle als Feldname und an dritter Stelle als Variablenname.

Als bewährtes Verfahren sollten Sie eine standardisierte Namenskonvention für die Variablen verwenden, die Sie in einer App erstellen. Sie könnten zum Beispiel sicherstellen, dass alle Ihre Variablennamen mit v beginnen. Beispiel: vUserText. Dies trägt dazu bei, dass Variablen schnell als solche erkannt und von Kennzahlen, Feldern und Funktionen unterschieden werden können.

Variable Berechnung

Variablen mit berechneten Werten lassen sich in Qlik Sense vielfältig einsetzen, und das Ergebnis hängt von der Definition und der Art und Weise des Abrufs in einer Formel ab.

Dieses Beispiel erfordert das Laden der folgenden Daten in den Dateneditor:

LOAD * INLINE [ Dim, Sales A, 150 A, 200 B, 240 B, 230 C, 410 C, 330 ];

 

Definieren wir zwei Variablen über das Variablendialogfeld:

  • Name vSales Definition'Sum(Sales)'
  • Name vSales2 Definition'=Sum(Sales)'

Bei der zweiten Variable wird ein Gleichheitszeichen vor der Formel hinzugefügt. Dadurch wird die Variable berechnet, bevor sie erweitert und die Formel evaluiert wird.

Wird die Variable vSales beispielsweise in einer Kennzahl alleine verwendet, ist das Ergebnis der String Sum(Sales), das heißt, es erfolgt keine Berechnung.

Wenn Sie ein Dollarzeichen hinzufügen und $(vSales) in der Formel abrufen, wird die Variable erweitert und die Summe von Sales angezeigt.

Wenn Sie $(vSales2) abrufen, wird die Variable vor ihrer Erweiterung berechnet. Dadurch wird als Ergebnis die Gesamtsumme von Sales angezeigt. Der Unterschied zwischen der Verwendung von =$(vSales) und =$(vSales2) als Kennzahlformeln wird in dieser Tabelle mit den Ergebnissen verdeutlicht:

Ergebnisse
Dim$(vSales)$(vSales2)
A3501560
B4701560
C7401560

Daraus ist ersichtlich, dass $(vSales) die Partialsumme eines Dimensionswerts ergibt, während $(vSales2) die Gesamtsumme liefert.

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!