Tableau Prep jest bardzo użytecznym narzędziem ETL (Extract-Transform-Load), które dostajemy w pakiecie z Tableau Desktop. Ponieważ Desktop jest ukierunkowany głównie na wizualizację i analizę danych, samo modelowanie danych jest w nim utrudnione. Prep wypełnia tę lukę i pozwala nam przygotowywać dane do analizy i wizualizacji. Przy czym jest on oddzielnym narzędziem i nie musi być wykorzystywany tylko w połączeniu z Tableau Desktopem. Za jego pomocą możemy wykonywać szereg czynności z zakresu połączeń danych i ich transformacji. Co ważne, wszystkie przekształcenie zapisywane są w postaci tzw. przepływu danych (flow), które możemy wykorzystywać w przyszłości. Flow jest również przedstawiany graficznie przez co wizualnie możemy ocenić co się dzieje z naszymi danymi na poszczególnych etapach transformacji. Co istotne definiujemy proces na początku i następnie tylko odświeżamy dane w przyszłości. Oszczędza to czas i eliminuje powtarzalne czynności. Jest to bardzo przydatne w codziennej pracy analityka i pozwala zastąpić w wielu zastosowaniach manualne przekształcenia w Excelu.
Podłączenie, łączenie i eksport danych
Elementy te są kluczowe w procesie ETL, obejmując etap Extract – pobranie danych źródłowych oraz load – załadowanie danych dalej. Pomiędzy tymi etapami mieści się cały proces transform, w ramach którego również odbywa się łączenie danych z różnych źródeł.
1 – podłączenie wielu źródeł danych
Tableau Prep posiada wiele możliwych połączeń danych – zarówno do plików jak i serwerów (baz, hurtowni, chmur etc). Lista jest pokaźna i do większości popularnych rozwiązań podłączymy się bez problemów. Wśród podłączeń plików mamy oczywiście pliki csv oraz xlsx, które często stanowią bazę w codziennej pracy analityka:

W przypadku plików csv możemy podłączyć się do folderu i od razu załadować wszystkie pliki na raz (o tej samej strukturze):

2 – union – łączenie tabel w tym samym układzie
Podobny krok jak przy podłączeniu danych możemy wykonać również na dowolnym etapie przepływu, łącząc tabele o tej samej strukturze niejako jedna pod drugą. Dzięki temu nie musimy kopiować/wklejać danych, a tylko wskazać pliki źródłowe. Prep wskazuje nam input oraz niedopasowane pola, które możemy ręcznie zmatchować:

3 – join – dokładanie dodatkowych danych
Kolejnym sposobem łączenia danych jest join, który możemy traktować jako odpowiednik excelowego WYSZUKAJ.PIONOWO. Bardzo często wykorzystywana funkcjonalność, pozwalająca dołożyć brakujące lub dodatkowe informacje czy wymiary do naszych danych. Przykładowo – rozbudowa hierarchii (geografia, segmenty, kategorie produktów) na podstawie słowników:

Do dyspozycji mamy tutaj interfejs joina – od zasad połączenia (join clauses), przez typ (inner, left/right, full), po podsumowanie (summary of join results). Wszystko oczywiście w formie graficznej i interaktywnej, znacznie ułatwiającej zrozumienie i wykonanie połączenia.
4 – eksport do różnych formatów
W tym punkcie nieco przeskoczymy na koniec procesu ETL, czyli do kroku Output. W domyśle jest to ostatni punkt naszej transformacji, umożliwiający eksport przekształconych danych w celu dalszej analizy i wizualizacji. Możemy wyeksportować dane do pliku (csv/xls), do formatu Tableau (extract hyper), a także do bazy/hurtowni danych:

Co jest istotne – zarówno jak możemy mieć wiele wejść (źródeł) w naszym przepływie danych, tak samo możemy mieć wiele wyjść (outputów) – w różnej formie zarówno jeśli chodzi o rodzaj pliku jak i jego strukturę oraz zakres.
Czyszczenie danych
Środkową część procesu ETL stanowi transform, pod którą kryje się całe spektrum różnorodnych przekształceń danych. Od czyszczenia, przez zmianę formatu, dzielenie, łączenie, grupowanie etc. Prep oferuje tutaj całe mnóstwo dostępnych możliwości, przy czym część jest predefiniowana i posiada graficzny interfejs, a jeśli chcemy bardziej dostosować przekształcenie możemy korzystać z pól obliczeniowych. Większość działań dokonamy w kroku Clean:
5 – filtrowanie
Podstawowa czynność w transformacji danych może w Prepie odbywać się na kilka sposobów. Najprostszym jest opcja Selected Values, gdzie po prostu wybieramy wartości jak w filtrze. W przypadku bardzie skomplikowanych filtrów (np. łączących kilka warunków) możemy wybrać opcję Calculation:

