Jak przedstawić realizację celów w raportach?

Sebastian Wareluk

kwi 25, 2022

Business Intelligence

Wizualizacja Danych

Wizualizacja danych ma bardzo szerokie zastosowanie w tworzeniu rozmaitych raportów, a z im bardziej skomplikowanymi kontekstami biznesowymi mamy do czynienia, tym bardziej możemy rozwinąć skrzydła, tworząc piękne, treściwe i funkcjonalne prezentacje danych. Dzisiaj jednak nie będę się skupiał na propozycjach rozwiązań specyficznych dla danej branży czy obszaru. Opowiem o bardzo uniwersalnych formach wizualizacji, dla których z całą pewnością duża część czytelników znajdzie zastosowanie w swoje codziennej pracy. Mam na myśli raportowanie realizacji celów. Pokażę trzy szybkie sposoby na to, jak pokazać targety oraz ich wykonanie w przejrzysty i efektowny sposób.

Każda ze wspomnianych metod będzie się różniła od pozostałych w kilku kwestiach. Będą to na przykład: poziom szczegółów, które wykres będzie w stanie pomieścić, liczba elementów, dla których chcemy pokazać realizację celów, czy czasochłonność wykonania.

Narzędzia

W kontekście wizualizacji danych lub też całego procesu tworzenia interaktywnych raportów najczęściej wymienia się trzy konkurencyjne narzędzia. Choć są one nastawione głównie na front-end związany z całym obszarem business intelligence, to coraz lepiej sobie radzą również w dziedzinie pozyskiwania danych czy też przygotowywania ich do finalnego raportowania. W niniejszym tekście posłużę się jedną z najpopularniejszych technologii, czyli Tableau Software. Tableau to producent oprogramowania, które od pierwszych wersji kładzie największy nacisk na dostarczanie narzędzi umożliwiających tworzenie raportów, które będą nie tylko wizualizacją danych, ale również narzędziami do analityki wizualnej z perspektywy ich odbiorców. Obecnie doskonale wpisuje się również w schemat, o którym wspominałem wyżej, uzupełniając swoje portfolio o aplikację Tableau Prep, która służy do prostego, wizualnego przygotowywania danych do analizy, poprzez budowanie przejrzystych procesów.

Problematyka

Wracając zaś do naszego tytułowego tematu, wizualizację realizacji targetów zacznę od propozycji, która na pierwszy rzut oka nie będzie niczym wyjątkowym. Ot – wykres słupkowy. Co jest takiego specjalnego w wykresie słupkowym zbudowanym w Tableau w porównaniu do tych, które oferują nam arkusze kalkulacyjne? Otóż diabeł tkwi w szczegółach.

Pierwsza rzecz, na którą trzeba zwrócić uwagę to coś, co będzie dotyczyło wszystkich propozycji wizualizacji, o których będę dzisiaj mówił. Mam na myśli łatwość pozyskania i połączenia ze sobą danych. Żeby prezentowane przeze mnie przykłady były najbardziej uniwersalne dla wszystkich czytelników, osadzę je w środowisku sprzedażowym. Przyjmijmy więc, że cel, o którym będziemy mówić w kontekście realizacji, to określona na dany okres, np. miesiąc, wartość sprzedaży.

Często stajemy w obliczu sytuacji, w której dane dotyczące bieżącej sprzedaży zapisywane są w bazie danych jakiegoś systemu, na przykład SAP-a. Wysokości targetów dla poszczególnych zespołów, przedstawicieli czy też segmentów rynku, przechowywane są w lokalnych plikach na przykład Excelowych. Proces budowy raportu wygląda tak, że najpierw importujemy dane z bazy do Excela, następnie obrabiamy je tak, żeby z układu bazodanowego były bardziej przystępne w arkuszu kalkulacyjnym, po czym je agregujemy, łączymy z celami i przedstawiamy raport, którego czytelność najczęściej pozostawia wiele do życzenia. Z całą pewnością czytają to osoby, które są odbiorcami lub twórcami takich raportów. Jeśli mój opis wydaje wam się znajomy, to odpowiedzcie sobie jeszcze na pytanie, ile czasu czekacie lub przygotowujecie taki raport?

Przygotowanie danych

Ja natomiast odpowiem Wam na inne pytanie – co w zamian w tym obszarze ma do zaoferowania Tableau? Pracę w aplikacji zaczynamy od podłączenia danych, na których chcemy pracować. I na tym etapie nie musimy tworzyć excelowej warstwy pośredniej między bazą danych a raportem, ponieważ podłączymy się bezpośrednio do niej. Niezależnie od tego, czy korzystamy ze wcześniej wspomnianego SAP-a, systemu ERP korzystającego z baz MS SQL Server (jak choćby produkty firmy Comarch), czy innych popularnych rozwiązań, będziemy mieli do dyspozycji wbudowany w Tableau komponent pozwalający na utworzenie połączenia z naszą bazą danych.

