niedziela, 18 grudnia 2016

Kalkulacje w Tableau cz 2 - podstawy Table Calculations

Po ostatnim wprowadzeniu do kalkulacji w Tableau przyszła pora na omówienie tzw. Tableau Calculations, czyli  jednych z najpopularniejszych (i najtrudniejszych do zrozumienia) typów kalkulacji używanych w Tableau. Są to kalkulację, które możemy zaaplikować do wszystkich wartości w danej tabeli dla wybranej miary (measure). Tableau posiada wbudowana funkcjonalność zwaną Quick Table Calculations, która pozwala szybko stworzyć jedną z 11 podstawowych kalkulacji takich jak:
  • Running Total
  • Difference
  • Percent Difference
  • Percent of Total
  • Rank
  • Percentile
  • Moving Average
  • Year to Date (YTD) Total
  • Compound Growth rate
  • Year over Year Growth
  • Year to Date (YTD) Grwoth
Aby użyć jedną z wbudowanych kalkulacji należy wykonać następujące kroki:
  1. Wybierz miarę, która ma być wykorzystana do kalkulacji i przeciągnij ją na aktualny widok
  2. Kliknij PPM na wybranym measure i wybierz Quick Table Calculations
  3. Wybierz jedną z metod kalkulacji. Zwróć uwagę na to, że nie wszystkie z nich są dostępne - część z kalkulacji (np. YTD) posiada dodatkowe wymagania.
Dla przykładu aby uzyskać sumę częściową (running total) dla poniższego zestawu danych należy zastosować jednolitą metodę obliczeń dla wszystkich wartości w kolumnie - taka kalkulacja nie może być wykonana dla pojedynczych wierszy w tabeli (stąd też nazwa "table calculations"). Popatrzmy najpierw na oryginalny zestaw danych:


Zwróćmy uwagę na wartość grand total dla każdego wiersza. Następnie klikamy PPM na naszej miarze SUM(Sales) i wybieramy Quick Table Calculations-Running Total:


Jak widzimy kalkulacja została zastosowana dla wszystkich wierszy w tabeli:

Przyjrzyjmy się teraz szeregowi dodatkowych opcji, które mają wpływ na prezentowane wyniki i  są dostępne w menu kontekstowym (PPM):

  • Filter - pozwala na filtrowanie wartości wyświetlanych na danym widoku
  • Show Filter - pokazuje kryteria filtrowania w prawej części ekranu
  • Format - przechodzi do opcji formatowania liczb (Font, Alignment, Shading, Borders, Lines)
  • Dimension - konwertuje measure na dimension
  • Attribute - wyświetla wartość funkcji ATTR dla danej miary
  • Measure - definiuje typ agregacji dla danej kalkulacji
  • Discrete/Continuous - zmienia typ danych z ciągłych na nieciągłe i vice versa
  • Edit in Shelf - pozwala edytować kalkulacje w trybie ad hoc z poziomu widoku
  • Compute Using - zmienia metodę liczenia, defaultowo jest to opcja "across", czyli wzdłuż tabeli.
  • Edit Table Calculations - otwiera okno edycji Table Calculation, Zwróć uwagę na charakterystyczny znak delty (Δ) , który symbolizuję table calculation. Taki sam znak znajdziesz przy każdym measure, gdzie zastosowano ten typ kalkulacji (ważne!)
  • Clear Table Calculations - usuwa aktualnie wykorzystany table calculation i przywraca oryginalne wartości danej miary
  • Quick Table Calculations - omawiana wcześniej zmiana typu kalkulacji
  • Total using (Automatic) - zmiana automatycznej agregacji totali
  • Remove - usuwa miarę z widoku
Spróbujemy teraz zrozumieć zasadę działania table calculations. Wejdźmy jeszcze raz do menu kontekstowego naszej miary i zmieńmy typ kalkulacji na Percent of Total.

Jak widzimy, przy "defaultowych" ustawieniach tableau obliczyło wszystkie wartości procentowe w poprzek całej tabeli (table across). Możemy to zaobserwować po zsumowaniu wszystkich subtotali z Q1-Q4, które dadzą nam 100% dla każdego wiersza (Row Grand Total). Sprawdźmy teraz, co się stanie, jeśli wybierzemy jedną z pozostałych opcji dostępna w sekcji Compute Using.


Następna opcja umożliwia obliczenie wszystkich wartości w dół tabeli (table down):

Analogicznie do poprzedniej sytuacji, subtotale naszych kolumn (Regiony) sumują się teraz do 100% (Column Grand Total). Całkiem logiczne, prawda?

Kolejny krok obliczenie wartości procentowej dla całej tabeli (w poprzek i w dół), w rezultacie czego wartości zsumują się nam do 100% w prawej dolnej komórce:

Dwie następne opcję umożliwiają dokładnie to samo, jednak przy uwzględnieniu poszczególnych partycji tabeli (wyznaczonych przez regiony i kwartały). Przyjrzyjmy się opcji pane across (w poprzek):
 

Jak widać osiągnęliśmy bardzo podobny rezultat do table across z tą różnicą, że wartości sumują się nam do 100% w ramach poszczególnych kwartałów kolumny).

Analogiczny efekt uzyskamy wykorzystując opcję pane down, która umożliwi podsumowanie wartości w ramach poszczególnych regionów (wiersze).

Dwie ostanie opcje (pane, cell) są zdecydowanie rzadziej wykorzystywane i pozwalają wykonać te same obliczenia dla pojedynczej partycji (pane) albo komórki (cell):
Pane
Cell

