Miesięcznik informatyków i menedżerów IT sektora publicznego

Aleksander Skibiński

Ukryty skarb Microsoft Excel

W lipcowym wydaniu „IT w Administracji” przedstawiliśmy Power BI Desktop, czyli bezpłatny program umożliwiający wizualizację danych. Podobne narzędzia znajdziemy w Microsoft Excel – w dodatkach Power View, Power Query i Power Map.

Położenie 20 wybranych szkół na mapie Warszawy w dodatku Power Map.

Power View dostępny jest jedynie w droższych wersjach pakietu Office, ale dwa pozostałe narzędzia można zainstalować już w podstawowych wersjach Excela. W artykule zaprezentujemy możliwości języka programowania dostępnego w Power Query, nieformalnie nazywanego językiem M. Oferuje on ogromną liczbę wbudowanych funkcji do pracy na tabelach, rekordach i listach. Ponadto umożliwia pobieranie danych z różnych źródeł, pisanie pętli i własnych funkcji. Nie jest to język podobny do Visual Basic for Applications (VBA), w którym piszemy makra, ponieważ – nie można za jego pomocą sterować Excelem, ale jedynie manipulować danymi.

Możliwości języka M przedstawimy na przykładzie geolokalizacji informacji. Często zdarza się bowiem, że w tabeli mamy dane adresowe, ale potrzebujemy informacji o współrzędnych geograficznych podanego miejsca (długości i szerokości geograficznej), które pozwolą zwizualizować adres na mapie. Dane takie można uzyskać, wykorzystując chociażby usługę oferowaną przez serwis Google – wystarczy przekazać do niego adres i zwrotnie uzyskać współrzędne geograficzne. Co więcej, możemy to zrobić w formie funkcji, która będzie wykonana na każdym wierszu tabeli.

Gdzie jest szkoła

Jako źródło danych wykorzystamy informacje o szkołach w Warszawie. Pobieramy je z portalu „Otwarte dane – czyli dane po warszawsku” (api.um.warszawa.pl/#). W dodatku Power Query jako źródło danych wybieramy <Z sieci Web> i wklejamy adres:

https://api.um.warszawa.pl/api/action/datastore_search/?resource_id=1cae4865-bb17-4944-a222-0d0cdc377951&q=liceum&limit=2000

Zapytanie pobierze dane o liceach w Warszawie. Ostatni parametr limit=2000 oznacza, że chcemy pobrać informacje o 2000 szkół. Bez jego podania serwis zwróci pierwszych 100 rekordów. Rezultatem wywołania będzie dokument z danymi w formacie JSON (dane te można zobaczyć, wklejając podany adres bezpośrednio do przeglądarki internetowej). W pasku funkcji widoczne będą dwie wykorzystane funkcje – Json.Document() i Web.Contents(). Pierwsza z nich zwraca dokument w formacie Json, a druga zwraca zawartość strony o adresie podanym w parametrze.

Naszym celem jest uzyskanie danych w tabeli, nadających się do dalszego opracowywania. Powyższe funkcje zwracają jednak tylko jeden rekord (klikając na wartość Record, możemy oglądać pobrane dane na coraz większym poziomie szczegółowości, aż do pojedynczego rekordu). Informacje pobierzemy, wykorzystując język M. W tym celu otwieramy Edytor zaawansowany. Zauważmy, że wszystkie wykonane do tej pory operacje są zapisane w postaci komend języka M. Aby otrzymać tabelę z danymi o szkołach w Warszawie, musimy trochę zmienić zapytanie zbudowane przez Power Query.

[...]

Autor pracuje w Izbie Celnej w Szczecinie, zajmuje się programowaniem baz danych i analizą danych.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma. Zapraszamy do składania zamówień na prenumeratę i numery archiwalne.
 
 

Polecamy

Biblioteka Informacja Publiczna

Specjalistyczne publikacje książkowe dla pracowników administracji publicznej

więcej