Przygotowując dane do infografiki „Polska najwyżej w historii w rankingu FIFA”, łączyłem się ze stronami internetowymi Wikipedii i FIFA. Gdybym nie znał Power Query i korzystał ze standardowych możliwości programu Excel, zebranie danych zajęłoby mi godziny, a nie kilka minut. Czym mechanizm pobierania danych z sieci Web w Power Query różni się od standardowej opcji Pobierz dane z sieci Web?
Podczas szkoleń z Excel BI powtarzam zawsze, że stare sposoby pobierania danych odchodzą do lamusa i obowiązkiem każdego szanującego się użytkownika programu Excel jest dokładne poznanie możliwości dodatku Power Query. Dlaczego? O tym pisałem już, opisując powody korzystania z Query (Get & Transform). W poniższym artykule spróbuję to udowodnić na przykładzie pobierania danych z Wikipedii ze stron:
- Lista meczów reprezentacji Polski w piłce nożnej mężczyzn (1921–2000)
- Lista meczów reprezentacji Polski w piłce nożnej mężczyzn
Pobieranie danych zewnętrznych – stara szkoła
Problem z klasycznym łączeniem z siecią Web dla stron Wikipedii jest szczególnie widoczny – zamiast pobierać pojedynczą tabelę pobieramy całą stronę.
Finalnie w arkuszu lądują teksty oraz tabele, bardzo często nieuporządkowane.
Obróbka tych danych, zwłaszcza dodanie kolumny data meczu w formacie YYYY-MM-RR dla każdego wpisu byłoby drogą przez mękę. Co więcej dane na Wikipedii były rozrzucone na dwóch stronach, co oznacza, że cały proces przygotowania danych musiałbym powtórzyć ręcznie dla drugiej strony.
Pobieranie danych z sieci Web poprzez Power Query
W zależności od posiadanej wersji programu Excel, Power Query znajdziemy na karcie Dane > Pobieranie i przekształcanie > Nowe zapytanie (Excel 2016+) lub bezpośrednio na karcie Power Query (Excel 2010 i 2013).
W kolejnym oknie wklejamy link.
Z jednej strony Power Query potrafi wczytać strukturę html strony (element Document), z drugiej zaś świetnie wychwytuje pojedyncze tabele. Do dyspozycji mamy 2 widoki podglądu:
- Widok tabeli
- Widok sieci Web
Po wybraniu opcji Edytuj wczytujemy dane do Query i rozpoczynamy obróbkę danych.
Co dalej? W skrócie:
- nagrałem ciąg poleceń dla pierwszej strony
- zduplikowałem zapytanie i uruchomiłem proces dla drugiej strony (z małymi zmianami, bo między stronami było kilka różnic)
- scaliłem zapytania
Efekt końcowy: kilka minut pracy, oszczędności na poziomie 1 h.
W kolejnym artykule pokażę, jak podobny proces wykonałem dla prawie 300 stron FIFA w kilka minut.
Plik do pobrania
Pobierz plik Pobieranie danych z sieci Web przez Power Query i sprawdź sam.
Bardzo ciekawy wpis. Import danych ze stron www daje szereg możliwości do wykorzystania. A jak zaimportować dane z SAP BO? Próbowałam analogicznie jak w powyższym przykładzie, czyli kopiując adres strony, ale wyskakuje jakiś problem.
Niestety mój PowerQwery nie chce współpracować:
DataSource.Error: The request was aborted: Could not create SSL/TLS secure channel.
Details:
https://pl.wikipedia.org/wiki/Dane_statystyczne_o_miastach_w_Polsce
Jakiś pomysł?
Hej Diana, u mnie ta strona wczytuję się bez problemu. Może kwestia starszej wersji Excela albo ustawień security komputera? Spróbuj może w Power BI i zobacz, czy działa: https://www.microsoft.com/pl-PL/download/details.aspx?id=58494
wszystko ok tylko jak obejść zapytanie o prywatność, które pokazuje się w „Widoku sieci web” – przyciski nie reagują nie ma jak wyświetlić właściwej tabeli:(
Hej Robert, tu zapytania o prywatność być nie powinno lub można je zignorować, jeśli jest taka opcja, bo łączymy się z danymi ogólnodostępnymi.