Praca ze zmiennymi w edytorze ładowania danych
Zmienna w aplikacji Qlik Sense 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 aplikacji, wszelkie dokonywane w niej zmiany zostaną zastosowane wszędzie tam, gdzie jest ona używana. Zmienne można definiować z użyciem podglądu zmiennych albo w skrypcie przy użyciu Edytora ładowania danych. Do ustawiania wartości zmiennej służą instrukcje Let i Set w skrypcie ładowania danych.
Przegląd
Jeśli pierwszy znak wartości zmiennej będzie znakiem równości „=”, aplikacja Qlik Sense podejmie próbę obliczenia formuły (wyrażenia Qlik Sense) 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ę Qlik Sense przy rozpoczęciu wykonywania skryptu niezależnie od ich wcześniejszych wartości.
Definiowanie zmiennej
Zmienne umożliwiają przechowywanie wartości statycznych lub wyników obliczeń. Podczas definiowania zmiennej użyj następującej składni:
lub
let variable = expression
Instrukcja Set służy do przypisywania ciągów. Powoduje przypisanie zmiennej wartości tekstowej podanej na prawo od znaku równości. Instrukcja Let ocenia wyrażenie po prawej stronie znaku równości w czasie wykonywania skryptu i przypisuje wynik wyrażenia do zmiennej.
W zmiennych rozróżniana jest wielkość liter.
Przykłady:
set x = 3 + 4; // zmienna otrzyma ciąg „3 + 4” jako wartość.
let x = 3 + 4; // zwraca 7 jako wartość.
set x = Today(); // zwraca „Today()” jako wartość.
let x = Today(); // zwraca dzisiejszą datę jako wartość, na przykład „27.09.2021”.
Nadawanie nazw zmiennym
Jako najlepszą praktykę warto rozważyć używanie standardowej konwencji nazewnictwa dla zmiennych tworzonych w aplikacji. Na przykład możesz zadbać o to, by wszystkie zmienne nazwy zaczynały się na v. Przykład: vTekstUżytkownika. Pomaga to w szybkim rozpoznawaniu zmiennych jako zmiennych oraz odróżnianiu ich od miar, pól i funkcji.
Dodatkowe opcje podczas definiowania zmiennych
Ta sekcja zawiera dodatkowe cechy, których można użyć do zwiększenia możliwości zmiennych definiowanych w skrypcie ładowania.
Ograniczanie wartości zmiennych
Można użyć instrukcji Constrain, aby ograniczyć zmienne skryptu do określonych definicji, zapobiegając ładowaniu niepożądanych wartości. Instrukcje Constrain mogą być używane do zapewnienia jakości, usprawnionej współpracy podczas wspólnego tworzenia skryptów oraz zwiększonego bezpieczeństwa aplikacji analitycznych. W Qlik Cloud, instrukcje Constrain mogą być również używane w połączeniu z API dewelopera do dynamicznych aktualizacji zmiennych w czasie ponownego ładowania.
Więcej informacji zawiera temat Constrain.
Definiowanie zmiennych tylko dla skryptu
Możesz użyć zmiennej systemowej ScriptOnlyVariables, aby ustawić zmienne tylko dla skryptu. Zmienna tylko dla skryptu jest dostępna tylko w skrypcie ładowania i nie jest wyświetlana, na przykład, w widoku arkusza w aplikacji.
Więcej informacji zawiera temat ScriptOnlyVariables.
Usuwanie zmiennych
Możesz użyć instrukcji Drop variable, aby usunąć zmienne w skrypcie. Usuwanie zmiennej jest przydatne, gdy chcesz użyć zmiennej tylko do wykonywania obliczeń lub definiowania pól w kontekście modelu danych.
Więcej informacji zawiera temat Drop variable.
Usuwanie zmiennej
Po usunięciu zmiennej ze skryptu i przeładowaniu danych zmienna pozostanie w aplikacji. Jeśli chcesz całkowicie usunąć zmienną z aplikacji, możesz wykonać dowolną z następujących czynności:
Usuń zmienną z okna dialogowego zmiennych.
Usuń zmienną ze skryptu, używając instrukcji Drop variable.
Ustaw zmienne, które nie są potrzebne w oknie dialogowym zmiennych, jako zmienne tylko dla skryptu, używając zmiennej systemowej ScriptOnlyVariables w skrypcie.
Więcej informacji zawiera temat Usuwanie zmiennej.
Ładowanie wartości zmiennej jako wartości pola
Jeśli chcesz załadować wartość zmiennej jako wartość pola w instrukcji LOAD, a wynik rozszerzenia przez znak dolara jest tekstem, a nie jest liczbą ani wyrażeniem, wówczas wymagane jest umieszczenie rozwiniętej zmiennej w pojedynczych cudzysłowach.
Przykład:
W tym przykładzie do tabeli ładowana jest zmienna systemowa zawierająca listę błędów skryptu. Można zauważyć, że rozszerzenie zmiennej ScriptErrorCount w klauzuli If nie wymaga cudzysłowów, a rozszerzenie zmiennej ScriptErrorList wymaga cudzysłowów.
Obliczanie zmiennej
Istnieje kilka sposobów używania zmiennych z obliczonymi wartościami w aplikacji Qlik Sense, a wynik zależy od sposobu ich określenia oraz wywoływania w wyrażeniu.
W tym przykładzie ładujemy dane wbudowane:
Zdefiniujmy dwie zmienne:
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ą.
Dostępne są następujące zmienne skryptu: