Modelowanie i analiza danych zazwyczaj kończy się ich wizualizacją. Po co wizualizujemy? To bardzo ważne pytanie, bo przecież coś dzięki wizualizacji chcemy osiągnąć, do kogoś z tym przekazem chcemy dotrzeć. W czasach myślenia wizualnego dotarcie do określonej grupy odbiorców za pomocą historii opowiedzianej graficznie jest nie tylko atrakcyjniejsze, ale i efektywniejsze. W końcu zależy nam na przyciągnięciu uwagi i szybszemu zrozumieniu przekazywanych treści. Co więcej dzięki wizualizacji możemy odkryć relacje czy zależności, których odkrycie w tradycyjny sposób byłoby utrudnione, czy wręcz niemożliwe. Także co tu dużo pisać, wizualizacja to dziś konieczność w analizie danych. Narzędzi służących do tego celu jest także sporo. Dotychczas korzystałem głównie z bibliotek matplotlib czy ggplot. Wykorzystanie ich wymaga jednak pracy z dokumentacją i ma charakter opisowy. A czy da się prościej, ale z pełnym dostępem do wielu opcji. Tak da się, z pewnością taką jest wizualizacja w Power BI.
Dlaczego Power BI?
Na podstawie raportu [1] przeprowadzonego i udostępnionego przez Gartner, Inc. z siedzibą w Stamford, czyli wiodące przedsiębiorstwo analityczno-badawcze specjalizujące się w zagadnieniach strategicznego wykorzystania technologii oraz zarządzania technologiami, Microsoft jest wiodącym, jeśli wręcz nie liderem na rynku platform analityczno-raportowych (rys. 1). Poza tym, oferowane w tym sektorze narzędzie Power BI Desktop jest darmowe.
To oczywiście wzmogło we mnie zainteresowanie i chęć zapoznania się z tym narzędziem. Tym bardziej, że jak można przeczytać na stronie Microsoft praca z nim ma być łatwa, szybka i przyjemna. A proces raportowania skierowany jest do każdego użytkownika, który ma trochę chęci by poklikać i przejść przez podstawowe kroki, jakim są połączenie z danymi, przekształcenie danych, zbudować model i zaprojektować raport.
W tym wpisie przedstawię pewne możliwości wizualizacyjne narzędzia Power BI, a dane zostaną uprzednio przygotowane na podstawie skryptu w języku Python. Właśnie to też jest niesamowite z jak ogromnej ilości różnych źródeł w Power BI można skorzystać. Masz plik tekstowy w formacie txt, csv, pliki Excela, pliki z popularnych baz danych czy bezpośrednio z internetu, nie ma problemu wszystko do Power BI można wczytać.
Przygotowanie danych
Zatem chyba nie ma co przedłużać przystąpmy do działania. Z racji swoich środowiskowych zainteresowań postanowiłem wykorzystać dane dotyczące emisji ditlenku węgla do powietrza. Baza danych Emissions Database for Global Atmospheric Research [2] zawiera szeregi czasowe emisji CO2 począwszy od 1970 roku dla wszystkich krajów świata. Ostatnie dane dotyczą roku 2020, i to jest to co między innymi odróżnia ten wpis od wielu podobnych dotyczących największych emitentów ditlenku węgla do atmosfery. Bowiem jak poszukacie takich wpisów, to dane zazwyczaj kończą się na roku 2016. A gdyby ktoś był mocno zainteresowany tematem emisji CO2 to pełny raport można pobrać tutaj. Dane do analizy dostępne są w formacie pliku Excel, składającego się z kilku arkuszy. Oczywiście taki plik bezpośrednio mógłbym wczytać do Power BI i tutaj przeprowadzić operacje przygotowujące dane przed ich wizualizacją. Jednak jak wspomniałem posłużę się językiem Python celem przygotowania danych określających dziewięciu największych emitentów ditlenku węgla do atmosfery według wielkości emisji z roku 2020. Dosłownie będzie to kilka linijek, które efektywnie, za co uwielbiam bibliotekę pandas [3], które przekształcą dane do łatwiejszej do przeprowadzenia wizualizacji postaci.
Wczytać dane do Power BI możemy na wiele sposobów. Zależy to między innymi od formatu danych. Skrypt Pythona też można wczytać na kilka sposobów. Pokażę jeden z nich. Po uruchomieniu Power BI ze wstążki przypisanej do menu Home wybieramy polecenie Get Data.
Po otwarciu listy z polecenia Get data wybieramy More, a następnie z otwartego okna dialogowego pozycję Other i Python script. Uruchomione zostanie okno do wpisania skryptu w języku Python.
W rezultacie w Power BI otrzymujemy dane, którym należy dopasować typ. W tym przypadku typ tekstowy dla nazwy kraju, format daty dla roku oraz format liczby dziesiętnej dla wartości emisji CO2, która podana jest w tonach metrycznych w przeliczeniu na rok. Dokonujemy tego w prosty sposób wybierając odpowiedni typ z rozwijanej listy, przypisanej do kolumny nagłówka.
Czas na wizualizację
Dane przygotowane, czas przejść do wizualizacji. I na początek coś, co będzie moim skromnym zdaniem przyszłością analityki raportowej. Narzędzie Power BI zostało wyposażone w możliwość zadawania pytań językiem naturalnym, czyli mamy zaczątek konwersacji pomiędzy użytkownikiem a komputerem. Oczywiście, część języków jest jeszcze w wersji Preview. Zakładam jednak, że z upływem czasu ten sposób komunikacji stanie się z pewnością coraz bardziej rozpowszechniony w wielu językach narodowych. Język polski, jak widać z załączonej tabeli jest jeszcze w wersji Preview więc do zadania przykładowego pytania, które będzie podstawą wizualizacji posłużę się poleceniami języka angielskiego. Będzie to taka mieszanka uwzględniająca także nazwy pól naszych danych.
Wracamy zatem do głównego okna, gdzie w obszarze roboczym dwukrotnie klikamy lewym przyciskiem.
W uaktywnionym oknie dialogowym wpisujemy zapytanie, na które chcielibyśmy uzyskać odpowiedz w postaci wizualnej. Na przykład chciałbym się dowiedzieć, które z krajów będących największym z emitentów ditlenku węgla do atmosfery jest niechlubnym liderem w 2020 roku. Po utworzeniu pytania jak na poniższym rysunku klikamy ikonę za polem wprowadzenia zapytania i następuje przekształcenie do postaci określonej wizualizacji.
Można to także zrobić w sposób tradycyjny, czyli z listy dostępnych form wizualizacyjnych wybieramy tę, która nas interesuje . Niech będzie to standardowy wykres liniowy. Na ekranie roboczym pojawia się wybrana, pusta forma wizualizacyjna, której rozmiar możemy zmieniać za pomocą bocznych uchwytów dopasowując ją do wymagań. Dalej pod listą dostępnych form wizualizacyjnych uaktywniają się opcje służące do przygotowania naszej wizualizacji poprzez określenie danych przypisanych do odpowiednich osi, a następnie nadaniu im odpowiedniej formy . Jak widać, opcji jest dość sporo. Prześledźmy wybrane.
Z okno pól danych przeciągamy te, które chcielibyśmy zaprezentować, czyli wartość emisji do pola Values oraz rok do pola Axis. W ten sposób uzyskaliśmy skumulowane wartości emisji CO2 największych emitentów.
Nie za bardzo jednak o to nam chodziło. Dołożę zatem filtr, który pozwoli nam przedstawić dane emisji CO2 dla określonego kraju. Zatem do okna Filters przeciągnę pole Country uzyskując tym samym możliwość określania kraju emitenta np. Chiny.
Dopieszczamy wizualizację
I już, mamy naszą wizualizację, czyli jak zmieniała się emisja CO2 dla Chin na przestrzeni ostatnich pięćdziesięciu lat. Popracujmy teraz trochę nad stroną edycyjną naszej wizualizacji. Wybierając ikonę wałka malarskiego dostajemy się do szeregu opcji edycyjnych dotyczących wielkości, tytułu, tła, osi, etykiet, stylu linii, tekstu i wielu, wielu innych.
Dla przykładu określmy wielkość grafiki, zmieńmy tytuł wykresu oraz dodajmy etykiety. W zakładce General w pola Width i Height wpisujemy odpowiednio wartości 420 x 240. W zakładce Title definiujemy tytuł, określamy tło itp. Z kolei w zakładce Data Label ustalamy sposób prezentacji etykiet.
W rezultacie nasza wizualizacja wygląda następująco.
I teraz najpiękniejsza rzecz. Poprzez znane wszystkim kombinacje klawiszy CTRL+C -> CTRL-V kopiujemy przygotowany wykres na naszym dashbordzie. Potem dosłownie kilka kliknięć celem wyboru odpowiedniego kraju z filtra i efekt wizualny dziewięciu największych emitentów ditlenku węgla gotowy.
Co więcej w bardzo łatwy sposób umieścić naszą wizualizację na stronie internetowej poprzez jej osadzenie. Można wówczas w interaktywny sposób dokonywać zmian. Tak jak choćby w tym przypadku, gdy przesuwając suwakiem widocznym na wykresie Chin możemy swobodnie określić zakres czasowy, który chcemy pokazać.
Czuję, ze praca z tym narzędziem sprawiać mi będzie dużą przyjemność. A Wy z jakiego narzędzia wizualizacyjnego najczęściej korzystacie? Dajcie znać w komentarzach. Miłego dnia.
Odnośniki
[1] https://www.gartner.com/reviews/market/analytics-business-intelligence-platforms/vendor/microsoft/product/microsoft-power-bi/review/view/4013296
[2] Joint Research Centre Data Catalogue – Emissions Database for Global Atmospheric Research… – European Commission (europa.eu)