Na potrzeby naszych przykładów oprę się na danych sprzedażowych, które są zapisane w pliku excelowym, jednak schemat pracy zarówno, kiedy głównym źródłem jest baza danych, jak i kiedy w tej roli wykorzystujemy plik lokalny, jest niemal identyczny. W kolejnym kroku naszym oczom ukaże się lista tabel, które są dostępne w wybranym zasobie. W przypadku Excela będzie to lista zakładek, które znajdują się w wybranym pliku. Po odszukaniu tabeli, na której chcemy się oprzeć, budując raport, przeciągamy ją do środkowej części ekranu, gdzie będziemy budować nasz model danych (rysunek 2).

Następnie, podobnie jak w przypadku pierwszego źródła danych, dodajemy do naszego modelu drugie (w tym przypadku będzie to plik z targetami) i określamy relacje, na podstawie których Tableau będzie zestawiało ze sobą dane z obu tabel w naszych raportach (Rysunek 3).

W tej chwili mamy przygotowany do raportowania model danych, w którym sprzedaż z tabeli Orders będzie zestawiana z rocznymi targetami z podziałem na Regiony, pochodzącymi z tabeli Target ze źródła Quota. W praktyce stworzenie takiego połączenia wraz z podpięciem danych zajmuje od kilku do kilkunastu minut. Teraz możemy przejść do budowy raportu.

Wykresy słupkowe

Wcześniej wspomniałem, że nasze wykresy słupkowe będą odbiegały w kilku kwestiach od standardów, które możemy znać z innych rozwiązań. Zobaczmy więc, co mają do zaoferowania.

W podstawowym ujęciu widok naszego obszaru roboczego, wraz ze zbudowaną podstawową wizualizacją będzie wyglądał tak jak na rysunku 4. Możesz na nim zauważyć, że dane, które widzieliśmy wcześniej w postaci tabel, są teraz uporządkowane po prawej stronie ekranu. Przeciąganie ich w różne miejsca na ekranie, takie jak obszary Columns, Rows, Marks czy Filters powoduje wizualizowanie wybranych danych. Wykres na rysunku 4, składający się z elementów takich jak Region, Sales oraz Order Date, czyli daty zagregowanej na poziomie roku, daje nam widok, prostego wykresu słupkowego. Zauważ, że dane, które mamy wyświetlone w panelu po lewej stronie, są podzielone na te, które pochodzą ze źródła sprzedażowego (Orders) oraz te, które znajdują się w tabeli Target. Pokażmy więc realizację targetów (rysunek 5).

Kilkoma szybkimi ruchami myszki, możemy stworzyć jasny i przejrzysty przegląd naszych danych, a zwykłe słupki, na pierwszy rzut oka będą w stanie pokazać nam wszystkie te informacje, których szukanie w przepastnych tabelach tekstowych zajmuje długie godziny.

Przyjrzyjmy się jednak, co się zmieniło w naszej wizualizacji; Po pierwsze powstała kalkulacja, dzięki której jesteśmy w stanie wyróżnić kolorem te przecięcia danych, gdzie cel został osiągnięty oraz te, w których do realizacji zabrakło jakiejś kwoty. Warte uwagi jest to, że kalkulacja, którą widzisz na rysunku 5, jest tworzona pomiędzy dwiema miarami z dwóch różnych źródeł danych. Dzięki zdefiniowaniu relacji logicznych między tabelami, które przeprowadziliśmy na etapie łączenia danych, tego typu kalkulacje działają bardzo sprawnie i nie powodują problemów związanych z multiplikacją danych.

Dwa kolejne elementy, które pojawiły się na wykresach, to pionowa przerywana linia referencyjna pokazująca poziom targetu oraz szary obszar pod słupkiem, który oznacza poziom 80% celu. Oczywiście oba elementy możemy dowolnie konfigurować w zależności od naszych wymagań. Kiedy dodajemy do wizualizacji wyróżnik w postaci koloru, Tableau automatycznie generuje legendę koloru, którą domyślnie umieści na naszym raporcie. Ja jednak w niektórych raportach stosuję inne rozwiązanie, które na ilustracji znajduje się pod tytułem. Jest to nieco bardziej rozbudowana legenda, która opisuje nie tylko kolor słupków, ale również obszar pod nimi oraz linię targetu.

W naszym przykładzie mamy niewiele elementów, wizualizacja sprowadza się do pokazania sprzedaży na tle targetu w czterech regionach i czterech latach. Gdybyśmy jednak mieli zdecydowanie więcej elementów, to ogromną zaletą takiego wykresu jest to, że się bardzo dobrze skaluje i gdybyśmy chcieli przedstawić podobny widok na przykład w odniesieniu do kilkudziesięciu przedstawicieli, również pozostanie czytelny.

Podsumowując pierwszą część związaną ze słupkami, możemy śmiało powiedzieć, że było dużo czytania, jeszcze więcej pisania, a w praktyce czas pracy to 15–20 min. Pamiętasz, na ile wyceniłeś lub wyceniłaś importowanie i łącznie danych tradycyjnymi metodami kilka akapitów wcześniej?

Donut chart

Drugi wykres, który chciałbym ci pokazać, to tak zwany donut chart, czyli wykres kołowy. Jest bardzo atrakcyjny wizualnie, może w przejrzysty sposób pokazać wiele informacji, ale w przeciwieństwie do poprzedniego przykładu, swoje zastosowanie znajdzie w sytuacjach, w których będziemy mieli do pokazania tylko kilka kategorii za jednym razem.

