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.

Tipp: Sie können beim Bearbeiten eines Arbeitsblatts auch die Qlik Sense-Variablen aus der Variablenliste verwenden. Verwenden von Variablen in Formeln

Ü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

Zur Definition einer Variablen wird die Syntax:

set variablename = string

oder

let variable = expression

verwendet. Mit dem Befehl Set wird der Text rechts vom Gleichheitszeichen der Variablen zugewiesen, während mit dem Befehl Let die Formel berechnet wird.

Bei Variablen wird zwischen Groß- und Kleinschreibung unterschieden.

Hinweis: Es wird nicht empfohlen, für eine Variable in Qlik Sense denselben Namen wie für ein Feld oder eine Funktion zu verwenden.

Examples:  

set HidePrefix = $ ; // die Variable erhält das Zeichen ‘$’ als Wert.

let vToday = Num(Today()); // gibt die Datumsseriennummer des heutigen Tages zurück.

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 aus der Variablenliste 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.

Example:  

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.

IF $(ScriptErrorCount) >= 1 THEN
LOAD '$(ScriptErrorList)' AS Error AutoGenerate 1; END IF

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:

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

Wir legen zwei Variablen fest:

Let vSales = 'Sum(Sales)' ;
Let vSales2 = '=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)
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.