Blog
6.3.2020

Filtrowanie danych w Tableau – typy filtrów i ich hierarchia

Spis treści:
Tagi:
No items found.
Klient:
Autor:
Aleksandra Filipek

Co to jest filtrowanie danych?

W zdecydowanej większości przypadków pracy z danymi nie chcemy wykorzystywać wszystkich zawartych rekordów z danego wymiaru bądź miary, ale te spełniające dany warunek/ warunki. Filtrowanie danych służy nam, w danym momencie, do pokazania tylko interesujących nas rekordów. Bez filtrowania bardzo ciężko byłoby dokonać wartościowej analizy bądź pokazać na wizualizacji konkretne przypadki biznesowe.

Typy filtrów oraz ich hierarchia

Po opanowaniu podstawowych funkcjonalności oraz interfejsu Tableau zaczynają nam się nasuwać nieco bardziej szczegółowe pytania, a jednym z nich jest: Jak to właściwie jest z tym filtrowaniem? Które filtry mają pierwszeństwo, kiedy ich używać i w jaki sposób? To dość obszerne zagadnienie, jednak warto zacząć od rozróżnienia typów filtrów oraz hierarchii wykonywania.

Rysunek poniżej w bardzo trafny sposób opisuje kolejność działań na filtrach i rozróżnia podstawowe ich typy. Warto poświęcić mu chwilę i przyjrzeć się nieco „głębiej”! Zaczynajmy więc! Idąc od góry hierarchii…

Typy filtrów i ich hierarchia

Extract filters

Kiedy załadowujesz dane, możesz wykonać ekstrakt, zachowując aktualny stan swojego Workbooka i przez to zredukować liczbę zapytań do bazy danych. Żeby dodatkowo zmniejszyć rozmiar danych „idących” do wizualizacji, możesz na ten ekstrakt nałożyć filtr. Filtrować możemy konkretny wymiar lub miarę bądź też posłużyć się formułą TOP jak poniżej.

Edycja filtrów na ekstrakcie (extract filters)

To bardzo przydatne narzędzie, gdy chcemy zoptymalizować nasz Performance i już na niskim poziomie maksymalnie zredukować liczbę zapytań do bazy danych tylko do tych koniecznych.

Data source filters

Podobnie jak Extract Filters, Data Source Filters ograniczają liczbę danych mających wpływ na wizualizację w Tableau i ograniczają ich ilość z pozycji użytkownika. Ten typ filtru jest używany do kontroli danych wrażliwych. Ważną rzeczą w tym przypadku jest to, że Extract oraz Data Source Filters nie są połączone – jeśli z powrotem przejdziemy do live connection, nasze filtry Data Source zostają nietknięte!

Edycja filtrów na źródle danych (data source filters)

Context filters

Filtrowanie w Tableau ma zastosowanie do wszystkich wierszy, bez odniesienia do innych filtrów. Jeżeli np. potrzebujemy zastosowania jednego wybranego przed innymi, nawet z powodów wydajnościowych (odfiltrowując przykładowo jedną kategorię pokazując top X) bądź stosując funkcję LOD FIXED – użycie filtra kontekstowego daje nam pewność, że będzie on się wykonywał jako pierwszy. Filtry kontekstowe są używane „per widok”, jednak możemy je zastosować do wybranych Worksheetów, wszystkich używających tego samego źródła danych lub wszystkich używających „Related Data Source”. Filtry kontekstowe pozytywnie wpływają na wyniki oraz wydajność, jednak musimy pamiętać, że jeśli wystarczająco nie redukują liczby danych (przyjęto 1/10 lub więcej), koszt przeliczania jest zbyt wysoki, aby miał pozytywny wpływ na daną wizualizację.

O praktycznym tworzeniu filtrów Step by Step w kolejnej części artykułu, ale już teraz warto wiedzieć, w którym miejscu dzieje się rzecz!

Dodanie filtra do kontekstu (context filters)

Dimension filters

Inny rodzaj filtru, tym razem dla naszych niebieskich pigułek. Mamy tu na myśli filtrowanie Wymiarów, Grup, Binów, Setów itd. Możemy je stworzyć zarówno poprzez panel Filtrów oraz kliknięcie prawym klawiszem myszy na dany wymiar. Wartości zaznaczamy jako „Included” albo „Excluded” w zależności od tego, która droga jest krótsza, aby uzyskać zamierzony zakres danych. Filtrować możemy na różne sposoby.

Dodawanie filtra z wymiaru (dimension filters)
Filtr na wymiarze przez Top N

Powyższy rysunek pokazuje nam zakładki zastosowań filtru wymiaru. Jak widzicie, możliwe jest użycie TOP X, napisanie konkretnego warunku filtrującego lub użycie Wildcard, ale nie wnikajmy w to na tym etapie! W każdym momencie można edytować filtry i zmieniać im zakres bądź w dowolny sposób je modyfikować.

Measure filters

Filtry zagregowane stosowane są tuż po tych niezagregowanych (Dimension Filters), niezależnie od kolejności w panelu użytych filtrów. Tableau zawsze zapyta nas o sposób agregacji danego filtra jak na rysunku poniżej. Wartością domyślną– jak zapewne się już domyślacie jest SUM. Kolejny krok otworzy przed nami 4 opcje, przy czym funkcja Special zawiera w sobie możliwość zawarcia wartości Null bądź ich wyłączenia.

Dodawanie filtrów na miarach (measure filters)
Zakres od do na filtrze na mierze

Table calculation filters

To ostatni filtr w naszej hierarchii, który ma zastosowanie po wszystkich pozostałych z naszej hierarchii. Filtrujemy już na samej wizualizacji bez poruszania danych „wewnętrznie”. Dobrym przykładem jest nałożenie Reference Line z jednoczesnym nienaruszaniem uprzednio stworzonego Quick Filter. To w tym miejscu spotykamy się z takimi funkcjami jak:

  • LOOKUP
  • WINDOW_SUM
  • WINDOW_AVG
WINDOW_AVG table calculation filter

Jak widzicie, Tableau oferuje dość szerokie spectrum filtrów ułatwiających nam pracę z danymi. Jednakże obycie się z nimi i automatyczne używanie według wybranych Use Case-ów wymaga czasu i praktyki – jak wszystko!

Czas nieco rozszerzyć perspektywę – czyli filtry globalne i tabela je zawierająca

Skoro poznaliście już rodzaje filtrów i wstępną hierarchię ich aplikowania do naszej wizualizacji, warto byłoby przyjrzeć się nieco ich umiejscawianiu.

Tabela filtrów globalnych. Czym ona właściwie jest? Jak sama nazwa wskazuje, jest to miejsce na tworzonym przez nas Dashboardzie, w którym znajduje się szereg filtrów działających na wybrane worksheety (zwykle wszystkie). Dobrą praktyką jest układanie ich na layoucie w jednym miejscu. Prostym i skutecznym sposobem na uzyskanie pożądanego efektu jest stworzenie tabeli filtrów globalnych. Jej przykład widzicie poniżej.

Filtry globalne (global filters)

Nasze filtrowanie odbywa się za pomocą utworzonych wcześniej parametrów. Aby stworzyć tabelę filtrów, warto zrobić to w nowo utworzonym Worksheecie. Gdy wybierzemy już pola, które chcemy filtrować, możemy zwyczajnie kliknąć na nie prawym przyciskiem myszy i wybrać opcję „Show Filter”.

Po prawej stronie ujrzymy nowo utworzony panel z wybranymi filtrami.

Pokaż filtr (Show filter)

Uwaga! Czas na chwilę skupienia

Z  tego właśnie miejsca sterujemy zasięgiem filtrów. Klikając prawym klawiszem na dodany uprzednio filtr, rozwijamy opcję Apply to Worksheets i widzimy różne możliwości ustawienia zasięgu filtrów. Jeżeli chcemy, aby nasze filtrowanie odbywało się tylko na poziomie wybranego Worksheetu, naturalnie wybierzemy opcję „Only this Worsheet”. Jeżeli natomiast chcemy dodać filtr globalny do naszego nowoutworzonego panelu, powinniśmy skorzystać z pierwszych 2 opcji, jak pokazano poniżej.

Zasięg filtrów (apply to worksheets)

Aby skutecznie wykreować i powołać do życia nasz panel filtrów globalnych, musimy przenieść go na nasz Dashboard. Jeżeli natomiast chcielibyśmy, aby nasz panel otwierał się przy pomocy przycisku, możemy utworzyć takowy jako pole tekstowe w oddzielnym Worksheecie i zaaplikować akcję, która będzie wywoływać przekierowanie z przycisku do naszego panelu. To bardzo ważne przy optymalizacji przestrzeni na naszym Dashboardzie!

Akcja na filtrze (filter action)

Filtrowanie kaskadowe

Żeby nie przedłużać – filtrowanie kaskadowe polega na pewnego rodzaju relacji pomiędzy filtrami, gdzie jeden powoduje ograniczenie drugiego. Na żywym przykładzie oznacza to, że jeśli chcielibyśmy pokazać dane dla piątków we wszystkich dostępnych miesiącach Luty – jest to dobry moment na pomyślenie o użyciu tego właśnie rodzaju filtrowania.

Na początek możemy stworzyć Quick Filters dla kilku dostępnych pól (w tym przykładzie użyte są dwa). Filtrujemy Region po Strefach oraz sam Region. Gdyby ktoś z Was zapomniał jak stworzyć Quick Filter – służę pomocą zamieszczając obrazek poniżej.

Łączenie filtrów

Gdy wejdziemy teraz w opcje filtra – widzimy dwie wartości jak na załączonym fragmencie.

Łączenie filtrów

przy czym All Values in Database robi dokładnie to, jak się nazywa, Only Relevant Values natomiast jest nieco bardziej wymowny. Oznacza, że lista filtra będzie pokazywać wartości pozostałe po użyciu pozostałych filtrów. Ale uwaga! Filtry te muszą znajdować się na tym samym bądź wyższym poziomie w hierarchii.

Oznacza to, że dla stworzonych przeze mnie dwóch filtrów – Strefy oraz Regionu, w przypadku ustawienia Strefy na All Values, a Regionu na Relevant – otrzymam filtr kaskadowy obu. Czyż to nie przyjemne rozwiązanie?

Ustawienie Strefy na All Values

Ok, ale co jeśli potrzebujemy więcej?

Filtrowanie a dodawanie kontekstu

Filtr może być dodany do kontekstu jeśli jest już umieszczony na Filters Shelf.

Jeżeli do 2 pozostałych, wcześniej utworzonych filtrów chcemy dorzucić jeszcze np. Stan, wymaga to dodania najwyższego w hierarchii – w naszym przypadku Strefy, do kontekstu. Wtedy odpowiednio Region jest ustawiony na „All Values in context”, a Stan na „Relevant”. I wszystko gra! Jak poniżej.

Dodawanie filtra do kontekstu

To co, bawimy się dalej? Uprzedzę Was, że nasza gra miałaby 6 rund, jednak żeby nie komplikować sytuacji  i nie przytłaczać nadmiarem wiedzy, która jest używana tylko w niektórych Use Case’ach, pokażę Wam tylko pokrótce, na czym miałyby polegać zasady. I tak na przykład, żeby dodać Miasto jako kolejny szczebel naszej hierarchii, miałoby to wyglądać następująco:

Dodawanie kolejnego szczebla hierarchii

Table Calculation – nasze kolejne koło ratunkowe

Tym sposobem skończyły nam się opcje standardowe, ale czegóż nie wymyślą Tableau Zen, żeby obejść problemy dnia codziennego… Z pomocą przychodzi Table Calc, który działa na wybranym wymiarze. Dodany do widoku działa jak „Only Relative”.

LOOKUP table calculation

Ostatnim i najbardziej zaawansowanym krokiem jest dodanie filtru jako Data Source i stworzenie relacji z poprzednimi. Jest to jednak dość długi zabieg wykonywany w kilku krokach, a myślę, że na dziś już wystarczy, więc na koniec podrzucam tabelkę z drobną systematyzacją wiedzy. Have fun!

Dodawanie filtru jako Data Source

,
No items found.