W artykule omówimy różnice pomiędzy produktami Tableau Prep oraz Power Query. Obydwa systemy służą temu samemu celowi – przekształcaniu danych, a następnie ładowaniu ich do miejsca docelowego. Podobieństwo na tym kończy się, ponieważ każde z tych narzędzi prezentuje użytkownikowi inne podejście do procesów ETL. Tableau Prep możemy opisać jako wizualną mapę połączeń, gdzie każda modyfikacja danych zostaje przypisana do wybranego „węzła”. Tworzy to przejrzystą sieć relacji, która w połączeniu z bazowymi funkcjami, jest zrozumiała nawet dla początkujących użytkowników. Power Query natomiast, rezygnuje z wizualizacji na rzecz uporządkowania całego procesu. Tutaj użytkownik modyfikując dane tworzy kolejne „kroki” które system przetwarza w czasie rzeczywistym. W celu wykorzystania pełnego potencjału tej aplikacji wymagana jest znajomość języka Power Query M, który jest podstawą budowania kalkulacji.
Wybór odpowiedniego narzędzia ETL
Pomimo różnorodności na rynku, możemy zauważyć, że wiele aplikacji ETL korzysta z podobnych mechanizmów. Najpopularniejsza z nich to tworzenie „węzłów” czyli wizualnych połączeń prezentujących poszczególne kroki w procesie przygotowania. Węzły sprawiają, że użytkownik nie musi znać zaawansowanego programistycznego kodu (chociaż może z niego korzystać) i może działać w oparciu o funkcję „przeciągnij i upuść”. Pozwala to na tworzenie spójnego i przejrzystego przepływu (ang. flow), tym samym redukując ryzyko występowania błędów. Poznanie jednego z takich narzędzi znacząco przyśpiesza naukę innych systemów ETL.
Zależnie od zapotrzebowania możemy wybrać aplikację, która najlepiej wpisuje się w zapotrzebowanie danego użytkowania. Niektóre narzędzia takie jak Alteryx są potężnymi systemami zdolnymi do przekształcania milionów rekordów. Duża moc obliczeniowa idzie w parze z dużą ceną, dlatego jest on rekomendowany przedsiębiorstwom regularnie zajmującymi się danymi.
Talend Open Studio czy Pentaho Kettle są tanimi (wręcz darmowymi) alternatywami dla indywidualnych użytkowników. Pozwalają pracować nad małymi projektami i są doskonałym sposobem na spróbowaniu swoich sił w procesie przekształcania danych.
Możemy też wyróżnić tak zwane aplikacje wspierające. Mają one za zadanie wspomóc proces transformacji danych, by następnie załadować rezultat bezpośrednio do narzędzia Business Inelligence. Są to kolejno: Tableau Prep oraz Power Query.
Tableau Prep to aplikacja pomagająca w czyszczeniu i organizacji danych przed załadowaniem do Tableau Server lub Cloud. Jego proste funkcje w połączeniu z metodą „przeciągnij i upuść” znacząco usprawniają skomplikowane zadania związane z łączeniem, kalkulacją i agregacją rekordów.
Power Query należący do firmy Microsoft jest narzędziem domyślnie wbudowanym w takie aplikacje jak Excel czy Power BI. Proces przekształcania danych opiera się tutaj o listę kroków, które wykonane jeden po drugim transformują rekordy. Lista dostępnych funkcji tego systemu znacznie przewyższa te dostępne w Tableau Prep. Dodatkowo wymaga on również znajomości języka Power Query M w celu sprawnego korzystania z dostępnych tam kalkulacji.
Tableau Prep vs Power Query
Z racji, że obydwa z tych produktów służą innym aplikacjom Business Intelligence, możliwe jest zauważenie pewnych różnic w ich funkcjonowaniu. Porównajmy obydwa systemy:
Na pierwszy rzut oka produkt Microsoftu wydaje się lepszą alternatywą do tworzenia procesów ETL. Warto jednak zauważyć, że Power Query jest tylko wtedy gdy korzysta z niego jeden użytkownik. Chcąc odświeżać dane automatycznie – wymagany jest zakup licencji.
Prostota Tableau Prep jest zarówno wadą jak i zaletą tej aplikacji. Do jej obsługi wystarczy znajomość prostego języka kalkulacji Tableau, co czyni aplikację przystępną dla nowych użytkowników. Z drugiej strony Prep może być niewystarczający, jeżeli będziemy chcieli dokonać bardziej skomplikowanych transformacji.
Korzystając z pakietu Power Query + Power BI musimy znać kolejno język Power Query M oraz DAX. Obydwa języki różnią się między sobą, co może sprawić problemy nowym użytkownikom. Znajomość produktów Microsoftu owocuje po dłuższym czasie, ponieważ złożoność PQ pozwala na tworzenie bardziej skomplikowanych przepływów niż Tableau Prep.
Nic nie stoi na przeszkodzie by output z Power Query wykorzystać w Tableau i vice versa. Obydwa narzędzia ETL najlepiej współpracują jednak z dedykowanym im aplikacjami BI.
Budowa Tableau Prep
Tableau Prep jest bardzo prostym narzędziem, które tak jak inne aplikacje ETL opiera się na budowaniu „przepływów”. Metodą „przeciągnij i upuść” możemy wybierać tabele czy procesy, które chcemy wykorzystać. Modyfikacja danych odbywa się poprzez tworzenie odpowiadających za poszczególne kroki węzłów.
W narzędziu Tableau Prep możemy wyróżnić kilka ważnych części interfejsu:
- Lista z dostępnymi tabelami.
- Opcje edycji, próbkowanie rekordów i zmiany wprowadzone w tabeli.
- Podgląd na dane dostępne w danym „węźle” wraz z możliwością formatowania oraz chowania poszczególnych kolumn.
- Graficzna wizualizacja węzła przedstawiająca obecnie wybraną tabelę oraz kroki jakie zostały zastosowane.
Budowa Power Query
PQ znacząco się różni od dostępnych na rynku alternatyw. Nie mamy tutaj jednego okna prezentującego poszczególne kroki tak jak w Tableau Prep. Kluczowym miejscem w tej aplikacji jest tabelka „Zastosowane kroki” (5). Dzięki niej użytkownik może monitorować istniejące już zmiany, wprowadzać nowe lub edytować stare. Widoczne jest też okienko odpowiedzialne za tworzenie kalkulacji (4) gdzie dopiero znajomość Power Query M pozwala na korzystanie z niego.
W całym widoku Power Query możemy wyróżnić kilka miejsc:
- Lista dostępnych tabeli
- Pasek dostępnych poleceń i możliwości edycji
- Podgląd na aktualnie zaznaczoną tabelę
- Pole kalkulowane wybranej tabeli
- Lista kroków zastosowanych w modelu
Jak szybko odnaleźć się w Tableau Prep?
Wspomniane wcześniej podobieństwa pomiędzy systemami ETL pozwalają na szybkie przechodzenie między nimi. Często jednak kluczowe funkcje różnią się tylko nazwą, co może na początku mylić. Przyjrzyjmy się więc z jak odpowiedniki Power Query wyglądają w Tableau Prep.
Praktyczne porównywanie
Zbiór Bookshoop.xls jest przykładowym przedstawieniem danych sklepu z książkami. Jego budowa pozwala na tworzenie modelu relacji pomiędzy poszczególnymi tabelami. Korzystając z niego porównamy jakie kroki trzeba podjąć w obydwu narzędziach, aby osiągnąć pożądany efekt.
Agregacja danych
Tableau Prep
Tworzymy nowy węzeł i zaznaczmy opcję „Aggregate”. Następnie wybieramy pola grupowane (w tym przypadku to pole daty) oraz pola agregowane (liczba z przedmiotu).
W efekcie otrzymujemy pole daty z przypisaną ilością sprzedanych przedmiotów.
Power Query
Uruchamiamy tutaj funkcję „Grupuj według” a następnie definiujemy pola i rodzaj agregacji.
Podobnie jak w Tableau Prep, powyższa agregacja zlicza wiersze z podziałem na dni.
Split
Tableau Prep
W celu rozdzielenia kolumny tworzymy „Clean step” a następnie zaznaczamy kolumnę i definiujemy rodzaj splita. Dostępne opcje to:
- Automatyczny
- Personalizowany
Klikamy przycisk „Split” by zakończyć całą procedurę.
Power Query
Korzystamy tutaj s funkcji „Podziel kolumny” według określonego schematu.
Następnie klikamy „OK” by zakończyć proces.
Unia – scalanie danych
Tableau Prep
By dokonać unii dwóch tabeli w Tableau Prep wystarczy przeciągnąć jedną tabelką na drugą. Dodatkowo możemy skorzystać z opcji „wildcard” która stworzy unię z wszystkich plików w folderze, o określonej nazwie.
Power Query
By dokonać unii w tej aplikacji musimy wybrać opcję „Dołącz zapytania”.
Następnie określamy ilość tabeli i ich nazwy.
Cały proces kończymy naciskając przycisk OK.
JOIN
Tableau Prep
Łączenie danych z wykorzystaniem funkcji JOIN możemy wykonać poprzez przeciągnięcie tabeli Books na tabelę Author.
Pojawi nam się następujące okienko:
Z tego miejsca możemy sprecyzować pola po których nastąpi JOIN oraz rodzaj połączenia (right, left, full, inner). Na samym końcu znajdziemy też podsumowanie, ile rekordów zostało włączonych lub wyłączonych z tej kalkulacji.
Power Query
W celu scalenia danych musimy wybrać opcję „Scal zapytania”.
Wybieramy tutaj tabelki, które chcemy scalić oraz kolumny, na podstawie których powstanie JOIN. Następnie określamy i zaznaczamy rodzaj sprzężenia. Dostępne opcje to:
- Lewe zewnętrzne
- Prawe zewnętrzne
- Pełne
- Wewnętrzne
- Lewe anty
- Prawe anty
Gdy cała operacja zostanie zakończona, w tabeli na żółto zostanie podświetlona relacja, oznacza ona poprawne połączenie tabelek Book oraz Author.
Filtrowanie
Tableau Prep
By dokonać filtrowania musimy najpierw stworzyć „Clean step”. Następnie zaznaczamy wybraną kolumnę i wybieramy jedną z dostępnych opcji filtrowania.
Mamy tutaj cztery możliwości:
- Filtrowanie w oparciu o pole kalkulowane
- Ręczne wybranie wartości
- Filtrowanie w oparciu o „wildcard”
- Filtrowanie w oparciu o wartości null
Power Query
W PQ wybieramy jedną z tabeli a następnie klikamy w nagłówek kolumny. Jedna z dostępnych funkcji to filtrowanie pustych wierszy poprzez opcję „Usuń puste”. Druga opcja to filtry tekstu która pozwalają na warunkowe filtrowanie określonych wartości. Działa ona zarówno dla wartości tekstowych jak i liczbowych.
Po wybraniu filtru tekstu pojawi się okienko warunkowe.
Z tego miejsca użytkownik może stworzyć sprofilowane klauzę filtrujące dotyczącą istniejących rekordów.
Dodawanie pola kalkulowanego
Tableau Prep
W celu stworzenia pola kalkulowanego tworzymy najpierw „Clean step” a następnie klikamy w opcję „Create calculated field”.
Pojawi nam się okienko prezentujące nazwę kalkulacji oraz jej formułę (1). Po prawej stronie (2) mamy listę dostępnych funkcji, które można wykorzystać podczas obliczeń. Po zakończeniu tworzenia kalkulacji nowa kolumna zostanie dodana do istniejących rekordów.
Power Query
By zbudować kalkulację w PQ musimy wpierw stworzyć kolumnę niestandardową w wybranej przez siebie tabeli.
Pojawi się wtedy okienko kalkulacji. Prezentowane jest w nim nazwa kalkulacji, formuła obliczeniowa oraz kolumny dostępne do wykorzystania. Po zakończeniu tworzenia kalkulacji nowa kolumna zostanie dodana do istniejących rekordów.
Output końcowy
Tableau Prep
By przekształcone dane wyeksportować do pliku – musimy stworzyć „Clean step” a następnie wybrać opcje „Output” dostępną w menu.
Pod węzłami pojawi nam się okienko z dostępnymi opcjami.
Dostępne opcje pozwalają nam na określenie nazwy pliku oraz miejsca zapisania (tabela, opublikowane źródło danych, tabela bazodanowa). Dodatkowo mamy trzy możliwości zapisania do pliku, są to: hyper, csv oraz xlxs. „Full refresh” daje możliwość wyboru pomiędzy zapisaniem lub nadpisaniem istniejących już danych.
Power Query
By mieć możliwość tworzenia outputów w Power Query, wymagane jest zainstalowanie rozszerzenia DAX Studio. Po pobraniu i zainstalowaniu tego dodatku, należy wybrać źródło danych z jakim chcemy się połączyć. Następnie zaznaczamy opcję „Export data” i przechodzimy przez kolejne kroki tego procesu.
Na początku wybieramy format eksportu. Może to być plik tekstowy lub baza danych.
Następnie definiujemy szczegóły zależnie od formatu eksportu m.in. ścieżkę pliku, ogranicznik oraz kodowanie.
Co łączy Power Query i Tableau Prep?
Poznaliśmy różnice pomiędzy tymi dwoma aplikacjami, warto też zwrócić uwagę na to co je łączy. Przede wszystkim są to narzędzia, które mają ułatwić użytkownikowi modelowanie danych pod własne potrzeby. Produktem końcowym tego procesu są dashboardy, które dostarczają firmie kluczowych informacji na temat jej funkcjonowania.
Ważnym elementem procesów ETL jest też ich automatyzacja. Raz stworzony przepływ może być wielokrotnie powtarzany bez potrzeby ręcznego odświeżania danych. Znacząco obniża to czas i koszty potrzebne do prawidłowego funkcjonowania pozostałych narzędzi Business Intelligence.