Skriptvariablen
Eine Variable in QlikView ist eine Sammelbox, die einen statischen Wert oder eine Berechnung speichert, z. B. einen numerischen oder alphanumerischen Wert. Wenn Sie die Variable im Dokument verwenden, wird jede Änderung an der Variable überall dort angewendet, wo die Variable verwendet wird. Variablen werden im Skript über den Skript-Editor definiert, in dem die Variable seinen Wert von einem Let- oder Set-Befehl oder anderen Steuerungsbefehlen im Ladeskript erhält.
Beginnt der Wert einer Variablen mit einem Gleichheitszeichen '=', interpretiert QlikView den Wert als Formel (QlikView-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 QlikView am Beginn der Skriptausführung unabhängig von ihren vorherigen Werten festgelegt.
Zur Definition einer Variablen wird die Syntax:
oder
let variable = expression
verwendet. Mit dem Befehl Set wird der Text rechts vom Gleichheitszeichen der Variablen zugewiesen, während mit dem Befehl Let der Ausdruck berechnet wird.
Bei Variablen wird zwischen Groß- und Kleinschreibung unterschieden.
Beispiele:
set HidePrefix = $ ; // die Variable erhält das Zeichen '$' als Wert.
let vToday = Num(Today()); // gibt die Datumsseriennummer des heutigen Tages zurück.
Variablenberechnung
Variablen mit berechneten Werten lassen sich in QlikView 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.