Arbeiten mit Variablen im Dateneditor
Eine Variable in Qlik Sense ist eine Sammelbox, die einen statischen Wert oder eine Berechnung speichert, z. B. einen Zahlenwert oder alphanumerischen Wert. Wenn Sie die Variable in der App verwenden, wird jede Änderung an der Variable überall dort angewendet, wo die Variable verwendet wird. Sie können Variablen mithilfe der Variablenliste im Skript über den Dateneditor definieren. Den Wert einer Variablen legen Sie mithilfe der Let- oder Set-Anweisungen im Datenladeskript fest.
Überblick
Beginnt der Variablenwert mit einem Gleichheitszeichen '=', interpretiert Qlik Sense den Wert als Formel (Qlik Sense-Formel) und gibt das Ergebnis statt des eigentlichen Formeltexts zurück.
Beim Aufruf der Variablen im Skript wird diese durch den zugeordneten Wert ersetzt. Variablen können im Skript zur Dollarzeichenerweiterung sowie in verschiedenen Steuerungsbefehlen verwendet werden. Dies ist besonders nützlich, wenn der gleiche String, z. B. ein Pfad, häufig im Skript gebraucht wird.
Einige spezielle Systemvariablen werden von Qlik Sense am Beginn der Skriptausführung unabhängig von ihren vorherigen Werten festgelegt.
Festlegen einer Variable
Variablen bieten die Möglichkeit, statische Werte oder das Ergebnis einer Berechnung zu speichern. Zur Definition einer Variablen verwenden Sie die folgende Syntax:
oder
let variable = expression
Der Befehl Set wird für die Stringzuweisung verwendet. Er weist den Text rechts vom Gleichheitszeichen der Variablen zu. Der Befehl Let wertet eine Formel rechts vom Gleichheitszeichen zur Laufzeit des Skripts aus und weist das Ergebnis der Formel der Variablen zu.
Bei Variablen wird zwischen Groß- und Kleinschreibung unterschieden.
Beispiele:
Mit set x = 3 + 4; // erhält die Variable den String „3+4“ als Wert.
let x = 3 + 4; // gibt 7 als Wert zurück.
set x = Today(); // gibt „Today()“ als Wert zurück.
let x = Today(); // gibt das heutige Datum als Wert zurück, zum Beispiel „27.9.2021“.
Löschen einer Variablen
Wenn Sie eine Variable aus dem Skript entfernen und die Daten erneut laden, verbleibt die Variable in der App. Falls Sie die Variable vollständig aus der App entfernen möchten, müssen Sie sie auch über das Variablendialogfeld löschen.
Weitere Informationen finden Sie unter Löschen einer Variablen.
Laden eines Variablenwerts als Feldwert
Wenn Sie einen Variablenwert als Feldwert in einem LOAD -Befehl laden möchten und das Ergebnis der Variablen ist Text – statt eine Zahl oder eine Formel –, müssen Sie die erweiterte Variable in einzelne Anführungszeichen setzen.
Beispiel:
In diesem Beispiel wird die Systemvariable mit der Liste der Skriptfehler in eine Tabelle geladen. Beachten Sie, dass die Erweiterung von ScriptErrorCount in der If-Klausel keine Anführungszeichen erfordert, während die Erweiterung von ScriptErrorList in Anführungszeichen gesetzt werden muss.
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.
In diesem Beispiel werden einige Inline-Daten geladen:
Wir legen zwei Variablen fest:
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:
Dim | $(vSales) | $(vSales2) |
---|---|---|
A | 350 | 1560 |
B | 470 | 1560 |
C | 740 | 1560 |
Daraus ist ersichtlich, dass $(vSales) die Partialsumme eines Dimensionswerts ergibt, während $(vSales2) die Gesamtsumme liefert.
Die folgenden Skriptvariablen sind verfügbar:
- Fehlervariablen
- Variablen zur Interpretation von Zahlen
- Systemvariablen
- Variablen zur Verarbeitung der Werte