Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

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 in der Variablenliste oder im Skript mithilfe des Dateneditors definieren. Den Wert einer Variablen legen Sie mithilfe der Let- oder Set-Anweisungen im Datenladeskript fest.

TipphinweisSie 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

Variablen bieten die Möglichkeit, statische Werte oder das Ergebnis einer Berechnung zu speichern. Zur Definition einer Variablen verwenden Sie die folgende Syntax:

set variablename = string

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.

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

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“.

Benennen Ihrer Variablen

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.

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 Text – statt einer Zahl oder einer Formel – ist, 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.

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.

Die folgenden Skriptvariablen sind verfügbar:

Weitere Informationen

 

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!