Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Przykłady zmiennych w wyrażeniach

Zmienna w Qlik Sense to nazwana jednostka zawierająca wartość. Jeśli w wyrażeniu jest używana zmienna, wówczas jest zastępowana jej wartością lub definicją.

Sposoby używania zmiennych w wyrażeniu

Zmiennej można używać na dwa różne sposoby: w bezpośrednim odwołaniu lub w rozszerzeniu przez znak dolara. Jeśli użyjesz bezpośredniego odniesienia, wartość zmiennej zostanie użyta w obliczeniach. Jeśli użyjesz rozszerzenia przez znak dolara, całe rozszerzenie przez znak dolara zostanie zastąpione wartością zmiennej, zanim wyrażenie zostanie przeanalizowane. Dlatego te dwie różne metody mogą zwracać różne wyniki.

Przykład: używanie zmiennej z rozszerzeniem przez znak dolara

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.

WskazówkaGdy w wyrażeniach używane są zmienne, możliwa jest jednoczesna zmiana wyrażenia używanego w całej gamie wykresów przez prostą edycję zmiennej.

Przykład: zmienna z rozszerzeniem przez znak dolara w tabeli przestawnej

Załóżmy, że masz tabelę przestawną lub obiekt Przestawienie z następującymi elementami:

  • Wymiary to Product Type i Product Name.

  • Miary to Sum(Sales) i Count (distinct InvoiceNumber).

  • Elementy w sekcji Kolumny to Wartości (domyślne) oraz pole Quarter.

Możesz użyć zmiennych, aby zachęcić do interaktywnej analizy. Załóżmy, że utworzysz również zmienną vUserInteraction z pustą definicją. Następnie utworzysz w arkuszu dwa wykresy z Przyciskami, skonfigurowane za pomocą działania Ustaw wartość zmiennej:

  • Pokaż więcej szczegółów: kliknięcie tego przycisku ustawia vUserInteraction na wartość ='Yes'.

  • Pokaż mniej szczegółów: kliknięcie tego przycisku ustawia vUserInteraction na wartość ='No'.

W tabeli przestawnej możesz dodać do wykresu szereg dodatkowych miar, takich jak Count(Quantity) i Sum(Cost). Następnie skonfiguruj każdą kolumnę miary tak, aby miała następującą wartość Pokaż kolumnę, jeśli:

'$(Reference)'='Yes'
 

Dzięki temu wykres można dostosować do tego, czy użytkownik potrzebuje dodatkowych informacji. Jeśli użytkownik kliknie przycisk Pokaż więcej szczegółów, do tabeli zostaną dodane dodatkowe miary. W przeciwnym razie lub po kliknięciu przycisku Pokaż mniej szczegółów dodatkowe miary zostaną usunięte.

Więcej przykładów: używanie zmiennych w rozszerzeniach przez znak dolara

Rozszerzenia przez znak dolara są wszechstronnym i potężnym narzędziem w Qlik Sense, z wieloma możliwymi zastosowaniami. Więcej przykładów można znaleźć w sekcji Rozszerzenia przez znak dolara.

Przykład: bezpośrednie odwołanie do zmiennej w wyrażeniu

Używanie zmiennej jako bezpośredniego odwołania jest mniej powszechne, ale nadal przydatne. Na przykład:

Załóżmy, że w Twoim modelu danych znajduje się pole TransactionSummary, które zawiera podsumowania transakcji w postaci tekstu dowolnego. Pole to może zawierać dodatkowe informacje o transakcjach. Na przykład transakcja może mieć podsumowanie w celu udokumentowania, że klient zakupił produkt na kredyt w sklepie lub w celu udokumentowania wszelkich kwestii, które pojawiły się podczas sprzedaży.

W swojej aplikacji możesz chcieć użyć TransactionSummary, ale chcesz umieścić dane w kontekście bez wpływu na model danych lub skrypt ładowania i bez przechowywania ich w innym miejscu wykresu.

Możesz wykonać następujące czynności:

  1. Utwórz zmienną o nazwie vIntroStatement w oknie dialogowym zmiennych z następującą definicją:

    ='The following summary was provided by the vendor: '
  2. Dodaj następującą miarę do wykresu Tekst i grafika:

    vIntroStatement & TransactionSummary

Zapisanie instrukcji wprowadzającej jako zmiennej pozwala centralnie kontrolować użycie wartości. Na przykład zmienna vIntroStatement może być używana na wielu wykresach i w ramach wielu różnych miar (na przykład może istnieć oddzielny wykres, który czasami zawiera tekst opisujący, ile sztuk zostało sprzedanych podczas transakcji). Użycie zmiennej pozwala uprościć proces aktualizowania wyrażeń w aplikacji. Aby dokonać zmiany w sformułowaniu, wystarczy zaktualizować zmienną, a zmiany zostaną odzwierciedlone w całej aplikacji.

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.

Przykłady interpretacji nazw
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.

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.

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:

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

 

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.

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ą.

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!