Podłączanie danych do Tableau Prep Builder za pomocą Supermetrics API [samouczek krok po kroku]
Opublikowany: 2022-01-11Aby zbudować użyteczny i wnikliwy raport w Tableau, musisz mieć dobrze przygotowane i czyste dane.
Ponieważ jednak firmy mają dane w wielu różnych miejscach i formatach, czyszczenie danych do analizy może stać się trudnym procesem.
Tak było, dopóki Tableau nie wprowadził Tableau Prep Builder, aby umożliwić użytkownikom danych — w tym analitykom i marketerom, którzy mogą nie mieć głębokich umiejętności analitycznych — przekształcać swoje dane.
W tym artykule pokażę, jak połączyć swoje dane z Tableau Prep Builder za pomocą Supermetrics API i podzielę się kilkoma sposobami wykorzystania tam swoich danych.
Oto kroki, przez które przejdziemy:
- Zainstaluj Tableau Prep Builder
- Zainstaluj i skonfiguruj TabPy
- Utwórz mały skrypt w Pythonie, który będzie zawierał wywołanie Supermetrics API
- Utwórz przepływy w Tableau Prep Builder, który utworzy dla nas pliki wyodrębniania Tableau

Kiedy skończymy, będziesz mógł połączyć wyniki zapytań Supermetrics API z innymi źródłami danych za pośrednictwem Union i zaplanować przyrostowe odświeżanie ekstraktu Tableau z danymi z naszego API.
Brzmi dobrze? Zacznijmy!
Zobacz Supermetrics API w akcji
Odkryj najprostszy sposób na przesyłanie danych marketingowych do Tableau lub dowolnego innego narzędzia BI, bazy danych lub hurtowni danych, która obsługuje dane wejściowe JSON lub CSV.
Krok 1: Zainstaluj Tableau Prep Builder
Tableau Prep Builder to narzędzie do transformacji danych, które Tableau wydało w 2018 roku, aby pomóc użytkownikom w czyszczeniu i przygotowywaniu danych do analizy.
Najlepszą rzeczą w Tableau Prep Builder jest to, że umożliwia wizualizację wszystkich operacji transformacji danych. W ten sposób będziesz mógł śledzić, co dzieje się z Twoimi danymi, i szybko identyfikować błędy. Rezultatem jest wyjście twojego zestawu danych w Tableau Hyper Extract — który jest zoptymalizowany do tworzenia raportów w Tableau.
Ponieważ Tableau Prep Builder jest dostępny w pakiecie Tableau, możesz już mieć do niego dostęp.
Konfiguracja jest również dość łatwa. Wystarczy pobrać go ze strony Tableau, zainstalować na swoim komputerze, a na koniec wprowadzić klucz licencyjny lub rozpocząć bezpłatną wersję próbną.
Krok 2: Zainstaluj TabPy
TabPy to drugi komponent, którego potrzebujemy do tego rozwiązania.
TabPy to rozszerzenie Pythona dla Tableau. Pozwala uruchamiać skrypty Pythona bezpośrednio w pulpitach nawigacyjnych Tableau lub, co najważniejsze w naszym przypadku tutaj, w Tableau Prep Builder.
Instrukcje instalacji można znaleźć na Github pakietu. Oczywiście do działania potrzebna jest najnowsza wersja Pythona. Po zakończeniu instalacji możesz rozpocząć korzystanie z TabPy, uruchamiając proces w tle w oknie terminala. Powie ci, że działa i nasłuchuje przychodzących żądań z Tableau na porcie 9004.
Ostatnim elementem przygotowania do TabPy jest skonfigurowanie połączenia z nim w Tableau Prep Builder.
Wymaganą opcję można znaleźć w menu „Pomoc” programu Tableau Prep w sekcji „Pomoc” > „Ustawienia i wydajność” > „Zarządzaj połączeniem rozszerzenia Analytics”.
W tym przewodniku zakładamy, że konfigurujesz to na swoim komputerze lokalnym, więc wszystko, co musisz zrobić, to upewnić się, że TabPy nadal działa i że port, który widzisz w oknie, odpowiada portowi, na którym nasłuchuje TabPy.