Na samym końcu chciałbym pokrótce omówić okno zaawansowanej edycji table calculations (jeśli nie macie jeszcze dość). Menu to jest dostępne po wyborze wspomnianej wcześniej opcji Edit Table Calculations.

Okno pozwala na dowolne modyfikowanie sposobu, w jaki będą wykonywane nasze kalkulacje. Poza oczywistą zmianą jej typu i metody mamy również możliwość wskazania konkretnych Dimension, które zostaną użyte w celu partycjonowania danych (Specific Dimension). Kolejnym parametrem będzie wskazanie poziomu kalkulacji (domyślnie najgłębszy, czyli najniższy w hierarchii) oraz kolejności sortowania danych. Polecam eksperymentowanie z tymi ustawieniami we własnym zakresie, bo jest to jedyna metoda, aby w pełni zrozumieć mechanizm działania tego typu kalkulacji :)

Jeżeli dobrnęliście do tego momentu to szczerze gratuluje i mam nadzieje, że powyższe przykłady pozwolą Wam zrozumieć zasadę działania table calculations w Tableau. Przyznam, że jest to jedno z najtrudniejszych do opanowania zagadnień w Tableau, które spędza sen z powiek wielu użytkownikom (wystarczy spojrzeć na oficjalne forum). Nie zrażajcie się początkowymi niepowodzeniami i pamiętajcie, że praktyka czyni mistrza!

sobota, 3 grudnia 2016

Tableau 10.2 Beta już dostępny!

Jeszcze nie zdążyliśmy wypróbować wszystkich nowych funkcji Tableau 10.1, a właśnie oznajmiono start programu beta wersji 10.2! Jak zwykle możemy liczyć na kilka ciekawych nowych funkcji, które wyglądają następująco:

  • Join calculations - czyli możliwość tworzenia zaawansowanych joinów z użyciem kalkulacji nawet wtedy, gdy łączone źródła danych nie posiadają wspólnych pól! Bardzo ciekawa nowość, która może sporo namieszać w obecnym sposobie łączenia danych, zdecydowanie warto się jej przyjrzeć
  • możliwość łączenia tabel za pomocą UNION bezpośrednio w Tableau - miało być dostępne już w poprzednich wersjach ale lepiej późno, niż wcale
  • możliwość automatycznej konwersji pól tekstowych do daty z poziomu zarządzania źródłem danych - czyli wbudowana funkcja DATEPARSE bez użycia dodatkowych kalkulacji (dobre!)
  • Nowe data connectors (Anaplan, Apache Drill, Eloqua, listy z SharePoint) oraz usprawnienie kilku istniejących (Salesforce, Presto, SAP BW)
  • Eksport danych do CSV (nareszcie!)
  • Nowe data connectors dla danych przestrzennych (ESRI, KML and MapInfo) oraz (tradycyjnie) usprawnienia w geocodingu
  • Integracja z Pythonem (alternatywa dla R)
  • Ulepszone formatowanie linii oraz Story Points
Trzeba przyznać, że jest całkiem nieźle! Premiera oficjalnej wersji 10.2 nastąpi prawdopodobnie w pierwszym kwartale 2017. Do tego czasu zachęcam do wzięcia udziału w programie beta.

W ciągu najbliższych dni powinien pojawić się kolejny artykuł z serii kalkulacji w Tableau - tym razem przyjrzymy się Table Calculations. Serdecznie zapraszam do lektury!

czwartek, 10 listopada 2016

Kalkulacje w Tableau cz 1 - Kolejność wykonywania działań w Tableau

Każdy kto pracuję dłużej z Tableau z pewnością nie raz spotkał się z sytuacją, w której w wyniku pewnych kalkulacji otrzymujemy nieco inne wyniki, niż moglibyśmy się tego spodziewać - dotyczy to głównie kalkulacji typu 'Percent of Total' oraz obliczeń opartych na dynamicznie zmieniających się polach, np. Setach czy Top N. Przyczyną takich niespodziewanych zachowań jest zazwyczaj specyficzna kolejność wykonywania działań, która jest wykorzystywana przez Tableau.



