# 01 :: Wizualizacja danych - interaktywne dashboardy z danymi ###### tags: `Wizualizacja danych + dashboardy` `Tableau` [TOC] # Business Intelligence Business Intelligence (BI, analiza biznesowa) to proces polegający na przetwarzaniu dostępnych danych w informacje, anastępnie w wiedzę. BI pozwala na przyspieszenie procesu decyzyjnego w firmie, zwiększenie efektywności pracy oraz zysków. Co odróżnia Business Intelligence od tradycyjnego gromadzenia danych? Najważeniajsza jest **kompleksowość** - głównym zadaniem BI jest zbieranie informacji z różnych źródeł (np. systemów ERP, CRM, marketingowych), co umożliwia przeprowadzanie przekrojowych analiz. Nie mniej ważna są **wysoka jakość danych** i **ciągły proces ich przetwarzania** (nieustanny monitoring oraz automatyczne przygotowywanie raportów w czasie rzeczywistym). Dzięki BI zyskujemy dostęp do większej ilości danych, których interpretacja jest realtywnie łatwa i szybka - pozwala to na zdobycie dokładnego rozeznania w **ad hoc** sytuacji organizacji w skali makro i mikro. # 1. Informacje podstawowe - wybrane platformy BI * Tableau * Microsoft Power BI * Google Data Studio ![](https://i.imgur.com/yY1EK1S.png) <center><small> Rys.-1 Magic Quadrant dla platform analitycznych i Business Intelligence</small></center> ## 1.1 Platforma Tableau [Rys.0](#rys0) pokazuje komponenty platformy Tableau oraz ich przeznaczenie. <a id="rys0"></a>![](https://i.imgur.com/MXjDmFZ.png) <center><small>Rys.0 Proces przygotowania wizualizacji BI.</small></center> ## 1.2 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.3 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. 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 :::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**. ::: 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 *Orders* - Rys.4. ![](https://i.imgur.com/G9d0Sae.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 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 kolumn *city, state, country* wybrać: *geographic role*$\rightarrow$*City, State/province, Country/Region**. 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 W celu opracowania [**finalnego kokpitu**](https://public.tableau.com/shared/HC78M9XM3?:display_count=n&:origin=viz_share_link) kolejno przygotowujemy poszczególne wizualizacje. ![](https://i.imgur.com/FeIwVid.png) ### 2.3.1 Wykres słupkowy (*horizontal bars*) Wykres słupkowy pownien pokazywać liczbę zamówień (*Count Distinct(Order ID)*), które zostały wysłane różnymi rodzajami przesyłek (*Ship mode*). Atrybut koloru w całym kokpicie został połączony z atrybutem *Market* ze źródła danych. ![](https://i.imgur.com/ocEFhAw.png) ### 2.3.2 Tabela tekstowa (*text table*) Tabela pokazuje wartość sprzedaży lub zysku (*Sales, Profit*) vs data zamówienia (*Order Date*). ![](https://i.imgur.com/4pa5I4x.png) W celu uzyskania efektu drążenia danych w kategoriach geograficznych została skonstruowana hierarchia danych: Market $\rightarrow$ Region $\rightarrow$ Country $\rightarrow$ City. ![](https://i.imgur.com/8MVwApk.png) W celu umożliwienia dynamicznego przełączania danych: Sales --- Profit: * zdefininowano parametr ![](https://i.imgur.com/8eDulCe.png) * zdefiniowano pole obliczeniowe ![](https://i.imgur.com/2swYhmS.png) a następnie wykorzystano jako miarę wyśietlaną w tabeli wartość pola obliczeniowego *ParamSalesProfit*. ### 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 *City*. ![](https://i.imgur.com/WX9HMsO.png) W kolejnym kroku należy: * wybrać typ wizualizacji - *mapa*, * pokolorować mapę po wybranym atrybucie - proponuję serię **Sales**, * skonfigurować etykiety danych. ### 2.3.3 Wykres kołowy/pierścieniowy (pie/donut chart) ![](https://i.imgur.com/reH90fc.png) ## 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. ## 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ę. --- *[BDL]: Bank Danych Lokalnych *[BI]: Business Intelligence