Już w kilku wpisach na naszym blogu pokazywaliśmy Wam przykłady wykorzystania Tableau i Alteryx w zupełnie niebiznesowych sytuacjach. Przygotowywane wizualizacje miały na celu pokazanie alternatywnej prezentacji danych, które są dostępne w Internecie.

Tak będzie i tym razem, a dashboard, który dzisiaj omówimy to przykład pozyskania danych z witryny internetowej, stworzenie z nich źródła dla Tableau i wizualizacja na mapie.

Pomysł na dashboard

Dane, które dzisiaj wykorzystamy pochodzą ze strony internetowej ztm.waw.pl i dotyczą lokalizacji biletomatów ZTM. Możesz się domyślić, że pomysł stworzenia takiego dashboardu zrodził się w momencie poszukiwania najbliższego biletomatu. Nie szukałem jednak informacji na stronie ZTM. Postanowiłem, że ułatwię sobie wyszukiwanie wykorzystując Tableau. Już po godzinie miałem wyniki. Uznałem, że to fajne źródło danych i można z niego wycisnąć nieco więcej niż tabela na stronie warszawskiego przewoźnika. Mapy podobne do tych, którą zbuduję w tym przykładzie można znaleźć w Internecie. Zostały one stworzone w oparciu o inne narzędzia. Zobaczmy jednak co i jak szybko możemy zrobić w Tableau i Alteryx.

Ten wpis dotyczył będzie pozyskania danych i przygotowania ich do wizualizacji w Alteryx. W kolejnym natomiast pokażę jak je przedstawić w Tableau.

Nie będziemy omawiać całego procesu szczegółowo krok po kroku, ale postaram się zwrócić Twoją uwagę na najciekawsze elementy powstawania naszego raportu.

Źródło: Lista biletomatów na stronie ZTM zobacz źródło danych >>

Efekt: zobacz gotowy raport na Tableau Public >>

Etap 1 – Pozyskanie danych

Myślę, że ten etap może wywołać najwięcej kontrowersji, ponieważ możesz uznać, że skoro w kolejnym kroku wykorzystujemy Alteryx to można było zrobić webscapping, bardziej zautomatyzować, być bardziej profesjonalnym. Ponieważ pozyskujemy dane jednorazowo to możemy to zrobić w sposób manualny. Więc do dzieła!

Proste skopiowanie tabeli z listą biletomatów nie wchodzi w grę, ponieważ chcąc przygotować dane w arkuszu kalkulacyjnym nie będziemy mieli informacji z ostatniej kolumny dotyczącej lokalizacji. Informacja ta znajduje się w linku, który ukrywa się pod przyciskiem przenoszącym do mapy. Skoro tak, to musimy zajrzeć do kodu źródłowego strony.

Dane, które możemy tam znaleźć prezentują się bardzo ciekawie, ponieważ zawierają linki do Google Maps, które ukrywają się pod każdym przyciskiem widocznym na stronie. W linku natomiast znajdziemy długość i szerokość geograficzną każdego punktu. Po wklejeniu do Excela nasze dane będą miały formę taką, jak na rysunku poniżej.

Etap 2 – Przygotowanie danych

Dane oczywiście wymagają oczyszczenia i przygotowania ich w takiej formie, by w łatwy sposób zaprezentować je w Tableau Desktop. Zwróć uwagę, że w każdym rekordzie z adresem URL, po symbolu @ znajdują się potrzebne nam współrzędne. Gdyby nasze zadanie polegało tylko na wyodrębnieniu ich z ciągu znaków z powodzeniem moglibyśmy wykorzystać Tableau. Tutaj jednak musimy przeprowadzić również szereg innych operacji, więc wykorzystamy Alteryx.

Mój workflow jest już gotowy, ale pokażę Ci najciekawsze elementy, które pozwalają na szybką pracę z danymi, których forma pozornie jest bardzo nieprzystępna do analizy.

Narzędzia, które omawiam na rysunkach zaznaczone są niebieskim kwadratem.

Na wstępie używamy narzędzia Input, które pozwala na podłączenie danych znajdujących się w różnych źródłach. Tutaj oczywiście wybrałem mój plik Excel. Na poniższym rysunku możesz zauważyć, że dane wyglądają tak samo jak w arkuszu kalkulacyjnym – jedna kolumna, czyli duży chaos.