Jak widać na powyższym rysunku, sytuacja jest dosyć skomplikowana i może doprowadzić do wielu nieścisłości. Oprócz kilku typów filtrów zaznaczonych na niebiesko (extract, data source, context, dimension i measure filter) pojawia się tutaj sporo różnych typów kalkulacji wykorzystywanych w Tableau. Przyjrzyjmy się tym operacjom nieco bliżej:

  1. Extract Filters - filtry dostępne jedynie w momencie tworzenia ekstraktu źródła danych
  2. Data Source Filters - filtry dostępne z poziomu menu kontekstowego po kliknięciu na źródle:
  3. Context Filters - czyli tzw. filtry niezależne, które zawężają zakres danych branych pod uwagę przez filtry na poziomie wymiaru (dimension). Ich zastosowanie zazwyczaj znacznie poprawia wydajność i umożliwia budowanie ciekawych filtrów na bazie parametrów (top N). Dostępne po PPM na istniejącym dimension pod opcją 'Add to Context'
  4. Sets, Conditional and Top N filters - wspomniane w poprzednim punkcie, omówimy je nieco później na przykładzie
  5. FIXED Level of Detail - specjalny typ kalkulacji pozwalający tworzyć zaawansowane, kontekstowe kalkulacje na dowolnym poziomie szczegółowości - pokażemy to na przykładzie
  6. Dimension Filters - czyli zwykłe filtry na poziomie danego wymiaru. Odpowiednik SQL-owego WHERE
  7. Data Blending - operacja łącząca dane z wielu niejednolitych źródeł (nie mylić z joinami, które zazwyczaj wykonywane są w obrębie jednego źródła danych)
  8. INCLUDE i EXCLUDE Level of Detail - kalkulacje z tej samej grupy co wspomniany FIXED LoD, różnice między poszczególnymi wariantami zostaną omówione w osobnym artykule
  9. Measure filter - zwykły filtr na poziomie miary, np. całkowitej sprzedaży. Odpowiednik SQL-owego HAVING
  10. Totals - Totale kalkulowane przez Tableau, dostępne w Analysis-Totals
  11. Forecasts  - automatyczne prognozy generowane przez Tableau (panel Analytics)
  12. Table Calculations - szereg standardowych kalkulacji dostępnych w menu kontekstowym po kliknięciu PPM na istniejącej kalkulacji - zostaną omówione w osobnym artykule
  13. Trend Lines, Reference Lines - pomocnicze linie rysowane przez Tableau, dostępne w panelu Analytics
Skoro mamy za sobą teorię, to pora zobaczyć to w praktyce na dwóch prostych przykładach

PRZYKŁAD 1 - zastosowanie filtra kontekstowego

Bazując na źródle danych Superstore dostępnym z każdą wersją Tableau Desktop, utwórzmy prosty wykres pokazujący najbardziej wpływowych klientów ze stanu New Jersey. W tym celu zbudujemy prostą wizualizację przedstawioną na poniższym rysunku;

Po odpowiednim posortowaniu rezultatów widzimy czołówkę najlepszych klientów - podium wygląda obecnie następująco:
  1. Bill Shonoley
  2. Annie Thurman
  3. Karen Ferguson
Teraz spróbujmy utworzyć dodatkowy filtr, który pokaże nam tylko 10 najlepszych klientów. W tym celu przeciągamy Customer Name na pole filtru i wybieramy następujące opcje w zakładce Top:

Po zaaplikowaniu tego filtru naszym oczom powinna ukazać się lista 10 osób - na pierwszy rzut oka wszystko wygląda ok. Zwróćmy jednak uwagę na to, że lista uległa zmianie i nie zawiera identycznych nazwisk, np. brakuję nam Annie Thurman, która uprzednio zajmowała drugie miejsce!
Dlaczego się tak dzieję? Otóż odpowiedź tkwi właśnie w kolejności wykonywania działań przez Tableau - zarówno filtr na poziomie Stanu, jak i filtr Top 10 klientów są przykładami dimension filters i zostały przez Tableau wykonane jednocześnie zgodnie z poniższą hierarchią:


W tym momencie powinniście już wiedzieć, co się stało. Jedynym sposobem na rozwiązanie tego problemu jest zastosowanie filtru kontekstowego w przypadku State, tak aby filtrowanie zostało wykonane przed filtrem Top N - w ten sposób zawężamy liczbę rekordów i będziemy w stanie znaleźć właściwe 10 osób z największą sprzedażą w tym Stanie. Aby to zrobić musimy kliknąć PPM na polu State i skorzystać z opcji Add to context. Zwróć uwagę, że pole zmieniło swój kolor na szary. Końcowy rezultat tej operacji jest identyczny z oryginalną listą:


 Ten prosty przykład pokazał nam jedna z popularniejszych pułapek, jakie grożą nam w przypadku jednoczesnego zastosowania kilku filtrów w Tableau. Teraz pora na kolejny przykład.

PRZYKŁAD 2 - zastosowanie kalkulacji Level of Detail FIXED

W tym przykładzie przyjrzymy się jaki jest procentowy udział poszczególnych kategorii produktów w całkowitej sprzedaży. Aby odpowiedzieć na to pytanie zbudujemy prosty wykres oraz wykorzystamy jedną ze standardowych Tableau Calculations - Percent of Total:

Po wykorzystaniu tej funkcji na polu SUM(Sales) pojawił się dodatkowy trójkąt symbolizujący zastosowanie table calculation. Teraz wystarczy tylko posortować wyniki malejąco i pokazać labele (kliknij na symbolu 'Abc' w górnym panelu albo przeciągnij ponownie SUM(Sales) trzymając Ctrl i upuść na półce Label.

Zwróć uwagę na dwie pierwsze kategorię oraz ich udział w całkowitej sprzedaży:
  1. Telefony - 14.37%
  2. Krzesła - 14.3%
Teraz kliknijmy PPM na sub-category i wybierzmy opcję 'Show Filter' a następnie odznaczmy jedną z kategorii w menu po prawej, np. Stoły. Zwróć uwagę na zmianę wartości procentowych dla dwóch pierwszych kategorii.

Tableau ponownie przekalkulowało procenty dla wszystkich kategorii wyłączając część odpowiedzialną za Stoły. Niejednokrotnie chcemy jednak, żeby zmiany dokonywane w bieżącym widoku za pomocą Quick filters nie miały wpływu na tego typu kalkulacje. W takim przypadku jedynym ratunkiem okazuję się kalkulacja Level of Detail (FIXED), która pozwoli nam zablokować kontekst wyliczenia procentowego na poziomie kategorii niezależnie od wybranych filtrów. Aby lepiej zrozumieć tę sytuację spójrzmy ponownie na kolejność wykonywania działań.

Aby rozwiązać nasz problem musimy skalkulować udział procentowy za pomocą kalkulacji Level of Detail typu FIXED, która zostanie wykonana przed zaaplikowaniem filtru na poziomie kategorii.
LoD to bardzo potężne kalkulacje, które pozwalają dokonywanie obliczeń w oparciu o dowolny wymiar (dimension) nawet, jeśli nie jest on częścią danego widoku. Aby lepiej zrozumieć tego typu kalkulacje, odsyłam do oficjalnych zasobów na stronie Tableau oraz zapraszam na specjalny artykuł dedykowany LoD, który pojawi się w ramach naszej serii Kalkulacji w Tabelau :)

