Podczas korzystania z Power Query czasami pojawia się potrzeba pobrania tego samego typu danych (wymagającego tych samych przekształceń) z różnych źródeł. Tymi źródłami mogą być np. pliki zlokalizowane w różnych folderach, mogą to też być dane z różnych stron internetowych. Z punktu widzenia Power Query wymaga to stworzenia niestandardowej funkcji.

W tym artykule omówimy pobieranie danych z plików .pdf oraz ze stron internetowych z wykorzystaniem takiej funkcji. Przy okazji omówimy przykładowe przekształcenia danych w ramach tworzonych funkcji/zapytań.
Pobieranie danych z wielu plików PDF
Pierwszy omawiany przykład będzie dotyczył pobierania danych z plików .pdf. Mamy przygotowaną tabelę, zaciągniętą do Power Query, w której mamy listę przykładowych ścieżek dostępu do plików, które pokazuje Rysunek 1.
Dla uproszczenia przykładu ścieżki prowadzą do tego samego folderu, ale równie dobrze mogłyby one prowadzić do folderów znajdujących się w całkiem innych lokalizacjach czy dyskach. Część z tych ścieżek specjalnie prowadzi do nieistniejących plików, w związku z czym w późniejszym etapie przekształceń będziemy musieli usunąć błędy z tym związane.
W pierwszej kolejności pobierzemy dane z jednego pliku. Strukturę danych w przykładowym pliku .pdf pokazuje Rysunek 2.
Dane w plikach .pdf powstały na podstawie danych ze strony: https://coinmarketcap.com/historical.
Żeby pobrać dane z pliku .pdf do Power Query, należy na karcie „Dane” rozwinąć polecenie „Pobierz dane”, następnie przejść do opcji „Z pliku” i wybrać pozycję „Z pliku PDF”, co pokazuje Rysunek 3.
Otworzy to okno „Importowanie danych”, w którym musimy odnaleźć plik .pdf, z którego chcemy pobrać dane. Po jego zaznaczeniu klikamy w przycisk „Importuj”, jak pokazuje to Rysunek 4.
Po kliknięciu przycisku „Importuj” otworzy się okno „Nawigator”, w którym wybieramy informacje (tabele albo strony), które chcemy pobrać z pliku .pdf, jak pokazuje Rysunek 5.
Standardowo możemy pobrać informację z jednej strony lub tabeli. Ważne, że pojedyncza tabela może zająć maksymalnie jedną stronę. Klikając na ikonę foldery/nazwę pliku w oknie „Nawigator” (Rysunek 5), pobierzemy wszystkie dane z pliku .pdf, które później będziemy mogli odfiltrować.
W oknie „Nawigator” możemy też zaznaczyć checkbox „Wybierz wiele elementów”, który pozwoli zaznaczać, które informacje chcemy pobierać, ale wtedy każda tabela i strona zostanie zaimportowana jako osobne zapytanie.
W tym przykładzie chcemy pobrać dane tylko z pierwszej tabeli („Table001”). Jak pokazuje okno „Nawigator”, znajduje się ona na pierwszej stronie pliku .pdf.
Przekształcanie danych
Po zaznaczeniu wybranego elementu klikamy w przycisk „Przekształć dane”. Zaimportuje to dane do edytora. Powinniśmy w nim zobaczyć domyślnie cztery kroki:
- „Źródło”, który wskazuje lokalizację pliku.
- „Nawigacja”, który wybiera dane ze wskazanej przez nas tabeli.
- „Nagłówki o podwyższonym poziomie”, który wykorzystuje pierwszy wiersz jako nagłówki (nazwy) kolumn.
- „Zmieniono typ”, który przypisuje wszystkim kolumnom konkretny typ danych.
Ostatni krok („Zmieniono typ”) wpływa na dalsze przekształcenia, więc jeśli dodał się automatycznie, lepiej go usunąć.
Pierwszym przekształceniem jest poprawienie danych w trzech ostatnich kolumnach (% 1h, % 24h, % 7d). Możemy zauważyć, że edytor od początku wszystkim kolumnom przypisał tekstowy typ danych. W niektórych komórkach występuje znak mniejszości (co pokazuje Rysunek 6), na początku nam to odpowiada.
Docelowo jednak musimy usunąć znak mniejszości z trzech ostatnich kolumn. Dlatego zaznaczamy trzy ostatnie kolumny, np.: przytrzymując klawisz Ctrl i klikamy je po kolei, a następnie na karcie „Przekształć” klikamy w polecenie „Zamienianie wartości”, jak pokazuje Rysunek 7.
Otworzy to okno „Zamienianie wartości”, gdzie w pole „Wartość do znalezienia” wstawiamy znak mniejszości, a pole „Zamień na” pozostawiamy puste, jak pokazuje to Rysunek 8. Wprowadzone przez nas zmiany zatwierdzamy przyciskiem OK.
Kolejnym przekształceniem, jakie chcemy wykonać, jest usunięcie zbędnych kolumn. Są to w tym przykładzie kolumny: „Podaż w obiegu” oraz „Wolumen dzienny”. Żeby je usunąć, wystarczy je zaznaczyć i nacisnąć klawisz Delete.
Teraz możemy wykryć typ danych dla trzech ostatnich kolumn i pierwszej kolumny (L.p.). Wystarczy je zaznaczyć, trzymając klawisz Ctrl, a następnie kliknąć w polecenie „Wykryj typ danych” znajdujące się na karcie „Przekształć”.
Nie wykrywamy automatycznie typów danych dla kolumn „Kapitalizacja rynkowa” i „Cena”, ponieważ liczby w nich przechowywane (Rysunek 5) nie są zgodne z polskimi ustawieniami regionalnymi (z polskim zapisem liczb) i Power Query przypisałby im tekstowy typ danych. Dlatego przekształcenia musimy dokonać ręcznie. Potrzebujemy kliknąć w ikonę typu danych w nagłówku danej kolumny, a następnie w podręcznym menu wybrać ostatnią opcję „Używając ustawień regionalnych”, jak pokazuje to Rysunek 9.
Otworzy to okno „Zmienianie typu za pomocą ustawień regionalnych”, gdzie jako „Typ danych” potrzebujemy wybrać walutę, a jako „Ustawienia regionalne” Angielski (Stany Zjednoczone), jak pokazuje to Rysunek 10.
Korzystając z interfejsu użytkownika, możemy w ten sposób dopasować typ danych tylko dla jednej kolumny w kroku, ale możemy też zmodyfikować odpowiednio kod dla dodanego kroku w pasku formuły. Czyli w kodzie:
= Table.TransformColumnTypes(#"Zmieniono typ", {{"Kapitalizacja rynkowa", Currency.Type}}, "en-US")
dodajemy jeszcze informacje dla drugiej kolumny Cena:
= Table.TransformColumnTypes(#"Zmieniono typ", {{"Kapitalizacja rynkowa", Currency.Type}, {"Cena", Currency.Type}}, "en-US")
Na koniec dokonamy najtrudniejszego przekształcenia, czyli poprawimy dane w kolumnie „Nazwa”. Możemy zauważyć (Rysunek 5), że w kolumnie „Nazwa” przed każdą nazwą kryptowaluty znajduje się jej symbol. Żeby poprawić kolumnę „Nazwa”, nie możemy po prostu użyć polecenia „Zamienianie wartości” z karty Przekształć (Rysunek 7), ponieważ użyta w nim funkcja nie pozwala dopasować wartości dla poszczególnych wierszy. Dla całej kolumny musimy użyć tej samej wartości.
Dlatego w tym przykładzie na karcie „Dodaj kolumnę” rozwiniemy polecenie „Wyodrębnij” i skorzystamy z opcji „Tekst za ogranicznikiem”, jak pokazuje to Rysunek 11.
Pozostałe 68% artykułu dostępne jest dla zalogowanych użytkowników serwisu.
Jeśli posiadasz aktywną prenumeratę przejdź do LOGOWANIA. Jeśli nie jesteś jeszcze naszym Czytelnikiem wybierz najkorzystniejszy WARIANT PRENUMERATY.
Zaloguj Zamów prenumeratę Kup dostęp do artykułuŹródło: Controlling i Rachunkowość Zarządcza nr 7-8/2025