Projekt z Power Bi Desktop jest zazwyczaj trójstopniowy, w pierwszym kroku pobieramy dane, w drugim budujemy model, a w trzecim, ostatnim projektujemy dashboard, czyli dokonujemy szeroko pojętej wizualizacji danych pochodzących z przygotowanego modelu. W ramach tych kroków Power Bi Desktop daje tak dużo różnych możliwości, że nie sposób ich wszystkich przedstawić. Mam jednak nadzieję, że w ramach obecnego wpisu pokażę, że to wcale nie takie trudne i jednocześnie zachęcę do wykorzystania Power Bi Desktop w analizie i wizualizacji danych.
A jako, że jestem pracownikiem naukowo-dydaktycznym Politechniki Częstochowskiej, Wydziału Infrastruktury i Środowiska to jednym z moim, i oczywiście moich koleżanek i kolegów także, corocznych obowiązków jest przygotowanie publikacji prezentującej wyniki badań prowadzonych prac. Stąd też postanowiłem że wykorzystam Power Bi do przygotowania panelu wizualizacyjnego służącego do monitorowania informacji o publikacjach pracowników naszego Wydziału.
Aby cokolwiek pokazać trzeba mieć dane.
Na początku by chaos. No może przesadzam, po prostu na początku musiały znaleźć się dane. I oczywiście znalazły w trzech różnych miejscach.
Pierwsze to wykaz czasopism naukowych i recenzowanych materiałów z konferencji międzynarodowych dostępny na stronie rządowej pod adresem:
Wykaz dostępny jest w postaci skoroszytu Excel.
Drugie to dane z listą publikacji pracowników Wydziału Infrastruktury i Środowiska. Tu już tak prosto nie było. Dostęp do listy generowany jest poprzez stronę Biblioteki Głównej Politechniki Częstochowskiej (https://bg.pcz.pl/apisnb). Zatem trzeba było przeprowadzić web scraping. W tym celu skorzystałem z biblioteki selenium dla Pythona (https://selenium-python.readthedocs.io/) i przygotowałem odpowiedni skrypt, którego zadaniem było odczytać publikacje, i przygotować je w formacie DataFrame, a następnie zapisać do pliku tekstowego w formacie csv.
Trzecie to lista pracowników uzyskana z systemu USOS w postaci pliku tekstowego w formacie csv.
Jak z tego widać praktycznie wszystkie dane to niemal ten sam format danych. A trzeba jasno powiedzieć że Power Bi Desktop umożliwia pobieranie danych naprawdę z bardzo wielu różnych źródeł. Wystarczy wybrać polecenie Pobierz dane (Get data – w dalszej części będę używał angielskich poleceń) aby się o tym przekonać. W oknie dialogowym w podziale na sześć grup możemy poszukać odpowiedni typ danych, które chcemy zaimportować. W moim przypadku będą to zatem Excel Workbook oraz Text/CSV. Polecenie Connect akceptuje wybór rodzaju źródła. Oczywiście najpopularniejsze źródła danych możemy otwierać na kilka innych sposób.
Po wyborze rodzaju źródła danych odszukujemy plik. Będąc w oknie Navigator możemy wybrać właściwy arkusz, podejrzeć dane w oknie podglądu, a następnie zdecydować czy wczytujemy dane do warstwy modelu, czy chcemy dokonać przetwarzania danych. W tym drugim przypadku wybieramy przycisk Transform data.
Power Query Editor w Power Bi Desktop
W rezultacie otwierany jest Power Query Editor, z pomocą którego można wykonywać przetwarzanie danych. Jego możliwości są ogromne, i o tym niech świadczą dostępne narzędzia na wstążce. Każda z kart zawiera określone polecenia, których zadaniem jest zapewnić łatwe przekształcenie danych do postaci, która będzie najbardziej przydatna dla opracowywanego modelu.
W analizowanym przypadku zbyt dużo takich operacji jednak nie było. Rozpocząłem od analizy ilości błędów i brakujących danych. Świetnym elementem graficznym pozwalającym się szybko zorientować co do sytuacji z takimi informacjami danymi jest belka umieszona pod nazwą kolumny (choć oczywiście można zajrzeć do zakładki View). Lokalizacja kursora myszy na niej pozwala rozwinąć stosowne okno z podpowiedzią i nawet wykonać pierwsze operacje związane czy to z usunięciem błędów, usunięciem duplikatów czy też brakujących danych. Z kolei kliknięcie identyfikatora typu danych przed nazwą kolumny daje możliwość zmiany typu danych dla całej kolumny.
Do danych wprowadziłem dodatkową kolumnę. Zakładka Add Column daje przeogromny zasób metod w jaki możemy to zrobić. W tym przypadku skorzystałem z polecenia Conditional Column celem dodania kolumny Tytul, będącej kolumną warunkową uzyskaną na podstawie warunku występowania tytułu czasopisma.
by następnie z zakładki Transform wykonać parę operacji na tekście, w tym usunięcie białych spacji oraz zamiany nazw czasopism w sposób, by każdy kolejny człon nazwy zaczynał się wielką literą. I na tym tu poprzestanę, nie da się bowiem przedstawić wszystkich możliwości tego narzędzia. Sprecyzuje jedynie, że Power Query Editor to narzędzie to wczytywania, czyszczenia, przetwarzania danych z przeogromnym bogatym zasobem narzędzi, które wyżej wymienione czynności ułatwią i uczynią przyjemnym.
Model w Power Bi Desktop
Po przygotowaniu danych przechodzimy do modelu. Modelowanie w Power Bi zaczyna się od utworzenia relacji pomiędzy różnymi źródłami danych w wyniku czego można uruchamiać zapytania dotyczące powiązanych danych w wielu tabelach. O relacjach nie będę tu jednak pisał, zainteresowanych odsyłam do poniższego artykułu [1], który jest dobrym przewodnikiem po powiązaniach między tabelami. W moim przykładzie mam sześć tabel, które powiązane zostały ze sobą relacją typu jeden-do-wielu. Jedna relacja wiele-do-wielu została rozbita na dwie, co spowodowało ze pojawiła się tabela Autorstwo. Tabele posiadają unikalne pola, więc nie musiałem dodatkowo tu nic tworzyć. Gdyby jednak, to zawsze do tego celu służy panel Widok danych (Data). Natomiast aby dowiedzieć się więcej o danej relacji można wskazać ją kursorem, a następnie po kliknięciu prawym klawiszem myszy wybrać polecenie Properties.
Z kolei aby uzyskać bardziej szczegółowy widok relacji między danymi wybieramy polecenie Manage relationship. Relacje wyświetlane są w postaci listy.
Przyciski na dole dają nam dodatkowe możliwości w związku z automatycznym wyszukiwaniem relacji, tworzeniem nowych, edycją lub usuwaniem istniejących.
I przyszedł czas na wizualizację
Także to co obecnie zostało wykonane to taka gra wstępna przed końcowym występem, do którego należy wizualizacja. Tworzenie wizualizacji to skuteczny sposób na odnajdywanie i pokazywanie kluczowych informacji. Power Bi Desktop oferuje wiele interesujących wizualizacji, począwszy od prostych jak zwyczajne wykresy kolumnowe (Column charts) do zaawansowanych jak kluczowe wskaźniki wpływu (Key Influencers). Każda wizualizacja dysponuje sporym zasobem pól kluczowych oraz właściwości. I znów nie sposób ich tu wszystkich przedstawić, zresztą najlepsza metodą zapoznania się jest po prostu praca z nimi. Przygotowany przeze mnie dashbord wykorzystuje naprawdę niewielką cząstkę z ogromu zasobów. Został on przygotowany na bazie pięciu wizualizacji. Są to: Slicer, Donut chart, Table, Matrix oraz Treemap. Aby wybrać dowolny rodzaj wizualizacji wystarczy kliknąć na symbolizującej go ikonie z panelu Visualizations w bloku Report.
Wówczas pod oknem z wizualizacjami pojawi się okno opcji (Add data fields), które tylko czekają na to by np. za pomocą metody przeciągania uzupełnić je polami pochodzącymi z tabel.
Co więcej pod ikoną wałka malarskiego ukrywa się cały zestaw opcji pozwalających na formatowanie, czyli tytuły, kolory, czcionki itp., wszystko uzależnione od rodzaju wybranego elementu graficznego wykorzystanego do wizualizacji.
Wielką zaletą jest to, że wizualizacje na podstawie relacji określonych w modelu są ze sobą powiązane (jak trzeba to oczywiście powiązanie można rozwiązać 😉 ), acz takie podejście daje tę niesamowitą możliwość w zakresie wizualizacji danych zarówno w pionie i poziomie. Wystarczy wybrać jakiś element w wizualizacji by ograniczyć (filtrować) wizualnie zakres przedstawianych danych. Ok, ale wróćmy do dashboardu z tematycznymi publikacjami pracowników Wydziału Infrastruktury i Środowiska.
Z założenia przyjąłem, ze przygotowywany „dashboard” będzie prezentował informacje dotyczące ilości opublikowanych prac w danym roku przez pracowników Wydziału, całościowo i w rozbiciu na pracownika, rodzaju czasopisma ze względu na przypisaną mu punktację w liście ministerialnej oraz informacje kosztowe jako wskaźniki miary wydatkowania środków na te publikacje. Całość została zatem podzielona na trzy strony z wizualizacjami, z których dwie poniżej zaprezentuje.
Na stronie Ogólne_informacje wyszególnione zostały dane o jednostkach w ramach Wydziału Infrastruktury i Środowiska, ilości pracowników naukowo-dydaktycznych w nich funkcjonujących i z określonym tytułem naukowym. Znaleźć także można informacje o ogólnej ilości publikacji w skali roku, z podziałem na autorów, punktację czasopisma oraz tytuł czasopisma w których publikacje zostały opublikowane. Ogólną postać tej strony dashboardu prezentuje poniższy rysunek.
Oczywiście tak jak wspomniałem dowolny wybór elementu z dashbordu filtruje powiązane z nim wizualizacje. Np. ograniczając za pomocą Slicera lata do 2021-2022 i wybierając jako jednostkę Katedra Zaawansowanych Technologii Energetycznych tylko te dane pozyskujemy, co zobrazowane poniżej.
Z kolei w oknie Publikacje wykorzystałem wizualizację Treemap, która już z góry pozwala określić rodzaj czasopisma, w którym najczęściej publikują pracownicy. Po wyborze odpowiedniego kafelka dokonujemy wyboru roku publikacji docierając do tytułu publikacji i jego autorów.
Muszę przyznać, że praca z Power Bi to świetna zabawa, i każdemu kto chce w jakiś sposób pracować z wizualizacją danych nauka aplikacji Power Bi będzie świetnie spędzonym czasem, który z pewnością przyniesie korzyść.