Kliknij przycisk „Zaloguj się” i gotowe!
Krok 3: Skonfiguruj skrypt Pythona
Czas skonfigurować skrypt Pythona.
Jeśli martwisz się o ten krok, nie martw się. To całkiem proste. Skrypt, którego potrzebujemy, będzie zawierał tylko kilka linijek kodu, z których większość to łącze API z Supermetrics.
Możesz nawet po prostu skopiować i wkleić to do pliku tekstowego i zastąpić „[PLACEHOLDER FOR YOUR API LINK]” własnym linkiem:
import requests import pandas as pd def get_data_to_flow(input): response = requests.get("[PLACEHOLDER FOR YOUR API LINK]") results = response.json() return pd.DataFrame(results['data'][1:], columns=results['data'][0])
Zapisz to jako plik z rozszerzeniem .py w miejscu, w którym łatwo go znajdziesz. Użyjemy tego w kolejnych krokach.
Wygenerujmy teraz łącze API w Supermetrics Query Manager, a gdy już tam będziemy, pobierzemy również próbkę naszych danych w formacie CSV.
Aby to zrobić, zaloguj się na stronie zespołu.
Zauważ, że możesz uzyskać dostęp do Supermetrics Query Manager z ważną licencją Supermetrics API. Jeśli nie masz jeszcze licencji, rozpocznij 14-dniowy bezpłatny okres próbny .
Następnie wybierz „Integracje” > „Menedżer zapytań”. Po lewej stronie ekranu zobaczysz pasek boczny. Tam rozpocznij tworzenie zapytania. W tym przykładzie użyję Google Ads jako źródła danych. Kontynuuj tworzenie zapytania, wypełniając te pola:
- Wybierz daty
- Wybierz dane
- Podziel według wymiarów
- Filtr i opcje
Gdy skończysz, kliknij „Uruchom”. Zobaczysz swoje dane w tabeli podglądu i nieprzetworzonym formacie JSON.

Oto samouczek, jak zacząć korzystać z Supermetrics API.
Tableau Prep będzie potrzebować tej próbki, aby zrozumieć strukturę danych, która pojawi się w odpowiedzi interfejsu API.
Zwróć uwagę, że wybór formatu jest ustawiony na „JSON”, a nie „Tableau”, ponieważ pozwolimy skryptowi Python — napisanemu do pracy z odpowiedzią w formacie JSON — obsłużyć to wywołanie API. Następnie wyeksportowałem wyniki jako plik CSV (1) i skopiowałem URL API do przygotowanego pliku skryptu Pythona (2).
Nie zapomnij zapisać pliku skryptu po wklejeniu linku Supermetrics API!
Krok 4: Połącz to wszystko w Tableau Prep Builder
Prawie jesteśmy na miejscu!
Aby uzyskać przepływ danych z Supermetrics API do przepływu Tableau Prep, musimy teraz połączyć plik CSV, który pobraliśmy w poprzednim kroku.
Ponieważ Tableau Prep Builder jest dość wybredny jeśli chodzi o typy danych, nie zaakceptuje wyjścia naszego skryptu Pythona bez tego kroku. Plik CSV ma taką samą strukturę jak dane z Supermetrics API, informując Tableau Prep Builder, jak to zinterpretować.

Po wybraniu pliku Tableau Prep Builder rozpocznie nowy przepływ i wczyta zawartość pliku CSV. Możesz zobaczyć w infoboksie, że poprawnie przeanalizował typy pól odpowiednio jako data, ciąg i liczba. I tego właśnie chcemy.

Musimy dodać skrypt jako kolejny krok w przepływie. Zrób to, klikając znak plus obok pola reprezentującego plik CSV i wybierając „Skrypt”.

Tutaj możemy używać TabPy. Upewnij się więc, że przycisk opcji „Tableau Python (TabPy) Server” jest aktywny i że TabPy nadal działa na twoim komputerze. Następnie przejdź do pliku skryptu utworzonego w poprzednim kroku.