Tymczasem aby rozwiązać nasz problem musimy użyć następującej kalkulacji, która podzieli Sumę sprzedaży dla danej kategorii przez stałą sumę sprzedaży:
SUM([Sales])/SUM({FIXED : SUM([Sales])})

Zapisz kalkulację jako nowe pole np. Sum of Sales FIXED i przeciągnij je na kolumnę obok Sum(Sales) aby zobaczyć różnicę w obu wyliczeniach. Dla ułatwienia możesz też zmienić format wyświetlania wartości na procentowy tak jak w pierwszej kalkulacji:

Możesz teraz porównać liczby i przekonać się, że wartości pokazywane przez wykres po prawej nie ulegną zmianie w przypadku dowolnej zmiany selekcji kategorii :)

Mam nadzieje, że te przykłady pokazały jak ważne jest zrozumienie kolejności wykonywania działań w Tableau. Polecam przyswoić sobie drzewko kolejności działań (zwane potocznie query pipeline), gdyż będziemy się do niego często odwoływać. Zachęcam do samodzielnego eksperymentowania i zapraszam na dalsze artykuły w serii Kalkulacje w Tableau!

środa, 2 listopada 2016

Nowa wersja Tableau 10.1 już dostępna!

Nie tak dawno świętowaliśmy premierę wersji 10 Tableau, a właśnie dostaliśmy w swoje ręce wersję opatrzoną numerkiem 10.1!

Nowości jest całkiem sporo, a więc po kolei:

  • możliwość łączenia się z nowymi, niedostępnymi do tej pory źródłami danych (JSON & Marketo!) oraz usprawnienie działania istniejących konektorów (SAP BW, Google BigQuery)
  • możliwość wykorzystania zaawansowanych kryteriów łączenia plików za pomocą unionów
  • nowe subskrypcje oparte na wcześniej zdefiniowanych warunkach - a nie można było tak od razu?
  • masa usprawnień wersji mobilnej oraz REST/Document API
  • jeszcze większe możliwości web authoringu (do konkurencji ciągle trochę im brakuje, ale to krok w dobrą stronę)
  • możliwość szybkiego podglądu layoutu dla wersji na tablety/telefony z poziomu przeglądarki
  • tryb pełnoekranowy oglądania dashboardów na Tableau Server (także w wersji embedded) - myślałem, że nigdy się tego nie doczekam!
  • Drill up dla dat w wersji continuous (do tej pory mogliśmy drillować tylko pola typu discrete)
  • Dalsze usprawnienia w geocodingu - Tableau rozpoznaje teraz kody IATA i ICAO! Jeśli nie jesteś zaznajomiony z tymi klasyfikacji to znaczy, że nigdy nie wizualizowałeś danych pochodzących z linii lotniczych :)
  • Standardowy update kodów pocztowych dla wielu krajów Europy (i nie tylko)
Jak widać jest tego całkiem sporo, więc jak zwykle zachęcam do zapoznania się oficjalnymi release notes dla tej wersji oraz samodzielnego eksperymentowania z nowymi funkcjami :)

Korzystając z okazji chciałbym również przeprosić za długą przerwę w publikowaniu nowych materiałów na blogu w okresie wakacyjno-jesiennym. Możecie być pewni, że od teraz nowe artykuły będą się pojawiać bardziej regularnie. Na dobry początek zajmiemy się dawno obiecywaną serią tutoriali poświęconych kalkulacjom w Tableau (od podstaw do rzeczy bardziej zaawansowanych). Zapraszam do odwiedzania bloga w najbliższych miesiącach!

poniedziałek, 6 czerwca 2016

Tableau Performance Recording czyli monitorowanie wydajności

W jednym z poprzednich postów porównywaliśmy wady oraz zalety wykorzystywania ekstraktów w Tableau. Aby móc precyzyjnie ocenić wydajność naszych workbooków będziemy jednak potrzebować narzędzia, które jest integralną częścią Tableau Desktop i Tableau Server.

Tableau Performance Recorder to wbudowany feature, który został wprowadzony w wersji ósmej programu. Pozwala na szybki pomiar wydajności naszych workbooków z poziomu Tableau Desktop/Server, co umożliwi nam diagnozę słabo zoptymalizowanych zapytań oraz monitorowanie wszystkich akcji, które są wykonywane podczas renderowania każdego dashboardu. Akcje te dzielimy na kilka głównych kategorii:
  • łączenie z źródłem danych
  • generowanie ekstraktu
  • data blending
  • zapytania do źródła danych
  • obliczenia i agregacje wykonywane przez Tableau
  • geokodowanie
  • korzystanie z filtrów, parametrów oraz innych dashboard actions (layout computations)

