Jak pobierać do Excela (i Power BI) dane z plików XML?

Dokument XML (Extensible Markup Language) jest plikiem tekstowym, który zawiera dane otoczone tagami. Definiują one strukturę i znaczenie danych, czyli mówią, czym są określone dane. Są popularnym sposobem wymiany informacji z administracją publiczną i jednym ze sposobów eksportowania danych z systemów. Jak pobrać dane z takiego pliku do Excela? Oczywiście z Power Query.

Jak wygląda plik XML?

Oto przykład pliku XML JPK faktura VAT:

Jak pobierać do Excela (i Power BI) dane z plików XML? 1

Krok 1: Pobierz dane za pomocą Power Query

Proces pobierania danych rozpoczynamy od przycisku Pobierz dane na karcie Dane > Z pliku > Z pliku XML.

Jak pobierać do Excela (i Power BI) dane z plików XML? 2

Następnie wskazujemy wyszukiwany plik.

Krok 2: Wybierz tabelę

Plik może składać się z 1 tabeli, ale może mieć w sobie kilka struktur. W oknie nawigatora Power Query wybieramy interesujący nas element (albo wszystkie, wybierając checkbox Wybierz wiele elementów) i klikamy Przekształć dane.

Jak pobierać do Excela (i Power BI) dane z plików XML? 3

Krok 3: Dokop się do danych

W scenariuszu optymistycznym od razu zobaczymy tabelę z danymi.

Jak pobierać do Excela (i Power BI) dane z plików XML? 4

Może się jednak okazać, że do danych trzeba się „dokopać”, rozpakowując kolejne obiekty typu Table.

Jak pobierać do Excela (i Power BI) dane z plików XML? 5

Klikamy wówczas ikoną Rozwiń w lewym górnym rogu kolumny i schodzimy na kolejne poziomy struktury XML-a. Tam mogą czekać na nas kolejne obiekty typu Table, które rozpakowujemy, szukając interesujących nas danych.

Jak pobierać do Excela (i Power BI) dane z plików XML? 6

Na koniec stosując standardowe sposoby pracy z danymi w Power Query przygotowujemy tabelę z danymi, którą ładujemy do Excela lub Power BI.

Jak pobrać folder plików XML?

Na ostatnim webinarze poświęconym pobieraniu danych z folderu przedstawiłem sposoby radzenia sobie z plikami Excel i CSV. Ta sama zasada ma także zastosowanie do folderu plików XML: tworzymy folder plików XML o podobnej strukturze > wybieramy polecenie Pobierz dane > Z pliku > Z folderu.

Jak pobierać do Excela (i Power BI) dane z plików XML? 7

Podajemy ścieżkę katalogu z plikami i klikamy OK.

Jak pobierać do Excela (i Power BI) dane z plików XML? 8

W kolejnym oknie wybieramy polecenie Połącz > Łączenie i przekształcanie danych.

Jak pobierać do Excela (i Power BI) dane z plików XML? 9

Jeśli plik XML ma konkretne elementy do wybrania, wybieramy je z listy.

Jak pobierać do Excela (i Power BI) dane z plików XML? 10

Po przejściu do Power Query zobaczymy wówczas skonsolidowane dane ze wszystkich plików w folderze, a w kolumnie Source.Name nazwę pliku, z którego pochodzą.

Jak pobierać do Excela (i Power BI) dane z plików XML? 11

Jeśli mamy do czynienia z plikami ze strukturą mniej przyjazną, otrzymujemy obiekty typu Table, które zaczynamy rozpakowywać, z tą różnicą, że robimy to na wszystkich plikach w folderze.

Jak pobierać do Excela (i Power BI) dane z plików XML? 12

Masz jakieś ciekawe wyzwanie związane z plikami XML?

Podziel się w komentarzu.

Bartosz Czapiewski

Bartosz Czapiewski

Założyciel SkuteczneRaporty.pl, doświadczony ekspert oraz trener Excela, Power Query, Power BI i DAX. Od ponad 15 lat pomaga specjalistom i firmom lepiej pracować z danymi, automatyzować raporty oraz rozwijać kompetencje analityczne.

Jest autorem programów szkoleniowych dla Analityków: JUNIOR, POWER PRO i EXPERT oraz twórcą społeczności I❤️DATA, w której poprzez mentoring, spotkania LIVE z ekspertami i praktyczne wyzwania pomaga rozwijać umiejętności, budować portfolio, przygotować się do rekrutacji i zrobić kolejny krok w stronę pracy jako Analityk Danych.

Na blogu dzieli się praktycznym podejściem do analityki: od układania danych w Excelu, przez automatyzację pracy z Power Query, aż po zaawansowane raportowanie w Power BI, DAX i rozwój kariery Analityka Danych.

Brak komentarzy

  1. Hej. Wszystko zrozumiałe, ale natknąłem się na problem, który nie został opisany. Importując xml mam kolumnę typu Text, część komórek zawiera linki do zdjęć, ale w części rekordów gdzie znajduje się więcej zdjęć zagnieżdżono tabelę. Nie mogę znaleźć informacji jak je rozwinąć:(

      • Wielkie dzięki za odpowiedź! Podesłałem plik, a wątek wydaje się ciekawy. Nigdzie nie doszukałem się odpowiedzi na problem.

  2. Czy jest prosta metoda na rozwijanie tabel z XML (rozpakowywanie kolejnych obiektów typu Table)?

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *