Jak działa parametr i pole obliczeniowe w Tableau
Planujesz rozbudować dashbaord w Tableau? Chcesz dodać pola obliczeniowe lub wprowadzić więcej interaktywności? W tym artykule pokażę na przykładzie, jak działa tzw. calculated field i parametr w Tableau. Oba zagadnienia opisałem bardzo pobieżnie w innym wpisie na temat początków w Tableau (link). Z uwagi na to, iż obie funkcjonalności są ważne, to dziś rozwinę temat. Co więcej, działanie parametru możecie sami sprawdzić w praktyce w tzw. Dash Corner, do którego zachęcam 😊
Co zrobimy?
Po pierwsze będę nadal pracować z danymi odnośnie emisji Co2 w Polsce. W poniższym przykładzie najpierw utworzę pole obliczeniowe (w oryginale calcualted field, będę używał tych nazw wymiennie), aby dodać nową kolumnę (Emisje per osoba). Normalnie te dane mogłyby znajdować się w źródle, ale u mnie tak nie było. Następnie utworzę parametr, w którym zdefiniuję kilka opcji (szczegóły poniżej). Będzie on rodzajem przełącznika 😀 A na końcu utworzę kolejne pole obliczeniowe, które połączy parametr z resztą moich danych. W ten sposób kombo parametr + calcualted field pozwoli na ciekawy i interaktywny efekt końcowy 😀
Calculated field
Zanim zobaczymy, jak działa parametr w Tableau przyglądniemy się calculated field. W skrócie jest to dodanie do źródła raportu (np. tabela w Excelu albo bazie) dodatkowej kolumny. Co ważne, dodajemy ją tylko na poziomie Tableau. Calculated field tworzymy poprzez formułę i otrzymujemy kolumnę, którą możemy później wykorzystać. Oczywiście, alternatywnie można tą samą informację dodać zanim załadujemy nasze dane. Tylko no właśnie…nie zawsze jest to możliwe lub po prostu nie jest to wygodne.
Co potrafi calculated filed? Pełną dokumentację znajdziecie tu (link). W skrócie powiedziałbym, że możemy stosować standardowe operacje arytmetyczne, składnie typu Jeżeli (If), Case when, funkcje statystyczne (średnia, max, min), funkcje formatujące tekst, funkcje do analizy czasu itd. A więc w praktyce całkiem sporo 😊 Tu przypominam, że Tableau nie ma wersji polskiej, więc zrzuty ekranu będą po angielsku. Dla osób, które przechodzą do Tableau z np. Excela czy Google Sheets, mam jedną ważną uwagę. Tu „myślimy” tabelowo. A więc zapominamy o komórkach, jak A5, C10 itd. Jeśli dodajemy np. 100 do danej kolumny, to automatycznie dodajemy to do każdego wiersza. Nie musimy też „przeciągać” formuły lub tym podobne.
Tworzymy Calculated field
W moim przypadku potrzebuję jednej dodatkowej kolumny. Mam już informacje na temat emisji Co2 dla danego województwa, ale chciałbym również wyliczyć, jak to będzie wyglądać w przeliczeniu na osobę. Mam także kolumnę na temat liczby ludności w każdym województwie. W tym celu muszę wykonać prostą operację matematyczną. I wykorzystam do tego pole obliczeniowe.
Z poziomu arkusza otwieram w górnym menu opcje i wybieram Create Calucated field:
Otwiera się puste okno formuły z paskiem pomocy po prawej stronie.
Tu możemy nadać nazwę, która póżniej pojawi się na liście wraz z dotychczasowymi kolumnami.
Następnie wpisuję formułę. Można też przeciągnąć myszką nazwy z lewej strony, gdzie mamy listę tzw. dimensions i measurements. Ewentualnie, jak zaczynam wpisywać nazwę kolumny z ręki to wówczas pojawia się podpowiedź.
W moim przypadku to proste dzielenie Emisje/Ludność czyli:
Dodatkowo, postanowiłem że wynik pomnożę przez tysiąc, aby uzyskać wynik w kg. Standardowo bowiem w moich danych Emisję są w tonach i jeśli przeliczę to na osobę, to wynik wygląda mało przejrzyście.
Dodaję zatem odpowiednie mnożenie. Sprawdzam, czy formuła jest poprawna (musi być The calculation is valid, jak poniżej) i gotowe. Jeśli pojawia się jakiś błąd, to główkujemy 😊 Klikając na OK potwierdzamy utworzenie nowego pola obliczeniowego.
Na liście obliczeń (measurements) pojawiła się nowa pozycja „Emisje per osoba”:
Parametr
Jak działa zatem parametr w Tableau? Jest to inaczej zmienna i narzędzie pozwala na jej wprowadzenie i „wpięcie” do reszty analizy czy wizualizacji. W dużym skrócie możemy zrobić rodzaj „przełącznika”, którym przykładowo wywołamy pewne zachowania na wykresie. To trochę jakbyśmy budowali własną aplikację i programowali przycisk. Co ma się stać, jak go włączę lub przełączę na wybraną opcję. W praktyce pozawala to na ciekawe kombinacje.
W moim przypadku zbudowałem „przełącznik” na dashboardzie. Zależnie od wybranej opcji widzimy emisje (sumy) albo emisje per capita (osoba). Dla mnie jest to o tyle ciekawe, że analizując wyniki widzimy je na różnych poziomach. Normalnie musiałbym zbudować dwa oddzielne wykresy. Tu mogę mieć jeden, a parametr pozwoli na przełączanie się pomiędzy dwoma typami informacji.
Jak tworzymy parametr?
Zanim nastąpi techniczny krok, polecam planowanie w głowie lub na papierze. Powinniśmy przemyśleć, co chcemy zrobić i jak to wpłynie na dane. W moim przypadku musiałem najpierw stworzyć dodatkową kolumnę emisje per osoba, gdyż emisje (suma) już miałem. I dopiero wtedy stworzyłem parametr, który w zależności od wyboru (powyżej) „zaczyta” jedną z dwóch kolumn. Dla Excelowców to trochę tak, jakbyśmy tworzyli funkcję Jeżeli, która będzie pokazywać coś lub coś w zależności od wyboru. W tym przypadku jednak mamy dużo fajnych opcji…no i całość się klika 😉
Wstawianie parametru
Początek jest dość prosty. Klikamy na puste pole prawym przyciskiem myszy (lub klikamy na strzałkę po lewej stronie w menu) i wybieramy „Create Parameter”:
Następnie pojawia się kilka opcji do konfiguracji.
Możemy nadać nazwę, którą później wykorzystamy. U mnie będzie to:
Następnie konfigurujemy typ danych (Data type), ale uwaga, chodzi o to, co będziemy wybierać w parametrze. Czy damy użytkownikowi pole z cyframi np. 1,2,3. A może będzie to tekst, data itd?
Jak widać, mogą to być np. liczby, tekst (string) czy data (z czasem).
Następnie możemy określić wartość aktualną (current value) i zdecydować, czy ma ona pojawić się przy ładowaniu dashboardu. Jeśli wprowadzimy kilka rzeczy do wyboru (następny krok), to z listy rozwijanej „Value when workbook opens” możemy zadecydować, co pokazać użytkownikowi jako wartość domyślną.
Możemy także zadecydować o formatowaniu:
Parametr – co będzie do wyboru
I teraz rzecz, która musimy skonfigurować, czyli jak i co użytkownik będzie wybierać dla naszego parametru. Wracając do metafory z przyciskiem, moglibyśmy powiedzieć, że wskażemy, jaki będzie miał wybór. A może dostanie też panel, gdzie będzie mógł wpisać wszystko 😊
Jeśli chcemy ograniczyć wybór, to przydatna będzie lista (List), ewentualnie zakres (Range). Jest jeszcze opcja All, gdzie wpisujemy dowolną liczbę czy wartość. W moim przypadku potrzebuję jednak wybór pomiędzy dwoma typami prezentacji danych. I dlatego wybieram listę, gdzie muszę wpisać odpowiednie wartości w kolumnie „Value” i ewentualnie w „Display as”.
Pierwsza informacja (Value) okreśa, co będzie wybierane a druga (Dispay as), jak będzie to widoczne dla użytkownika. Domyślnie jest to samo, ale ciekawiej będzie pokazać coś bardziej zrozumiałego. Zatem w moim przypadku lista ma wartości 1 i 2, ale będą one wyświetlane jako odpowiedni komunikat (kolumna Display as).
Następnie, jeśli zobaczymy jeszcze raz na pole „Current Value”, to zauważymy, że domyślnie po uruchomieniu parametr będzie ustawiony na 1, czyli „Emisje (suma w tonach)”. Mając teraz więcej opcji do wyboru możemy zdecydować się na opcję 2. Ja pozostanę jednak przy wersji jak poniżej.
W innych przypadkach przydatne może być też skorzystanie z opcji Range, gdzie definiujemy zakres:
Możemy też pobrać zawartość z jakiejkolwiek z kolumn z wartościami (measurements). To zadziałałoby trochę jak fragmentator w Excelu. Ta opcja jest dostępna także przy liście (List).
Jak widać twórcy Tabluau postarali się o dość szerokie możliwości definiowania naszego „przycisku” zwanego parametrem.
Na tym etapie parametr jest już widoczny i możemy go nawet dodać do naszego wykresu na dashboardzie:
Jeśli go klikniemy to zostanie dodany:
Co dalej?
Jeżeli jednak chcemy zobaczyć prawdziwą moc, to musimy wykonać kolejny krok. Chodzi bowiem o „podpięcie” naszego włącznika do reszty „sieci”. Inaczej mamy niejako pusty przycisk. Możemy coś wybrać, zdefiniowaliśmy, jak będzie wyglądać ale nie wiadomo co dalej. Zobaczmy zatem, jak działa parametr w Tableau w praktcye.
Calculated field + Parametr
Do tego celu potrzebujemy pole obliczeniowe (Calculated field), które w zależności od wyboru w polu Parametr zachowa się w sposób, jaki chcemy. Ja do tego celu użyłem konstrukcji Jeżeli (IF). W ten sposób zdefiniowałem, że Jeżeli parametr (u mnie nazwa to Emisje_typ_liczenia) wskaże 1 to wówczas formuła skorzysta z kolumny Emisje. W innym przypadku (wybór 2) pole obliczeniowe pokaże wartości z kolumny Emisje per osoba.
Jeśli pamiętacie, to parametr zdefiniowałem tak, że użytkownik może wybrać tylko dwie opcje: 1 lub 2. Nie ma innej możliwości, a więc powyższy warunek obsłuży wszystkie (dwie) możliwości. Klikamy na OK i mamy utworzone nowe Calculated field. Jest ono już połączone z Parametrem i resztą naszych danych 🙂
Teraz trochę zależy, jak w praktyce wykorzystacie stworzone właśnie pole obliczeniowe. W moim przypadku użyłem go do wyświetlania etykiety na wykresie (mapa) oraz do kolorowania skali.
Czas na showtime 😀
Nasz wykres domyślnie pokaże parametr ustawiony na 1 = Emisje (suma w tonach).
Ale jeśli wybierzemy opcję nr 2 = Emisje (per osoba w kg):
…wówczas kolumna zasilająca etykiety i kolorowanie (Pole obliczeniowe Emisje_Parametr) dostanie informację, aby pokazać odpowiednio inne dane. I to dzieje się również na wykresie na mapie 😊
To tyle na dziś! Tak oto działa parametr Tableau. Mam nadzieję, żę się podobało 🙂 Powodzenia w waszych projektach i piszcie w przypadku pytań lub propozycji podobnych artykułów 🙂
Pozdrawiam,
Michał
Ahoj! A może coś więcej?
Jeśli chcesz być na bieżąco to po prostu zostaw swój e-mail. Nie ominie Cię żadna nowość :)