# 01 Lab - Business Intelligence ###### tags: `Business Intelligence` `Tableau` [TOC] # Wprowadzenie - cel ćwiczenia Podczas zajęć należy przygotować kokpit managerski *(dashboard)* złożony z trzech arkuszy - wizualizacji *(sheets)* przygotowanych w Tableau. [Prezentacja ma zawierać ilustrację długości dróg ekspresowych i autostrad w Polsce na przestrzeni ostatnich 5 lat z podziałem na województwa](https://public.tableau.com/shared/85CH2W6Q6?:display_count=n&:origin=viz_share_link). # 1. Informacje podstawowe ## 1.1. Proces przygotowania wizualizacji - Tableau [Rys.1](#rys1) prezentuje główne czynności składające się na proces przygotowania prezentacji w Tableau. <a id="rys1"></a>![](https://i.imgur.com/s5wiUvw.png) <center><small>Rys.1 Proces przygotowania wizualizacji BI.</small></center> ## 1.2 Organizacja plików projektu wizualizacji Typowy projekt wizualizacji realizowany w ramach BI wymaga budowy repozytorium składającego z co najmniej kilku rodzajów plików: 1. Pliki związane z *Data source* - są to pliki przechowujące dane, np: ***csv, xls, txt, ...*** 1. Pliki przechowujące skoroszyt *Tableau* - pliki z rozszerzeniem ***twb***. 1. Pliki tzw. *extract* źródła danych Tableau - pliki przechowujące podzbiory danych wyodrębnione ze źródła danych w celu optymalizacji dostępu do danych i zapewnienia funkcjonalności nie wspieranych przez oryginalne źródłó danych . [Szczegółowe informacje ze strony producenta.](https://https://help.tableau.com/current/pro/desktop/en-us/extracting_data.htm) Rozszerzenie plików *extract* - **hyper**. 1. Pliki, tzw. spakowany skoroszyt (*packaged workbook*) - plik, któy łączy skoroszyt Tableau z *extract* źródła danych w jedną całość - rozszerzenie **twbx**. :::warning **Uwaga** :warning: Zalecane jest utworzenie hierarchicznej, dedykowanej struktury plików, w celu przechowywania danych związanych z wszystkimi projektami realizowanymi na zajęciach. Obowiązuje zasada: wszystkie pliki związane z jednym projektem zapisujemy w jednym folderze. Poniżej proponowana przykładowa struktura organizacji plików. ```graphviz digraph hierarchy { node [color=Red,fontname=Courier,shape=box] edge [color=Grey, style=dashed] NazwiskoImię->{"01 zajęcia" "02 zajęcia"".."} "01 zajęcia"->{"01 ćwiczenie" "02 ćwiczenie" "03 ćwiczenie"} "01 ćwiczenie"->{"data source \nxls,csv,.." "Tableau workbook\n*.twb" "Tableau extract \n *.hyper" "Tableau packaged \nworkbook *.twbx"} } ``` ::: ## 1.3. Dane źródłowe Dane źródłowe do prezentacji należy pobrać z portalu udostępnianego przez GUS - [**Bank danych lokalnych**, tzw. **BDL**](https://bdl.stat.gov.pl/BDL/). * nazwa zbioru danych: *Drogi ekspresowe i autostrady*, * gałąź w BDL: *Dane wg dziedzin $\rightarrow$ Transport i łączność $\rightarrow$ Drogi publiczne*, <iframe src="https://bdl.stat.gov.pl/BDL/start" width=100% height="400" frameborder=0></iframe> * należy wyświetlić dane dla wszystkich województw, **bez danych sumarycznych dla cełego kraju** * należy pobrać i zapisać dane w formacie tablica relacyjna CSV lub ZIP. #### Co to jest format CSV? <iframe src="https://pl.wikipedia.org/wiki/CSV_(format_pliku)" width=100% height=300 frame=0></iframe> ## 1.4. Tableau Public - założenie konta na serwerze W celu publikacji przygotowanych wizualizacji należy posiadać konto na serwerze Tableau. Tableau oferuje dwa rodzaje serwerów: 1. serwery komercyjne - wymagana licencja; oferuje rozbudowane metody zarządzania uprawnieniami i organizowania opublikowanych wizualizacji; 1. serwer darmowy udostępniany przez Tableau, tzw. [*Tableau Public*](https://public.tableau.com/) - serwer niekomercyjny; ograniczone możliwości zarządzania opublikowanymi wizualizacjami. # 2. Przygotowanie wizualizacji w Tableau ## 2.1 Przygotowanie źródła danych Jako źródło danych można wykorzystać jeden z plików pobranych z BDL. :::info :information_source: **Ważne** Tableau przetwarza dane zgromadzone w płaskiej tabeli, składającej się z nazwanych kolumn (serii danych) i kolejnych wierszy reprezentujących kolejne rekordy danych. Tableau nie akceptuje formatowania w poszczególnych komórkach ani **scalonych komórek**. ::: W bieżącym ćwiczeniu proponuję wykorzystać pobrany plik w formacie *csv*. ## 2.2 Definicja *Data Source* w Tableau Po uruchomieniu Tableau należy zdefiniować *Data source*, z którego będziemy korzystać przygotowując wizualizację. W naszym wypadku wskazujemy na przygotowany plik *xls* i wybieramy do analizy arkusz *drogi ekspresowe* - Rys.4. ![](https://i.imgur.com/idTCuj9.png) <center><small>Rys.4 Data source w Tableau</small></center> ### 2.2.1 Uzgodnienie typów serii danych Po definicji *data source* należy sprawdzić, czy typy poszczególnych serii danych (kolumn) domyślnie przyjęte przez system zgadzają się z oczekiwanym przez nas typem. Rys. 5 prezentuje interfejs wyboru typu danych w kontekście wybranej kolumny. ![sss](https://i.imgur.com/58z6HFk.png) <center><small>Rys.5 Okno dialogowe wyboru typu danych dla kolumny.</small></center>. ### 2.2.2 Geokodowanie W przypadku serii danych (kolumn), które mają kontekst geograficzny można spróbować automatycznego geokodowania oferowanego przez Tableau. W tym celu dla wybranej kolumny nalezy przyporządkować *Geographic role* - **w analizowanym przykładzie należy dla kolumny *województwo* wybrać: *geographic role*$\rightarrow$*State/province***. W wyniku geokodowania system przyporządkuje do rekordów w wybranej kolumnie automatycznie wygenerowane współrzędne geograficzne: szerokość geograficzna (*latitude*) i długość geograficzna (*longitude*). <iframe src="https://pl.wikipedia.org/wiki/Wsp%C3%B3%C5%82rz%C4%99dne_geograficzne" width=100% height=400></iframe> ## 2.3 Przygotowanie składowych wizualizacji ### 2.3.1 Wykres słupkowy (*horizontal bars*) W pierwszej kolejności przygotowujemy wykres słupkowy z Rys.0. Tableau wspiera technikę pracy *drag and drop* - wykonywanie poszczególnych czynności często sprowadza się do przeciągania odpowiednich elementów na wybrany kontekst. W celu przygotowania wizualizacji: 1. wybieramy serie danych do wizualizacji na poszczególnych osiach wykresu - przeciągamy odpowiednie serie z kokpitu *Data* na pola *Columns* oraz *Rows*; ![](https://i.imgur.com/thKK5wk.png) 1. z okna *Show Me* wybieramy docelowy typ wizualizacji; ![](https://i.imgur.com/uLnMDl6.png) 1. formatujemy wizualizację za pomocą kokpitu *Marks*. ![](https://i.imgur.com/Ob400ck.png) Należy przyporządkować odpowiednie formatowanie dla atrybutów: 1. Colors - metodą *drag and drop* przeciągmy na przycisk serię danych, która ma być wykorzystana do pokorlowania wykresu, 2. Size, 3. Label - formatujemy etykiety danych, 4. Tooltip - formatujemy tutaj automatycznie pokazujące się podczas przesuwania wskaźnikiem nad seriami danych dymki podpowiedzi. Formatowanie można przeprowadzić w kontekście wybranej serii danych lub wszystkich serii prezentowanych na wizualizacji (zakładka *All*). ### 2.3.2 Tabela tekstowa (*text table*) Postępujemy jak w przypadku wykresu słupkowego, zmieniamy jedynie typ wizualizacji na *text table* w okienku *Show Me*. ### 2.3.3 Mapa W celu przygotowania prezentacji mapowej należy wykorzystać automatycznie wygenerowane podczas geokodowania współrzędne geograficzne: *latitiude* i *longitude*. Współrzędne te należy przeciągnąć odpowiednio: * *latitude* $\rightarrow$ Rows, * *longitutde* $\rightarrow$ Columns. Na atrybut szczegóły (*Details*) w kokpicie *Marks* należy przeciągnąć serię danych, którą chcemy pokazać na mapie - w naszym przypadku *województwo*. ![](https://i.imgur.com/niLAc9U.png) W kolejnym kroku należy: * wybrać typ wizualizacji - *mapa*, * pokolorować mapę po wybranym atrybucie - proponuję serię danych odpowiadającą 2018r, * skonfigurować etykiety danych. ## 2.4 Przygotowanie kokpitu managerskiego (*dashboard*) W celu przygotowania kokpitu wybieramy opcję *New dashboard* z dolnego menu zakładek wizualizacji. ![](https://i.imgur.com/GYNcbyC.png) Metodą *drag and drop* układamy na pustym obszarze roboczym poszczególne wizualizacje w odpowiednim porządku. ![](https://i.imgur.com/2ifm98P.png) Pozostaje do skonfiurowania: * tytuły poszczególnych wizualziacji - menu kontekstowe, opcja *Edit title*, * poukładanie komponentów sterujących w odpowiednim miejscu kokpitu - jak na [Rys.0](#rys0). ## 2.5 Publikacja na serwerze *Tableau Public* Ostatnim etap jest publikacja wizualziacji na serwerze *Tableau Public*. W tym celu: * na zakładce *Data source* zamieniamy typ połączenia z *Live* na *Extract*, * menu górne: Server $\rightarrow$ Tableau Public $\rightarrow$ Save to Tableau Public; po podaniu danych logowania wybieramy nazwę dla wizualziacji na serwerze i publikujemy wizualizację. # Ćwiczenie do samodzielnej realizacji W ramach ćwiczenia należy przygotować i opublikować na swoim profilu *Tableau Public* analogiczną prezentację ilustrującą długość autostrad w poszczególnych województwach w ostatnich 5 latach. :smile: --- *[BDL]: Bank Danych Lokalnych *[BI]: Business Intelligence