Korzystanie z Tableau Performance Recording


Tableau Desktop

Aby aktywować funkcję mierzenia wydajności należy wejść do Menu=>Help=>Settings and Performance=>Start Performance Recording



Od tej pory wszystkie czynności wykonywane w Tableau Desktop są monitorowane. Wypróbuj jak najwięcej funkcji dostępnych w Twoim dashboardzie (filtry, akcje, itp) a następnie przejdź do
Menu=>Help=>Settings and Performance=>Stop Performance Recording



Poczekaj kilka chwil a Twoim oczom ukażę się podsumowanie wyników testu wydajności w formie interaktywnego dashboardu:



Tableau Server

Aby uruchomić funkcję monitorowania wydajności w Tableau Server należy aktywować stosowną opcję w sekcji Settings=>Workbook Performance Metrics=>Record Workbook Performance Metrics





W momencie uruchomienia jakiegokolwiek workbooka umieszczonego na Serwerze, Tableau tworzy unikalny adres URL z session id według następującego schematu:
http://<adres_serwera>/#/views/<nazwa_dashboardu>/<nazwa_workbooka>?:iid=1

Dodaj następującą komendę tuż przed session id:
:record_performance=yes&

W rezultacie powinieneś otrzymać następujący adres URL:
http://<adres_serwera>/#/views/<nazwa_dashboardu>/<nazwa_workbooka>?:record_performance=yes&:iid=1

Monitorowanie wydajności jest aktywne jeśli widzisz opcję Show Performance Recording w górnym toolbarze.








Po kliknięciu w ten przycisk Tableau wygeneruję Performance Summary podobny do tego z Tableau Desktop. W obu przypadkach Dashboard składa się z tych samych elementów:
  • filtr długości poszczególnych eventów
  • wykres ganta pokazujący długość wszystkich eventów na osi czasu
  • zestawienie najbardziej czasochłonnych eventów
  • więcej informacji na temat każdego zapytania (po kliknięciu na query event).
Jak widać w ciągu kilku minut jesteśmy uzyskać ogrom bardzo interesujących informacji na temat wydajności poszczególnych elementów składowych naszego dashboardu, które będą nieocenione w trakcie monitorowania wydajności oraz potencjalnego performance tuningu, do którego jeszcze na pewno wrócimy. Tymczasem dobrej zabawy!

środa, 1 czerwca 2016

Google ogłasza swoje plany ekspansji na rynku BI!

Tak, to prawda. Z ostatniego wpisu na blogu Google Analytics Solution wynika, że Google ma poważne plany odnośnie rynku narzędzi do wizualizacji danych. Zapowiedziany wcześniej Google Analytics Data Studio 360 ma również ukazać się w formie okrojonego, lecz zupełnie darmowego Data Studio. Produkt jest pozycjonowany jako konkurent dla ciągle zyskującego na popularności pakietu Microsoft Power BI oraz dobrze nam znanej oferty Tableau.

Na chwilę obecną Data Studio łączy się ze wszystkimi najważniejszymi źródłami danych od Google:

  • Google Analytics
  • Google AdWords
  • Google Sheets
  • Google BigQuery
W najbliższym czasie mamy również otrzymać connector do baz SQL. Twórcy chwalą się również zastosowaniem infrastruktury znanej z Google Sheets, która pozwala na edycję plików przez wielu użytkowników w czasie rzeczywistym. Darmowe konto będzie pozwalało na stworzenie do 5 raportów.

Wszystko zapowiada się bardzo ciekawie, a wejście takiego giganta na relatywnie mały, aczkolwiek szybko rozwijający się rynek narzędzi data discovery dobrze rokuje na przyszłość. Gorąco zachęcam do zapoznania się z artykułem źródłowym na blogu Google Analytics.

http://analytics.blogspot.com/2016/05/announcing-data-studio-our-free-new.html

poniedziałek, 9 maja 2016

Tableau Extract vs Live Connection

Wielu użytkowników Tableau zadaje sobie to pytanie niemal codziennie. Czym jest tzw. Tableau Extract? Jak to właściwie działa i kiedy warto korzystać z tej funkcji?

Z technicznego punktu widzenia tableau extract to nic innego, niż specjalna, kolumnowa baza zoptymalizowana po kątem zapytań wewnątrz Tableau. W większości przypadków jego wykorzystanie potrafi znacznie przyśpieszyć dostęp do danych - czasami nawet stukrotnie! Sam doświadczyłem kiedyś takiego skoku wydajności pracując z bazami MS Access. Poza tym ekstratując swoje dane zyskujesz możliwość pracy offline oraz w znacznym stopniu optymalizujesz zużycie przestrzeni dyskowej - ekstrakty w Tableau są bowiem mocno skompresowane względem swoich oryginalnych źródeł danych.

Jak stworzyć ekstrakt w Tableau?

Aby stworzyć ekstrakt musisz się najpierw połączyć ze swoim źródłem danych w Tableau Desktop. Następnie wystarczy kliknąć PPM na źródle danych a następnie wybrać opcję extract data lub wejść do panelu Data i wybrać tę samą opcję.



W zależności od wielkości pliku/tabeli może to potrwać od kilku sekund do kilku minut. Po zakończeniu procesu zwróć uwagę na zmianę ikonki z jednego cylindra (live connection) na dwa cylindry, które wyraźnie wskazują na to, że pracujesz na kopii danych.


