Modyfikatory zestawów
Aby zmodyfikować zestaw, należy dodać do niego selekcję lub zmienić istniejącą selekcję. Taką modyfikację można zapisać w wyrażeniu zestawu.
Modyfikator składa się z dowolnej liczby nazw pól, a po każdej nazwie podana jest selekcja dokonywana w danym polu. Całość jest ujęta w ostre nawiasy: < i >. Na przykład: <Year={2007,2008},Region={US}>. Nazwy i wartości pól mogą być w zwykły sposób umieszczane w cudzysłowach, na przykład <[Sales Region]={'West coast', 'South America'}>.
Modyfikator zestawu modyfikuje selekcję poprzedniego identyfikatora zestawu. Jeśli brak jest odniesienia do identyfikatora zestawu, uznaje się za taki bieżący stan selekcji.
Wybór można zdefiniować na kilka sposobów:
- Na podstawie innego pola
- Na podstawie zestawów elementów (listy wartości pól w modyfikatorze)
- Wykluczenie wymuszone
Metody te są opisane w poniższych częściach.
Na podstawie innego pola
Prostym zastosowaniem jest dokonanie selekcji na podstawie wartości wybranych w innym polu, na przykład <OrderDate = DeliveryDate>. Taki modyfikator spowoduje pobranie wybranych wartości z pola DeliveryDate i zastosowanie ich jako selekcji w polu OrderDate. Jeśli odrębnych wartości jest wiele (więcej niż kilkaset), taka operacja bardzo obciąża procesor i nie jest zalecana.
Na podstawie zestawów elementów
Najbardziej typowym przykładem wyrażenia zestawu jest wyrażenie oparte na liście wartości pól ujętych w nawiasy klamrowe. Wartości są rozdzielane przecinkami — na przykład
Jeśli wartości z listy nie zawierają spacji ani znaków specjalnych, cudzysłowy nie są potrzebne. Wartości z listy zostaną po prostu dopasowane do wartości pola. Wielkość liter w porównaniu nie ma znaczenia.
Jeśli wartości z listy zawierają spacje lub znaki specjalne, lub jeśli wymagane jest używanie znaków wieloznacznych, wówczas takie wartości należy ująć w znaki cudzysłowu. Jeśli wartości z listy są jawnymi wartościami pola, należy użyć pojedynczych cudzysłowów. W takim przypadku zostaną dokonane dopasowania (z rozróżnianiem wielkości liter) między wartościami z listy, a wartościami poszczególnych pól.
W przypadku wyszukiwań, tj. ciągów zawierających znaki wieloznaczne lub zaczynających się od operatora relacyjnego lub znaku równości, należy używać cudzysłowów podwójnych. Na przykład
W poprzednich wersjach Qlik Sense cudzysłowy pojedyncze nie były odróżniane od podwójnych i wszystkie ciągi w cudzysłowach były traktowane jak wyszukiwania. W celu zachowania zgodności z poprzednimi wersjami aplikacje utworzone w starszych wersjach Qlik Sense nadal będą działać tak samo, jak w poprzednich wersjach. Aplikacje utworzone w wersji Qlik Sense November 2017 lub w nowszych wersjach uwzględniają różnice między tymi dwoma typami cudzysłowów.
Wykluczenie wymuszone
W przypadku pól w trybie AND można korzystać z wykluczenia wymuszonego. Aby wymusić wykluczenie wartości wybranych pól, należy podać znak „~” przed nazwą pola.
Examples and results:
Przykłady | Wyniki |
---|---|
|
Zwraca wartość sprzedaży dla regionu |
|
Zwraca wartość sprzedaży dla bieżącej selekcji, ale usuwa selekcję w wymiarze |
|
Zwraca tę samą wartość co w przykładzie podanym bezpośrednio powyżej. Jeśli modyfikowany zestaw zostanie pominięty, zakładany jest parametr $. Uwaga: Składnia w dwóch poprzednich przykładach zostanie zinterpretowana jako „brak selekcji” w wymiarze
|
|
Zwraca wartość sprzedaży dla bieżącej selekcji, ale z nowymi selekcjami w wymiarach |
|
Pole Ingredient znajduje się w trybie AND. Zwraca wartość sprzedaży dla bieżącej selekcji, ale z wykluczeniem wymuszonym wszystkich składników zawierających ciąg znaków garlic. |
|
Zwraca wartość sprzedaży dla bieżącej selekcji, ale z wybranymi w polu |
|
Podobnie jak powyżej, ale teraz w selekcji uwzględnione są również lata 80. XX wieku. |
|
Zwraca wartość sprzedaży dla bieżącego wyboru, ale z wyszukiwaniem liczbowym służącym do określenia zakresu lat w celu zsumowania tamtejszej sprzedaży. |