Musimy również powiedzieć Tableau Prep Builder, które funkcje z tego pliku chcemy tutaj użyć. Nasz mały skrypt ma tylko jedną funkcję, więc jeśli podążasz za tym przewodnikiem, wpisz w polu nazwę funkcji „get_data_to_flow”.

Po wykonaniu tych ustawień Tableau Prep powinien natychmiast rozpocząć wykonywanie zapytania Supermetrics API, a dane pojawią się w oknie podglądu.
Gratulacje! Właśnie pomyślnie załadowałeś dane z Supermetrics API do przepływu Tableau Prep.
Wykorzystaj swoje dane w Tableau Prep Builder
Możesz łatwo kontrolować, jakie dane mają być ładowane przez Supermetrics API, edytując łącze API. W przeciwnym razie możesz użyć tego elementu wprowadzania danych w przepływie Tableau, jak chcesz.
Jeśli używasz naszych krótkich adresów URL, możesz dowiedzieć się, jak edytować parametry, w tym artykule dokumentacji.
Dopóki nie zmienisz kształtu danych, dodając lub usuwając kolumny, możesz bawić się wynikami. Jeśli potrzebujesz zmienić kształt danych, pamiętaj, aby odpowiednio zmienić plik CSV, aby Tableau Prep mógł zinterpretować odpowiedź API.
Teraz przyjrzyjmy się niektórym funkcjom w Tableau Prep Builder, których możesz użyć do wykorzystania danych do analizy.
Dołącz dane z Supermetrics do zbioru danych CSV (UNION)
Pierwszą rzeczą, którą możemy zrobić, to wykonać operację UNION. W tym celu zamiast po prostu dostarczać przykładowy plik CSV do Tableau Prep Builder w celu interpretacji danych wyjściowych interfejsu API, użyjemy go również jako środka do importowania danych statycznych.
Wyobraź sobie, że masz zestaw danych historycznych, które już się nie zmienią. Typowym przypadkiem użycia byłoby wyeksportowanie danych z zeszłego roku dla metryki, których chcesz użyć w raporcie Tableau, ale także dołączenie do niego codziennie aktualizowanego zestawu danych, aby był on aktualny.
Na przykład skonfigurowałem zapytanie w Menedżerze zapytań, aby uzyskać dane Google Ads za rok 2020 i pobrałem wyniki w formacie CSV.

Następnie zmieniłem selektor daty z „Ostatni rok” na „Od początku roku” i skopiowałem link API dla tego zapytania do pliku skryptu Python. Oto jak wygląda plik skryptu. Zauważ, że mój unikalny klucz API został zredagowany.


Teraz przechodzimy przez te same kroki, co poprzednio. Musimy dodać operację UNION i „Wyjście” w przepływie:
- Rozpocznij nowy przepływ w Tableau Prep, najpierw łącząc się z plikiem CSV.
- Dodaj krok „Skrypt” po pliku CSV z TabPy obsługującym funkcję wywołania API.
- Dodaj krok „Union” po skrypcie, a następnie kliknij i przeciągnij na niego krok CSV, tworząc trójkąt.
- Dodaj krok „Wyjście” po UNION.

