Filtry zaawansowane to oparte na wyrażeniach filtry, za pomocą których można tworzyć filtr niestandardowy na poziomie zestawu danych lub karty. Filtry zaawansowane mają dostęp do tych samych operatorów (na przykład +, ÷, > oraz <>) i funkcji co pola obliczane.
Notatka:
Filtry zaawansowane nie są dostępne dla pewnych zdalnych warstw obiektowych. Jeśli zdalna warstwa obiektowa nie obsługuje filtrów zaawansowanych, można skopiować warstwę do skoroszytu i zastosować filtr zaawansowany do tej kopii.
Zaawansowane wyrażenia filtrujące mogą być wyświetlane niepoprawnie w przypadku użycia w tym samym wyrażeniu przemieszanych znaków języków z pisownią od lewej do prawej i od prawej do lewej. Na przykład niepoprawnie może być wyświetlane wyrażenie wykorzystujące nazwy pól w dwóch językach, angielskim i arabskim. Na wyniki wyrażenia nie ma wpływu przemieszanie znaków języków z pisownią od lewej do prawej i od prawej do lewej.
Filtry zaawansowane mogą być przydatne w sytuacji, gdy zapytanie jest skomplikowane lub gdy niektóre informacje nie są znane albo wymagają obliczenia. Poniżej znajdują się przykłady użycia filtrów zaawansowanych:
- Istnieje zestaw danych ze szkołami w Stanach Zjednoczonych, ale potrzebne jest przeprowadzenie analizy dla szkół w hrabstwie Dallas w Teksasie. Zwykły filtr dla hrabstwa Dallas zwraca szkoły w Alabamie, Iowa i Teksasie. Filtr zaawansowany używający wyrażenia County="Dallas" AND State="Texas" będzie filtrować zestaw danych w taki sposób, że zostaną zwrócone tylko szkoły w powiecie Dallas w Teksasie.
- Istnieje zestaw danych z lokalizacjami, przychodami i wydatkami sklepów, ale mają być widoczne tylko sklepy przynoszące straty. Filtr zaawansowany używający wyrażenia Revenue<Expenses będzie filtrować zestaw danych w taki sposób, że zostaną zwrócone tylko sklepy o przychodzie mniejszym niż wydatki.
- Istnieje zestaw danych z lokalizacjami hydrantów, datami inspekcji i statusem inspekcji z okresu kilku lat, ale chcesz wyświetlić tylko inspekcje uszkodzonych hydrantów przeprowadzone w 2018 r. i później. Filtr zaawansowany z wyrażeniem InspectionDate>=DATE(2018,01,01)AND Status="Damaged" będzie filtrować zestaw danych w taki sposób, że zostaną wyświetlone tylko oceny uszkodzeń z okresu po 1 stycznia 2018 r.
Notatka:
W wyrażeniu filtru zaawansowanego, w którym używane jest pole daty/czasu, należy zastosować funkcję daty, taką jak DATE(), DATEVALUE() lub NOW(). Data wprowadzona jako wartość znakowa (na przykład "01/01/2018" dla 1 stycznia 2018 r.) nie zostanie odczytana jako wartość daty i nie spowoduje zwrócenia żadnych wyników.
Stosowanie filtru zaawansowanego na poziomie zestawu danych
Aby zastosować filtr zaawansowany na poziomie zestawu danych, wykonaj następujące czynności:
- Na panelu danych znajdź zestaw danych, do którego ma zostać zastosowany filtr.
- Obok zestawu danych kliknij przycisk Opcje zestawu danych .
- W menu opcji zestawu danych kliknij Filtr zaawansowany.
- Kliknij w polu Niestandardowe wyrażenie filtru, aby wyświetlić dostępne pola oraz funkcje i rozpocząć pisanie wyrażenia.
- Na dole pola Niestandardowe wyrażenie filtru znajdź zielony znacznik wyboru wskazujący poprawność wyrażenia.
Notatka:
Aby wyrażenie było poprawne dla operacji filtrowania, musi zawierać operator warunkowy, taki jak <, = lub <> (na przykład Revenue-Expenses>100000).
- Kliknij przycisk Zastosuj.
Wyrażenie zostanie zastosowane dla całego zestawu danych. Wszystkie karty utworzone z użyciem zestawu danych zostaną odświeżone i zaktualizowane.
Stosowanie filtru zaawansowanego na poziomie karty
Aby zastosować filtr zaawansowany na poziomie karty, wykonaj następujące czynności:
- Utwórz mapę, diagram lub tabelę, korzystając z zestawu danych, który ma być filtrowany.
- Kliknij przycisk Filtr kart na pasku narzędziowym karty.
- W panelu Nowy filtr kliknij pozycję Zaawansowany.
- Kliknij w polu Niestandardowe wyrażenie filtru, aby wyświetlić dostępne pola oraz funkcje i rozpocząć pisanie wyrażenia.
- Na dole pola Niestandardowe wyrażenie filtru znajdź zielony znacznik wyboru wskazujący poprawność wyrażenia.
Notatka:
Aby wyrażenie było poprawne dla operacji filtrowania, musi zawierać operator warunkowy, taki jak <, = lub <> (na przykład Revenue-Expenses>100000).
- Kliknij przycisk Zastosuj.
Wyrażenie jest stosowane tylko do filtrowanych kart. Pozostałe karty korzystające z tego samego zestawu danych nie zostaną zaktualizowane.
Notatka:
Na aktywnym przycisku Filtr kart wyświetlana jest liczba filtrów na karcie, w tym filtrów zaawansowanych. Gdy tworzony jest zaawansowany filtr kart, wynikowy zestaw danych także zostanie dodany do panelu danych z zastosowanym do niego tym samym filtrem na poziomie zestawu danych. Jeśli przy użyciu wynikowego zestawu danych są tworzone nowe karty, wówczas wszystkie te karty będą odnosiły się do filtru wynikowego zestawu danych, a filtr karty zostanie usunięty z oryginalnej karty. Ponieważ oryginalna karta także odnosi się do wynikowego zestawu danych, wyświetlane dane nie zostaną zmodyfikowane.
Usuwanie lub aktualizowanie filtru zaawansowanego
Aby zaktualizować zaawansowany filtr zestawu danych, wykonaj następujące czynności:
- Kliknij przycisk Opcje zestawu danych związany z zestawem danych, w którym zastosowano filtr zaawansowany.
- Kliknij opcję Filtr zaawansowany w menu opcji zestawu danych.
- Wykonaj jedną z następujących operacji:
- Zmień wyrażenie filtru i kliknij przycisk Zastosuj, aby zaktualizować filtr.
- Kliknij przycisk Usuń filtr , aby usunąć filtr.
Aby zaktualizować zaawansowany filtr kart, wykonaj następujące czynności:
- Kliknij aktywny przycisk Filtr karty .
- Kliknij filtr, który ma zostać zaktualizowany.
- Wykonaj jedną z następujących operacji:
- Zmień wartości filtru i kliknij przycisk Zastosuj, aby zaktualizować filtr.
- Kliknij przycisk Usuń filtr , aby usunąć filtr.
Przykłady wyrażeń
Poniższa tabela zawiera przykłady typów wyrażeń, których można używać w filtrach zaawansowanych:
Wyrażenie | Opis |
---|---|
DATEDIF(date_field, NOW(), "D")<=28 | Filtruje dane tak, aby wyświetlić wpisy z ostatnich 28 dni. |
number_field>AVG(number_field) | Filtruje dane tak, aby wyświetlić wiersze, w których wartość pola number_field jest większa niż średnia. |
number_field_1>number_field_2 | Filtruje dane tak, aby wyświetlić wiersze, w których wartość pola number_field_1 jest większa niż wartość pola number_field_2. |
number_field<10 OR number_field>20 | Filtruje dane tak, aby wartości w środku (w tym przypadku liczby między 10 i 20) nie były uwzględniane. |
string_field IS NOT NULL | Filtruje dane tak, aby uwzględniane były tylko wiersze, w których pole zawiera wartości inne niż null. |