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

Übersicht

Beginnt der Wert einer Variablen mit einem Gleichheitszeichen '=', interpretiert Qlik Sense den Wert als Formel (Qlik Sense-Formel) und liefert das Ergebnis statt des eigentlichen Formeltexts.

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.

Zusätzliche Optionen beim Definieren von Variablen

In diesem Abschnitt werden zusätzliche Funktionen aufgelistet, die Sie zur Steigerung der Leistungsfähigkeit von Variablen verwenden können, die Sie im Ladeskript definieren.

Beschränken von Variablenwerten

Sie können Constrain-Anweisungen verwenden, um Skriptvariablen auf bestimmte Definitionen zu beschränken und so das Laden unerwünschter Werte zu verhindern. Constrain-Anweisungen können für Qualitätssicherung, verbesserte Zusammenarbeit bei der gemeinsamen Skriptentwicklung und erhöhte Sicherheit von Analyse-Apps verwendet werden. In Qlik Cloud können Constrain-Anweisungen auch in Kombination mit der Entwickler-API für dynamische, zur Neuladezeit stattfindende Variablenaktualisierungen verwendet werden.

Weitere Informationen finden Sie unter Constrain.

Definieren von skriptspezifischen Variablen

Sie können die Systemvariable ScriptOnlyVariables zum Einrichten skriptspezifischer Variablen verwenden. Eine Nur-Skript-Variable ist nur im Ladeskript verfügbar und wird zum Beispiel nicht in der Arbeitsblatt-Ansicht in der App angezeigt.

Weitere Informationen finden Sie unter ScriptOnlyVariables.

Löschen von Variablen

Sie können eine Drop variable-Anweisung verwenden, um Variablen im Skript zu löschen. Das Löschen einer Variable erweist sich als nützlich, wenn Sie eine Variable nur zum Durchführen von Berechnungen oder zum Definieren von Feldern im Kontext des Datenmodells verwenden möchten.

Weitere Informationen finden Sie unter Drop variable.

Löschen einer Variablen

Wenn Sie eine Variable aus dem Skript entfernen und die Daten erneut laden, verbleibt die Variable in der App. Wenn Sie die Variable vollständig aus der App entfernen möchten, können Sie einen der folgenden Schritte durchführen:

  • Löschen der Variable aus dem Variablendialogfeld.

  • Löschen der Variable im Skript mithilfe einer Anweisung Drop variable.

  • Festlegen der im Variablendialog nicht benötigten Variablen als skriptspezifische Variablen mithilfe der Systemvariable ScriptOnlyVariables im Skript.

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)
A3501560
B4701560
C7401560

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 ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!