Przechodząc do rzeczy, na wstępie kilka zdań o tle technicznym donut chart. W praktyce jest to dwuwarstwowy wykres kołowy, w którym górna warstwa jest nieco mniejsza od dolnej i jest w całości wypełniona kolorem tła. To powoduje, że dolna warstwa wygląda jak okrągła wstęga, która dzieli się na poszczególne kategorie. Ta „warstwowość” wykresu otwiera szereg możliwości związanych z umieszczaniem w nim dodatkowych informacji, ponieważ możemy oddzielnie kontrolować etykiety obu warstw. Jak to wygląda w praktyce?

Na rysunku 6 możesz zaobserwować jeden z etapów budowy naszego wykresu, gdzie strzałkami zaznaczyłem powiązane ze sobą dwie sztucznie wygenerowane miary, których zadanie sprowadza się do stworzenia warstw wykresu, z rzeczonymi warstwami na wizualizacji oraz poszczególnymi zakładkami karty Marks, które służą do sterowania wyglądem obu miar (a z perspektywy wizualizacji – warstw). To z poziomu tych kart, za pomocą elementów, takich jak Size czy Color, decydujemy o tym, że jedna warstwa przedstawia większy wykres kołowy (niebieski), a druga mniejszy – biały.

Potencjał kart w obszarze Marks jest znacznie większy niż zarządzanie wielkością czy kolorem i jeśli poświęcimy kilka chwil na nieco bardziej zaawansowaną konfigurację, naszym oczom ukaże się efekt taki, jak na rysunku 7.

Na rysunkach 7 i 8 możesz zaobserwować, jak różne elementy związane ze sterowaniem wizualizacją, wpływają na jej wygląd. W tym przykładzie przygotowałem tylko jeden wykres, który dodatkowo można filtrować, opierając się na roku i regionie. Po zmianie ustawień filtrów wykres będzie zmieniał swój wygląd oraz treść.

Waffle chart

Ostatnią propozycją jest coś, co zdecydowanie częściej będziemy stosować w raportach zbliżonych wyglądem do infografik niż do raportów biznesowych. Warto jednak wspomnieć o wizualizacji, której różne sposoby prezentacji, znajdziesz w Internecie lub literaturze pod hasłem waffle chart. Waffle jest specyficzny nie tylko ze względu na sposób, w jaki prezentuje dane, ale również ze względu na swoją konstrukcję – żeby go zbudować, musimy stworzyć małe pomocnicze źródło danych, na przykład w Excelu, które pomoże nam „narysować” sam wykres.

Tabela pomocnicza powinna mieć układ taki, jak na rysunku 9, z tym że rekordy muszą się konsekwentnie powtarzać do wartości 100% w ostatniej kolumnie. Mając tak przygotowanie źródło, podłączamy je do Tableau i budujemy z niego prostą tabelę tekstową (rysunek 10).

Przy pomocy karty Marks, zamieniamy tabelę na wykres słupkowy i tworzymy sztuczną miarę w obszarze Columns, żeby wyświetlić słupki równej wielkości. Po kilku kolejnych kliknięciach w obszarze Marks, związanych z kosmetyką widoku uzyskamy obraz taki, jak na rysunku 11.

Każdy kwadrat, który w praktyce jest oddzielnym wykresem słupkowym, symbolizuje wartości procentowe od 1 do 100%, zaczynając od lewego dolnego rogu, kończąc na prawym górnym rogu siatki.

Następnie, chcąc pokazać na wykresie procentowe wykonanie targetu, tworzymy kalkulację zgodnie z tym, co pokazuję na rysunku 12. Porównujemy rzeczywistą realizację z wartościami procentowymi, które są symbolizowane przez poszczególne kwadraty naszego wykresu. Dzięki temu, tworząc prostą regułę dla każdego kwadratu opierającą się o to, czy wartość, którą symbolizuje, jest większa od bieżącej realizacji celu, uzyskujemy możliwość kolorowania wykresu wg dwóch kategorii.

Dodatkowo, wykorzystując funkcję tworzenia adnotacji na wykresach, tworzymy etykietę z liczbową informacją o bieżącym wykonaniu i tak przygotowany wykres możemy zamieścić na naszym raporcie.

Budowa waffle chart wymaga nieco więcej pracy niż wizualizacje z poprzednich przykładów, ale jest ciekawym przykładem wyjścia poza konwencję standardowych raportów. Zagęszczeniem wykresu możemy oczywiście dowolnie zarządzać, w zależności od tego, jak szczegółowa będzie nasza tabela pomocnicza.

Mam nadzieję, że udało mi się wzbudzić waszą ciekawość i zachęcić do spróbowania swoich sił w pracy z narzędziem, które pozwoli prezentować dane w nowy, czytelny i atrakcyjny sposób. Wizualna prezentacja realizacji wyznaczonych targetów może być łatwa, prosta i przede wszystkim zrozumiała dla wszystkich, a nie tylko dla twórców raportów.