Cały proces jest oczywiście odwracalny i w dowolnym momencie możesz przełączać się pomiędzy dwoma opcjami.

Skoro wiemy już jak wykorzystać Tableau Extract, to pora przedstawić jego liczne zalety.

  Zalety Tableau Extract

 

Wydajność

  Jak już wspomniałem we wstępie, ekstrakty pozwalają w znaczny sposób przyśpieszyć dostęp do danych. Dzięki zastosowaniu technologii in-memory, Tableau jest w stanie wykorzystać dziesiątki, a nawet setki milionów wierszy bez większych opóźnień. Generalnie warto zacząć korzystać z ekstraktów jak tylko zaobserwujemy, że nasze połączenie "live" zaczyna lagować, a my nie musimy pokazywać danych w czasie rzeczywistym.

Dostęp do danych w trybie offline i ułatwiona dystrybucja raportów


Formaty plików Tableau extract (.tde) i Tableau packaged workbook (.twbx) zawierają wszystkie dane wykorzystane w projekcie, więc nic nie stoi na przeszkodzie, żeby korzystać z nich poza firmową siecią, czy też w miejscach bez dostępu do sieci (na bezludnej wyspie albo w samolocie). Pozwala to również na łatwą dystrybucję raportów wśród użytkowników. Co więcej, użytkownicy nieposiadający licencji Tableau Desktop mogą otworzyć w pełni interaktywny raport za pomocą darmowego Tableau Reader'a!

 Bezpieczeństwo i kontrola dostępu użytkowników


Dzięki Tableau Extract możesz w łatwy sposób ograniczyć dostęp do danych użytkownikom. Jednym ze sposobów jest tzw. ukrycie wszystkich danych nie wykorzystanych na danym dashboardzie.


To bardzo ciekawa funkcja, która pozwoli Ci w łatwy sposób kontrolować ilość udostępnionych danych - jeśli w trakcie prac nad swoim raportem nie wykorzystałeś pewnych miar lub wymiarów, to nie będą one po prostu dostępne dla użytkowników Tableau Desktop. Nieco bardziej wyszukany sposób na kontrolę dostępu to tzw. row level security. Tableau posiada bowiem kilka przydatnych funkcji, które pozwalają nam wykorzystać dodatkowe kryteria dostępu do poszczególnych danych np. na podstawie przynależności do wcześniej zdefiniowanych grup użytkowników, ale to temat na osobny artykuł.

Podwójna agregacja


Kolejna ciekawa funkcja, która pozwala na dodatkową agregację uprzednio zagregowanych danych. Wiem, że brzmi to dziwnie, ale pozwala to uzyskać często bardzo cenny, dodatkowy poziom agregracji, czyli np. średnią miesięczną z danych zagregowanych w obrębie dni.


Publikowanie na Tableau Public


Tableau Public nie pozwala na publikowanie dashboardów wykorzystujących live connection. Jeśli chcesz podzielić się swoim dashboardem z innymi użytkownikami w sieci, musisz użyć ekstraktu swoich danych.

  Wady Tableau Extract

 

 Jak każde rozwiązanie, ekstrakty Tableau mają również wady. Najpoważniejsza z nich to oczywiście brak możliwości odświeżania danych w czasie rzeczywistym, ale powiedzmy sobie szczerze - jak często stajemy przed takim wymaganiem w przypadku budowy raportów?

  • Ze względu na swoją strukturę danych, większość tzw. wielowymiarowych kostek danych (cubes) nie pozwala na stworzenie ekstraktu. Jednym z wyjątków jest tutaj SAP BW.
  • Każda zmiana struktury danych w oryginalnym źródle może sprawić, że nasz ekstrakt stanie się bezużyteczny i będzie go trzeba stworzyć od nowa, co może być dosyć czasochłonne.
  • Ekstrakty Tableau nie pozwalają na użycie funkcji z grupy RAWSQL oraz pisania custom sql, które w niektórych przypadkach mogą się okazać bardzo przydatne.
  • Odświeżanie największych ekstraktów potrafi być bardzo długie. Jeśli operacja jest wykonywana bezpośrednio z serwera Tableau, to w sposób oczywisty będzie wpływać na jego wydajność.

Mimo tych wszystkich wad w większości przypadków okazuję się, że warto korzystać z ekstraktów choćby dla nieporównywalnie większej wydajności zapytań. Oczywiście każdy przypadek może być nieco inny, więc zawsze warto rozważyć wszystkie za i przeciw. Jeśli poruszona tematyka okazała się dla Ciebie interesująca, to polecam zapoznanie się z tym kompendium Alana Eldrige'a oraz wieloma artykułami porównawczymi dostępnymi w sieci.

wtorek, 12 kwietnia 2016

Co nowego w Tableau 9.3?



Dwa tygodnie temu pojawiła się kolejna wersja Tableau (9.3), w której nareszcie wprowadzano kilko długo wyczekiwanych zmian. Lista najważniejszych nowości przedstawia się następująco:


  • Uniony – tak, w końcu można łączyć kilka plików excela lub tekstowych za pomocą intuicyjnego interfejsu drag & drop (oczywiście pod warunkiem, że maja jednolite formatowanie). Wystarczy przeciągnąć tabele na siebie albo wpisać nazwę katalogu, gdzie znajdują się pliki które chcemy połączyć. Koniec z uciążliwymi custom SQL-ami!
  • Version control – kolejna niesamowicie ważna funkcjonalność. Od teraz wszystkie workbooki oraz pliki data source opublikowane na serwerze przechowują swoje historyczne wersje, dzięki czemu możemy dokonać szybkiego powrotu do dowolnej poprzedniej wersji.
  • Usprawniona funkcja geolokalizacji – dodano kody pocztowe 39 krajów europejskich w tym Polski!
  • Opublikowanie nowej wersji źródła danych powoduje jego automatyczna aktualizacje we wszystkich powiązanych workbookach na serwerze – jak to możliwe, że dopiero teraz?
  • Szybsze renderowanie dashbordow dzięki symultanicznemu lądowaniu wszystkich worksheetow – w poprzednich wersjach musieliśmy czekać na załadowanie się wszystkich elementów zęby zobaczyć dashboard
  • Możliwość preinstalowania sterowników najpopularniejszych systemów baz danych podczas instalacji Tableau
  • Optymalizacja wydajności, wsparcie dla wyższych rozdzielczości


Jak widać cześć z wprowadzonych zmian to funkcjonalności, których wyczekiwaliśmy od lat. Cóż, lepiej późno niż wcale :) Dobra robota Tableau team, oby tak dalej!

P.S. pełną listę zmian znajdziecie tutaj

poniedziałek, 11 kwietnia 2016

Tableau Your Data! 2nd Edition - czyżby literatura obowiązkowa?

Każdy kto kiedykolwiek poszukiwał literatury fachowej dotyczącej nowoczesnych systemów BI z pewnością zauważył znaczny deficyt tego typu pozycji. Niestety jest to nowa i dynamicznie zmieniająca się dziedzina, więc naprawdę ciężko jest tutaj o dobrą lekturę dedykowaną konkretnym narzędziom. W przypadku Tableau oczywiście nie jest inaczej.

Spośród kilku anglojęzycznych podręczników do Tableau dostępnych na rynku moją uwagę przykuła jakiś czas temu pierwsza edycja "Tableau Your Data" autorstwa Daniela Murray'a z InterWorks, która została wydana pod koniec 2013 roku. Ostatnio ukazała się jej kolejna edycja, która porusza wiele nowych aspektów oraz zmian wprowadzonych w Tableau od tamtego czasu (a było ich naprawdę sporo).

Książka jest kompleksowym źródłem wiedzy o całej rodzinie produktów Tableau. Autor publikacji jest znaną i cenioną osobą w branży, która miała duży wpływ na rozwój narzędzia oraz całego rynku data discovery. Pozycja liczy bagatela 700 stron - to o całe 200 stron więcej względem oryginalnego wydania sprzed ponad 2 lat!
Tableau Your Data!: Fast and Easy Visual Analysis with Tableau Software, 2nd Edition

Autor: Daniel G Murray
ISBN: 978-1-119-00119-5
Liczba stron: 736
oprawa: miękka
Data wydania: Luty 2016
strona wydawnictwa Wiley
cena oficjalna: 42.5£ / 54.6€ 

Książka jest napisana bardzo przystępnym językiem, co zdecydowanie nie jest standardem w przypadku literatury fachowej z zakresu IT. W swojej publikacji autor porusza rozmaite zagadnienia związane z użytkowaniem oraz konfigurowaniem Tableau Desktop oraz Tableau Server. Cała książka została podzielona na 4 główne części:
  1. Tableau Desktop (wizualizacje, łączenie z danymi, dashboardy, tips & tricks)
  2. Tableau Server (instalacja, zarządzanie i automatyzacja)
  3. Case Studies (przykłady udanych deploymentów infrastruktury Tableau)
  4. Załączniki (ekosystem produktów, wspierane źródła danych, wymagania, wykaz funkcji)
"Tableau Your Data!" to zdecydowanie najbardziej kompleksowy podręcznik Tableau z jakim miałem dotychczas do czynienia. Przekrój poruszanych przez autora zagadnień jest naprawdę imponujący i każdy znajdzie tutaj coś dla siebie niezależnie od stopnia znajomości programu. Książka została opatrzona dużą liczbą kolorowych ilustracji ułatwiających odbiór materiału, jednak nie to jest jej największą zaletą.  Na szczególną uwagę zasługuję bowiem logiczna struktura publikacji oraz cała masa przydatnych porad, które z pewnością znajdą zastosowanie w codziennym użytkowaniu narzędzia.

Osobiście nie jestem fanem opasłych książek informatycznych (sam unikam ich jak ognia), jednak czytając dzieło Dana Murray'a nie nudziłem się nawet przez chwilę. To zapewne zasługa wielkiego doświadczenia autora oraz dosyć specyficznego podejścia do tematu, które nie znajdziecie w innych tego typu publikacjach. Jeżeli myślicie podobnie jak ja i w swojej kolekcji chcecie mieć przynajmniej jedną pozycję poświęcono Tableau, to wybierzcie ten tytuł. Gwarantuję, że nie będziecie zawiedzeni.

Książka nie jest dostępna w Polsce, więc pozostaje Wam jej kupno bezpośrednio od wydawcy lub w jednym z zagranicznych sklepów internetowych - polecam niemiecki Amazon z darmową wysyłką do Polski :) Przy odrobinie szczęścia można ją dostać za nieco ponad 200 zł. Uważajcie na starsze wydanie książki oferowane przez polskie księgarnie internetowe oraz sprzedawców z Allegro.

P.S. W następnym wpisie przyjrzymy się najciekawszym pozycjom z zakresu wizualizacji danych. Spoiler - tak, mówię o słynnych książkach Stephen'a Few. Do zobaczenia!