Następnie użyłem narzędzia filtra, żeby wyodrębnić tylko te rekordy, które zawierają dane. W HTML charakteryzują się tym, że zawarte są w znacznikach tabel ‘<td…’. Dlatego też mój filtr ma regułę, która mówi “wybierz tylko te rekordy, które zawierają ciąg znaków ‘<td style’”.

Na kolejnym etapie wykorzystując kilka prostych formuł usuwam niepotrzebne znaczniki, aby doprowadzić moje dane do narzędzia Make Columns w takiej formie, jak widać na rysunku 3. Kolejna ilustracja pokazuje jaki efekt ma zastosowanie tego narzędzia do danych, które znajdują się w pojedynczej kolumnie i charakteryzują się pewną regularną powtarzalnością.

Zwróć uwagę na to, że narzędzia w Alteryx mają bardzo przydatną w pracy właściwość jaką jest możliwość podglądu danych z punktu wejścia i wyjścia z narzędzia. Możemy więc zaobserwować każdą najdrobniejszą zmianę na wszystkich etapach pracy.

Opuszczając Make Columns rozdzielam workflow na dwie ścieżki prowadzące do dwóch oddzielnych narzędzi Select. Górną ścieżką kieruję tylko jedną kolumnę – z adresami URL. Dolną zaś popłyną wszystkie pozostałe dane. Zabieg ten ma na celu zadbanie o czytelność całego procesu. Operacje, które przeprowadzam w kolejnym kroku mogłyby być również stworzone w pojedynczym narzędziu Formula.

Śledząc górną ścieżkę procesu trafiamy na narzędzie formuły, które wykorzystuję do wprowadzenia kilku prostych operacji na ciągu znaków, które umożliwiają wyodrębnienie dwóch nowych kolumn: Longitude i Latitude, co przedstawia poniższy rysunek.

Formula Tool podobne zastosowanie znajduje w dolnej części procesu z tym, że tam wykorzystałem ją do usunięcia niepotrzebnych pozostałości po kodzie HTML. Wybiegając nieco w przyszłość będę chciał połączyć ze sobą oba strumienie danych wykorzystując do tego narzędzie Join. Aby móc to zrobić potrzebuję klucza połączenia, którym w tym przypadku może być numer rekordu. Aby go wprowadzić w obu elementach dodaję komponent Record ID dzięki któremu Join z powodzeniem może połączyć dane.

Ostatnie dwa elementy to Select Tool, którym usuwam niepotrzebne kolumny tymczasowo stworzone na poprzednich etapach procesu. Dodaję również właściwe nazwy kolumn i kieruję proces do ostatniego komponentu jakim jest Output Data.

W konfiguracji narzędzia wybieram formę eksportu danych, czyli plik Excel. Podaję lokalizację i nazwę zakładki. Mógłbym również wypuścić dane do pliku .hyper i od razu zbudować ekstrakt danych dla Tableau, ale zostańmy na ten moment przy arkuszu kalkulacyjnym, ponieważ jest jeszcze jedna rzecz, którą chciałbym wykonać.

Na stronie ZTM są dwie tabele. Jedna z nich dotyczy biletomatów z Warszawy, a druga tych, które są poza granicami miasta. Chcąc pokazać wszystkie dane stworzyłem nowy plik Excelowy z danymi z drugiej tabeli. Podłączyłem go do Alteryx jako osobny projekt, a następnie skopiowałem z pierwszego projektu cały proces – od narzędzia Filter do Output Data.

Różnica w konfiguracji Output Tool jest taka, że wybieram opcję stworzenia nowej zakładki w już istniejącym dokumencie Excela. W taki sposób kilka procesów może eksportować dane do jednego pliku, który w tej chwili będzie doskonałym źródłem do dalszej pracy po stronie Tableau.

Pamiętajmy jednak, że Alteryx to potężne narzędzie do pracy z danymi, które świetnie sprawdza się przy dużo bardziej złożonych i skomplikowanych procesach, gdzie importy i eksporty prowadzimy bezpośrednio do lub z baz danych. Tutaj prezentuję ogólne zasady działania na bardzo uproszczonym modelu.

Wracając do naszego projektu – mamy gotowe dane, czas przejść do wizualizacji w Tableau. Jeżeli chcesz poznać dalsze kroki, które umożliwią stworzenie wizualizacji danych na mapach kliknij w poniższy obrazek.