Przygotowanie danych w Tableau

Michał Maliszewski

cze 26, 2018

Tableau

Business Intelligence

banery data science

Bardzo często mówiąc o Tableau skupiamy się na funkcjach dotyczących wizualizacji danych. Tymczasem z mojego doświadczenia, dla osób rozważających rozpoczęcie pracy z Tableau najważniejszym pytaniem jest, jak przebiega proces podłączenia i przygotowania danych. Proces ten z reguły zabiera najwięcej czasu, ponieważ użytkownik chce, by był on jak najbardziej zautomatyzowany.  W Tableau jest on łatwy, nie zajmujący wiele czasu i zapewniający automatyzację procesów.

Tableau umożliwia podłączenie do dowolnego źródła danych pliku bądź bazy, poprzez natywne connectory.

Jeśli connector nie jest dostępny, możemy użyć połączenia ODBC lub samemu napisać connector. Uniwersalność Tableau przejawia się między innymi w podejściu do licznych źródeł danych, które są dostępne dla użytkownika. Często zdarza się też, że dana aplikacja posiada również własne connectory i sterowniki, które możemy zainstalować i analizować w Tableau.

Podłączenie danych

Tableau bez problemu podłącza dane w postaci bazodanowej, co jest dość oczywiste. Natomiast w szczególnym przypadku podłączenia danych z Excela, Tableau dodało funkcjonalność Data Interpreter, która po zaznaczeniu wyboru przez użytkownika automatycznie przeszukuje arkusze Excela i oznacza zakresy, w których znajdują się dane tabelaryczne. Jeśli na jednym arkuszu będzie więcej tabelarycznych danych, Tableau pokaże każdą z nich jako osobny zakres.

Dodatkową funkcjonalnością jest tzw. pivotowanie danych, jeśli dane nie mają postaci bazodanowej. Częstym przypadkiem są tabele, gdzie każdy miesiąc jest zapisany w osobnej kolumnie.

Po pivotowaniu (opcja pod prawym klawiszem menu, po zaznaczeniu kolumn) źródło będzie miało dwie kolumny, należy zmienić jedynie nazwy kolumn i możemy analizować dane.

Sposoby łączenia źródeł danych

Łączenie różnych źródeł danych podczas podłączania i przygotowania możemy podzielić na trzy typy: Join, Blending i Union, których możemy użyć w zależności od typu danych, ograniczeń i struktury.

Join

Najczęstszym przypadkiem łączenia danych jest operacja join. Połączenie to polega na połączeniu tabel z danymi według określonego klucza, którym są dwie lub więcej kolumn o tym samym formacie i zawartości danych. Dzięki takiemu połączeniu tworzymy jedną tabelę, która zawiera dane ze wszystkich tabel według określonego klucza.

Oprócz łączenia danych typu dane transakcyjne i dane klienta możemy dołączyć również słowniki. Podobną funkcjonalność daje w Excelu poprzez funkcje Wyszukaj.Pionowo lub Indeks – w przypadku Tableau konstrukcja jest o wiele prostsza i pozbawiona błędów.

Blending danych – podłączenie różnych źródeł

Najczęściej do łączenia różnych źródeł danych używamy typu join. Jednakże zdarzają się sytuacje, kiedy w zależności od typu danych i poziomu granulacji lepszym rozwiązaniem jest użycie funkcji blending. Są to przede wszystkim następujące sytuacje:

  • jeśli łączysz dane z różnych źródeł, a join nie wspiera takiego połączenia [kostki OLAP, Salesforce],
  • jeśli dane, które chcesz połączyć, mają różny poziom granulacji,
  • dane wymagają czyszczenia, pivotowania,
  • joiny powodują duplikację danych,
  • jeśli będziesz pracować na bardzo dużych setach danych.

Aby zblendować dane należy najpierw podłączyć źródła niezależnie.

Następnie można zacząć budować wizualizację. W momencie dodania danych z różnych źródeł połączenie tworzy się automatycznie. Potem należy ustawić połączenie odpowiednio do naszego zapytania.

Po połączeniu możemy stworzyć wykres opierający się na dwóch źródłach.

Możemy dodać wiele źródeł do jednego workbooka i łączyć je w zależności od potrzeb.

Union

Union to sposób łączenia tabel o podobnej zawartości. W przypadku zrzutów z systemu [np. SAP] w postaci plików .csv lub .xlsx

Jeśli struktura pionowa jest podobna możemy zastosować union, aby uzyskać jedną bazę danych złożoną z różnych plików. W takim przypadku identyfikujemy kolumny, które powinny być pionowo połączone.

Może zdarzyć się sytuacja, w której kolumny, które powinny zostać połączone pionowo mają inne nazwy. W takim przypadku Tableau zaczyta je obie oddzielnie, jednak w przypadku kiedy w kolumnie A jest wartość, w tym samym wierszu w kolumnie B będzie null i odwrotnie. Tableau posiada funkcjonalność pozwalającą na połączenie tych kolumn poprzez merge mismatched fields.

Kolumny nie posiadające odpowiedników będą również zaczytane z wartościami z pliku w którym się znajdują.

Dodatkową informacją jest też utworzone przez aplikację pole Path, które zawiera informacje o pełnej ścieżce do oryginalnego pliku.

Możemy ją wykorzystać do identyfikacji poprzez stworzenie pola kalkulowanego opartego na polu Path. Union może być stworzony ręcznie lub automatycznie, poprzez opcję Wildcard.

W takim przypadku zapewniamy automatyzację aktualizacji bazy poprzez dodanie każdego pliku według wzoru, jaki określimy w oknie dialogowym Union.

Przygotowanie danych w Tableau pozwala zaoszczędzić czas, który trzeba było poświęcić na przygotowanie danych w Excelu. Wartością dodaną jest możliwość zapisania modelu danych w postaci Saved Data Source lub opublikowania źródła danych na Tableau Server, dzięki czemu inni użytkownicy mogą już korzystać z przygotowanego modelu danych, bez potrzeby odtwarzania logiki przy kolejnej analizie.