poniedziałek, 21 marca 2016

Watson Analytics vs Tableau


Od jakiegoś czasu w ofercie IBM znajduję się nowe narzędzie analityczne, które ma rzekomo zrewolucjonizować sposób w jaki postrzegamy sfere BI. Mowa oczywiście o Watson Analytics, czyli usłudze cloud based, która poszerza portfolio IBM o typowy produkt data discovery skierowany bezpośrednio do użytkownika biznesowego. Czy ta usługa naprawdę ma szansę zrewolucjonizować mocno konkurencyjny rynek BI?

Pierwsza beta Watsona została opublikowana w grudniu 2014. Od tamtej pory wiele się zmieniło - autorzy ciągle rozwijają swoje narzędzie i sukcesywnie budują community wokół produktu. Wygląda na to, że zainteresowanie nowym programem jest już całkiem spore, więc postanowiłem sprawdzić czy na tym etapie Watson jest sensowną alternatywą dla naszego Tableau.

Menu główne

IBM pozycjonuje Watsona jako rozbudowane narzędzie do analizy danych oraz wizualizacji. Trzeba przyznać, że liczne dema oraz pokazy możliwości WA prezentują się naprawdę nieźle. Patrząc na całość przekazu marketingowego nie sposób pozbyć się wrażenia, że spece od IBM bardzo dużo czerpią od liderów rynku. Główna strona produktu to na przykład niemal dokładna kopia landing page'a Tableau - zresztą zobaczcie to sami: Watson vs Tableau. Niby nie ma w tym nic złego, ale można było się pokusić stworzenie bardziej unikalnego stylu wpisującego się w istniejące portfolio usług IBM.


W obecnej fazie Watson Analytics oferuję roczną wersję trial, a do końca marcowa pozwala nawet na całkiem darmowy dostęp do wczesnej wersji modułu analizy danych z social media. Niestety jedyne dostępne źródła to Twitter (z którym to IBM zbratał się już jakiś czas temu) oraz liczne fora dyskusyjne i blogi. Mimo wszystko warto zapoznać się z tą unikalną na rynku opcją, która jest ograniczona czasowo.


 W obecnej wersji Watson oferuję następujące funkcje:
  • Explore - czyli klasyczna eksplaracja danych. W jej trakcie możemy łatwo oznaczyć najciekawsze insighty w celu ich poźniejszego wykorzystania w dashboardzie
  • Predict - interesujący moduł predykcji danych w oparciu o predefiniowany model. Oferuję bardzo przejrzyste podsumowanie w formie wizualizacji
  • Assemble - tworzenie dashboardów
  • Social Media - wspominana analiza danych z Twittera, blogów oraz for dyskusyjnych
  • Refine - swoisty moduł metadata management (mocno przypomina Tableau)
Moduł Refine Data
Darmowa wersja Watsona ma niestety spore ograniczenia w zakresie danych, jakie możemy użyć. W grę wchodzą jedynie dpojedyncze pliki excelowe oraz tekstowe (maks. 50 kolumn i bodaj 50 000 wierszy). To niewiele, ale w zupełności wystarcza żeby zapoznać się z podstawowymi możliwościami pakietu. Co ciekawe po załadowaniu każdego pliku źródłowego Watson przygotuję dla nas krótki Data Quality Report w którym oszacuję jakość naszych danych i wskaże nam gdzie znajdują się największe problemy. Całość jest naprawdę przyjemna dla oka i z pewnością pomoże mniej doświadczonym userom w ocenie swoich danych.
Data Quality Report

Trzeba przyznać, że pod względem wizualnym Watson wygląda o niebo lepiej od mocno już archaicznego Cognosa. Menu programu jest naprawdę intuicyjne, a liczba dostępnych opcji z pewnością wystarczająca dla przeciętnego użytkownika biznesowego. Defaultowe palety kolorów oraz sugerowane wykresy prezentują się naprawdę nieźle. Wizualizacje działają płynnie, a cała usługa chodzi dosyć szybko. Problemy mogą się pojawić przy dłuższych sesjach - większość kodu została napisana w Javie, a ta jak wiadomo jest wyjątkowo zasobożerna. Polecam regularnie zapisywać dokumenty na których pracujecie, bo Watson nie posiada żadnej wbudowanej opcji autosave!

Moduł Explore
 Tworzenie dashbordów w Watsonie jest łatwe i przyjemne. Wszystko odbywa się za pomocą intuicyjnego interfejsu drag & drop do którego przyzwyczaiło nas Tableau oraz inne narzędzia typu data discovery. W obecnej wersji usługa pozwala również na tworzenie pokazu slajdów oraz dosyć ciekawego "time journey".

Kreator dashboardów

Same dashboardy wyglądają bardzo efektownie i stosunkowo niewielkim nakładem można tutaj stworzyć naprawdę ciekawy projekt. Doświadczeni użytkownicy będą jednak zawiedzeni dosyć niedużą możliwością customizacji. Program został skonstruowany w ten sposób, że jego największym beneficjentem będą z pewnością nowi użytkownicy mający znikome pojęcie o wizualizacji danych. Pod tym względem Watson jest nawet bardziej przystępny niż Tableau. Niestety wszystko ma swoją cenę i w tym przypadku jest to okupione brakiem wielu funkcjonalności, których moglibyśmy oczekiwać od tego typu narzędzia.