Uruchomienie przepływu teraz da nam hiper-wyciąg, który można wykorzystać jako źródło danych dla projektu Tableau. A ponieważ wywołanie API ma względny zakres dat (od początku roku), możesz po prostu ponownie uruchamiać przepływ, aby zaktualizować ekstrakt!
Możesz także zapisać plik wyjściowy na lokalnym dysku twardym lub bezpośrednio opublikować go na serwerze Tableau lub Tableau Online, aby udostępnić go innym użytkownikom Tableau w organizacji.
Przyrostowe odświeżanie ekstraktu z danymi z Supermetrics
Opisana powyżej metoda sprawdzi się doskonale w przypadku małych i średnich ilości danych. Jednak gdy Twoje zapytania do interfejsu API staną się większe i bardziej wymagające — pod względem zasobów środowiska wykonawczego — dobrym pomysłem jest wykonanie przyrostowego odświeżenia zestawu danych zamiast żądania pełnego zakresu przy każdym uruchomieniu przepływu i nadpisywania poprzedniego wyciągu .
Na szczęście Tableau Prep ma wbudowaną opcję do przyrostowych aktualizacji istniejącego pliku rozpakowania. Wystarczy określić, która kolumna w tabeli danych ma być użyta do określenia nowych wierszy danych pochodzących z odświeżenia. Flow zajmie się resztą za Ciebie.
Jednak Tableau Prep Builder nie obsługuje tego dla danych poprzez wykonanie skryptu.
Poniżej opisano, jak obejść ograniczenia i utworzyć działające rozwiązanie do przyrostowego odświeżania danych.
Proces podzielimy na dwie części:
Najpierw tworzymy Tableau Hyper Extract, który będzie zawierał aktualizację. Następnie zastosuj to do rzeczywistego źródła danych w drugim kroku. Jest to ważne, ponieważ przyrostowe aktualizowanie wyciągu jest rzeczywiście obsługiwane, gdy inny plik wyciągu jest źródłem odświeżania danych.

Aby się tam dostać, ponownie tworzymy przepływ, który zawiera skrypt. W naszym wywołaniu API używamy względnego zakresu czasu, dzięki czemu ilość żądanych danych będzie niewielka. W tym przykładzie używam „ostatnich 10 dni”.

Aby utworzyć plik ekstraktu, który będzie naszym „Refresherem”, musimy wykorzystać to, czego nauczyliśmy się do tej pory o skryptach w Tableau Prep Builder.
Tutaj użyłem istniejącego pliku wyodrębniania jako danych wejściowych przed krokiem skryptu, aby zademonstrować, że to również działa i że początkowy plik CSV, którego użyliśmy, jest tylko niezbędnym krokiem do uruchomienia skryptu.
Bez operacji UNION wyjściem tego przepływu będzie po prostu to, co nasz krok skryptu pobiera za pośrednictwem interfejsu API Supermetrics.

Po zapisaniu tego pliku wyjściowego na moim dysku jako „increment.hyper”, mogę teraz skonfigurować ostateczny przepływ, który zaktualizuje opublikowany fragment używany w kilku raportach.

To może wyglądać na sprzeczne z intuicją — na pewno było dla mnie.
Łączymy się z plikiem przyrostowym w Tableau Prep Builder i wszystko, co robimy, to dodajemy „Wyjście”, które wskazuje na plik, który już mamy i chcemy zaktualizować.
Tutaj mam opcjonalny krok czyszczenia w przepływie, który oddziela te dwa. Ważnym elementem jest tutaj włączenie przyrostowego odświeżania w pliku 'Input', naszym pliku 'increment.hyper'. Musimy ustawić pole, które będzie używane do wykrywania nowych wierszy wchodzących do przepływu. W naszym przypadku jest to „Data”.
Następnie wybierzemy „Wyjście”, które wskazuje miejsce docelowe, które chcemy zaktualizować, i dopasujemy pole „Data” z pola „Wejście” do odpowiedniego pola „Data” w polu „Wyjście”.
Ta konfiguracja daje nam nową opcję uruchamiania przepływu jako odświeżania przyrostowego. Świetny!

Ta metoda zachowuje wszelkie dane, które już mamy w pliku wyjściowym. Może to być ogromny ekstrakt z milionami wierszy — w tej procedurze po prostu dodajemy do niego nowe wiersze. Po utworzeniu tych przepływów uruchomienie ich i aktualizacja danych zajmuje tylko kilka sekund. W końcu pytamy teraz API Supermetrics tylko o dane z 10 dni.
Otóż to!
Korzystanie z Supermetrics API jako źródła danych w Tableau Prep Builder pomaga wykonywać złożone zadania modelowania danych, które zwykle wymagają hurtowni danych.
Jeśli chcesz wzmocnić swoje raporty Tableau, zarezerwuj demo z naszym zespołem sprzedaży lub rozpocznij 14-dniowy bezpłatny okres próbny Supermetrics API.