Zmienne skryptu

Zmienna w aplikacji QlikView to kontener, w którym przechowywana jest wartość statyczna lub obliczenie, na przykład wartość liczbowa lub alfanumeryczna. W przypadku użycia tej zmiennej w dokumencie, wszelkie dokonywane w niej zmiany zostaną zastosowane wszędzie tam, gdzie jest ona używana. Zmienne są definiowane w skrypcie przy użyciu edytora skryptów, gdzie do nadania zmiennej jej wartości służy instrukcja Let, Set lub inna instrukcja sterowania w skrypcie ładowania.

Jeśli pierwszy znak wartości zmiennej będzie znakiem równości „=”, aplikacja QlikView podejmie próbę obliczenia formuły (wyrażenia QlikView) i wyświetlenia lub zwrócenia wyniku takiego obliczenia zamiast samej treści formuły.

W chwili użycia nazwa zmiennej jest zastępowana jej wartością. Zmiennych można używać w skrypcie na potrzeby rozszerzenia przez znak dolara i różnych instrukcji sterowania. Jest to szczególnie przydatne, gdy w wielu miejscach skryptu powtarza się ten sam ciąg znaków (np. ścieżka).

Niektóre specjalne zmienne systemowe są ustawiane przez aplikację QlikView przy rozpoczęciu wykonywania skryptu niezależnie od ich wcześniejszych wartości.

Do definiowania zmiennej służy następująca składnia:

set variablename = string

or

let variable = expression

. Polecenie Set powoduje przypisanie zmiennej wartości tekstowej podanej na prawo od znaku równości, natomiast polecenie Let powoduje obliczenie wartości wyrażenia.

W nazwach zmiennych rozróżniana jest wielkość liter.

Examples:  

set HidePrefix = $ ; // W parametrze jako wartość zmiennej zostanie ustawiony znak „$”.

let vToday = Num(Today()); // zwraca numer seryjny odpowiadający dzisiejszej dacie.

Obliczanie zmiennej

Istnieje kilka sposobów używania zmiennych z obliczonymi wartościami w aplikacji QlikView, a wynik zależy od sposobu ich określenia oraz wywoływania w wyrażeniu.

W tym przykładzie ładujemy dane wbudowane:

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

Zdefiniujmy dwie zmienne:

Let vSales = 'Sum(Sales)' ;
Let vSales2 = '=Sum(Sales)' ;

W drugiej zmiennej dodajemy znak równości przed wyrażeniem. Spowoduje to obliczenie zmiennej przed jej rozwinięciem i ocenę wyrażenia.

W przypadku użycia zmiennej vSales w niezmienionej postaci, na przykład w mierze, wynikiem będzie ciąg Sum(Sales), co oznacza, że obliczenie nie jest wykonywane.

W przypadku dodania rozszerzenia przez znak dolara i wywołania $(vSales) w wyrażeniu, zmienna zostaje rozwinięta i wyświetlana jest suma Sales.

Z kolei po wywołaniu $(vSales2) zmienna będzie obliczona przed rozwinięciem. Oznacza to, że wyświetlony wynik jest sumą całkowitą Sales. Różnica między użyciem =$(vSales) i =$(vSales2) jako wyrażeń miary jest widoczna w tym wykresie ukazującym wyniki.

Dim $(vSales) $(vSales2)
A 350 1560
B 470 1560
C 740 1560

Jak widać, $(vSales) daje w wyniku sumę częściową dotyczącą wartości wymiaru, natomiast $(vSales2) — sumę całkowitą.