Przykłady zmiennych w wyrażeniach
Zmienna w Qlik Sense to nazwana encja zawierająca wartość. Jeśli w wyrażeniu jest używana zmienna, wówczas jest zastępowana jej wartością lub definicją.
Przykład:
Zmienna x zawiera ciąg tekstowy Sum(Sales).
Na wykresie użytkownik definiuje wyrażenie $(x)/12. Wynik jest dokładnie taki sam, jak wynik wyrażenia wykresu Sum(Sales)/12.
Jeśli jednak wartość zmiennej x zostanie zmieniona na przykład na Sum(Budget), wówczas dane na wykresie zostaną natychmiast ponownie obliczone, a wyrażenie będzie interpretowane jako Sum(Budget)/12.
Interpretacja nazw
Nie zaleca się nadawania zmiennej nazwy takiej samej, jaką ma pole lub funkcja w programie Qlik Sense. Należy jednak wiedzieć, jak jej używać w wyrażeniu.
Przykład:
Ciąg XXX reprezentuje pole, zmienną, funkcję lub miarę. Ciąg XXX będzie interpretowany jako jeden z tych obiektów w zależności od sposobu utworzenia wyrażenia.
Wyrażenie | XXX interpretowane jako |
---|---|
XXX | miara, zmienna lub pole |
$(XXX) | zmienna |
Count(XXX) | pole lub zmienna |
XXX() | funkcja |
Podczas nazywania elementu unikaj nadawania tej samej nazwy więcej niż jednemu polu, zmiennej lub mierze. Podczas rozwiązywania konfliktów między obiektami o identycznych nazwach istnieje ścisła kolejność. Kolejność ta jest odzwierciedlana we wszystkich obiektach lub kontekstach, w których są używane te elementy. Kolejność jest następująca:
-
Wewnątrz agregacji pole ma pierwszeństwo przed zmienną. Etykiety miar nie są istotne w agregacjach i nie mają priorytetu.
-
Poza agregacją etykieta miary ma pierwszeństwo przed zmienną, która z kolei ma pierwszeństwo przed polem.
-
Dodatkowo, poza agregacją, miary można użyć ponownie przez odwołanie się do jej etykiety, chyba że etykieta jest w rzeczywistości obliczana. W takiej sytuacji miara traci na znaczeniu w celu zmniejszenia ryzyka odwoływania się do samego siebie i wtedy nazwa zawsze będzie interpretowana po pierwsze jako etykieta miary, po drugie jako nazwa pola, a po trzecie jako nazwa zmiennej.
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 wymagane jest załadowanie następujących danych w edytorze ładowania danych:
Zdefiniujmy dwie zmienne w oknie dialogowym zmiennych:
- Nazwa vSales Definicja'Sum(Sales)'
- Nazwa vSales2 Definicja'=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ą.