6 – usuwanie liter, cyfr, znaków
Bardzo często dane eksportowane z różnych systemów mają problem z typem danych przez różne znaki umieszczone w nich (np. symbole walut) bądź różny format (małe/duże litery). W Prepie możemy szybko wykonać podstawowe transformacje z poziomu menu – usunięcie spacji, znaków interpunkcyjnych, liczb bądź liter, a także zmiana z małych na duże litery i na odwrót:

7 – dzielenie kolumn i grupowanie wartości
Jedną z metod na wyciągnięcie danych ukrytych w poszczególnych kolumnach jest podział kolumn, czyli funkcja Split. Sprawdzi się to w różnych hierarchiach (np. kategoria/produkt) albo często datach (ekstrakcja poszczególnych elementów dat zapisu np. MM.YYYY):

Grupowanie wartości z kolei to łączenie poszczególnych elementów w zbiór większych, ale bez łączenia za pomocą słowników. Grupowanie odbywa się ręcznie albo za pomocą opcji automatycznych – zalecane jest jednak ręczne o ile jest to możliwe bo nad automatycznym nie mamy do końca kontroli:

8 – pola obliczeniowe
Jeżeli dostępne domyślnie opcje nie są dla nas wystarczające możemy sięgnąć po pola obliczeniowe. Tutaj mamy bardzo podobny wachlarz jak w Desktopie, tylko musimy pamiętać że operacje tworzymy na poziomie wiersza (a nie agregacji jak w Tableau). Opcji kalkulacji jest bardzo dużo i z pewnością znajdziemy rozwiązanie dla naszych potrzeb:

Modelowanie danych
Sposoby transformacji opisane powyżej zmieniają dane w obecnej strukturze – poprzez ich zmianę czy dodawanie pól obliczeniowych. Poniższe sposoby modelowania danych modyfikują również strukturę i jako rezultat dostajemy inną wersję naszych danych, odpowiednio przetworzoną poprzez:
9 – agregowanie danych
Ta metoda agreguje dane wg zadanego wymiaru. Przykładowo, jeżeli mamy dane po dniach, a chcemy podsumowanie po miesiącach – to jest to sposób dla nas. Umożliwia to przekształcenie naszych danych do prostszej postaci:

Agregacja odbywa się poprzez wybranie wymiarów według których ma się odbyć (grouped fields) oraz miar, które mają być zagregowane (aggregated fields). Możemy także wybrać sposób agregacji naszych danych (np. nie suma a średnia, min, max etc). Na wyjściu tego kroku dostajemy przetworzoną tabelę z nawet bardzo skomplikowanej struktury do dużo prostszej.
10 – transpozycja danych
Transpozycja (pivot) jest bardzo przydatna kiedy mamy do czynienia z mało bazo-danową strukturą naszych danych. Zwłaszcza dane finansowe często są w ten sposób przechowywane – w wierszach są poszczególne miary, a w kolumnach miesiące/lata. O ile na wydruku czy w excelu jest to czytelne, to z punktu widzenia danych – nie do końca. Aby efektywnie analizować takie dane potrzebujemy transformacji do innej postaci – do tego służy właśnie krok pivot:

W tym kroku definiujemy nazwy i wartości naszych kolumn, sposób transpozycji (wiersze-> kolumny albo kolumny -> wiersze) oraz mamy podgląd wyniku transformacji.
Wsparcie AI w transformacji danych
Przepływy danych w Tableau Prep możemy tworzyć również przy wsparciu Tableau Agent, czyli wbudowanego generatywnego asystenta AI. Agent pomaga budować przepływ danych oraz tworzyć pola kalkulowane na podstawie zapytań w naturalnym języku. Aby korzystać z tej funkcjonalności musimy mieć włączone odpowiednie ustawienia po stronie serwera Tableau (Cloud). Komunikacja a agentem odbywa się bezpośrednio w Tableau Prep:

Tableau Prep jako użyteczne narzędzie w warsztacie analityka
Prep jest bardzo użyteczny i to nie tylko w połączeniu z Desktopem. Nawet jako oddzielne narzędzie sprawdza się bardzo dobrze i ułatwia niełatwy proces transformacji danych. Wszystko odbywa się w bardzo interaktywnym i graficznym interfejsie, co ułatwia pracę analitykom. Nie wymaga przy tym znajomości przykładowo SQL, przez co praktycznie każdy może z niego korzystać. W definiowalnym przepływie danych możemy robić praktycznie wszystko co jest niezbędne do przygotowania danych do analizy.
Mateusz Karmalski Tableau Author
