Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Dane w prawdziwej pracy nigdy nie są czyste. Eksport z systemu ma nagłówki dopiero w trzecim wierszu, puste kolumny, daty zapisane jako tekst, ceny ze słowem „zł” doklejonym do liczby i zdublowane rekordy. Zwykle poprawiamy to ręcznie w Excelu, a za miesiąc, przy nowym pliku, robimy dokładnie to samo od zera. Power Query kończy z tym marnotrawstwem: definiujesz kolejność operacji jeden raz, a przy każdej nowej porcji danych wystarczy kliknąć Odśwież.
Najważniejsza rzecz na start: Power Query w Excelu i Power Query w Power BI to ten sam silnik i ten sam edytor. Nauczysz się go raz i korzystasz w obu programach. W tym przewodniku przejdziemy pełny cykl krok po kroku na jednym, celowo zabałaganionym eksporcie sprzedaży fikcyjnej firmy. Zaimportujemy plik, uporządkujemy nagłówki, usuniemy duplikaty i puste wiersze, naprawimy typy danych i połączymy zamówienia z tabelą klientów. Każdy krok pokazujemy na prawdziwym zrzucie z edytora, nie na rysunku poglądowym. Cały proces poznasz krok po kroku: od importowania danych, przez czyszczenie danych i zmianę typów, aż po łączenie tabel i odświeżanie. Ten sam zestaw kroków w Power Query działa identycznie w Excelu i w Power BI.
Z tego artykułu dowiesz się:
Ćwicz na tych samych danych, co my
Pobierz nasz brudny plik sprzedaży wraz z tabelą klientów (Excel + CSV) i powtarzaj każdy krok tego poradnika u siebie.
Power Query wygląda tak samo niezależnie od programu. To wbudowany w Excel i Power BI edytor do pobierania i przekształcania danych. Jego zadanie jest proste: wziąć dane z dowolnego źródła, doprowadzić je do porządku i podać dalej, do arkusza albo do modelu raportu. Kluczowa cecha, która odróżnia go od ręcznego czyszczenia, to powtarzalność. Power Query nie zmienia wartości „na sztywno”, tylko zapisuje przepis: listę kroków, którą odtwarza na nowych danych.
W praktyce Power Query w Excelu i Power Query w Power BI to jedno narzędzie w dwóch programach. Jeśli nauczysz się go w Excelu, od razu umiesz go w Power BI, i odwrotnie. Różnica sprowadza się do tego, gdzie trafiają gotowe dane: w Excelu do arkusza albo do modelu danych, w Power BI do modelu raportu. Dlatego wszystkie operacje, które pokazujemy krok po kroku w Power BI, powtórzysz jeden do jednego w Excelu.
Otwierasz go w jednym z tych miejsc:
| Program | Jak otworzyć Power Query |
|---|---|
| Excel | Karta Dane → Pobierz dane (import z pliku lub bazy) albo Z tabeli/zakresu (dla danych już w arkuszu) |
| Power BI Desktop | Karta Narzędzia główne → Pobierz dane, a następnie Przekształć dane, żeby wejść do edytora |
Poniżej ekran startowy Power BI Desktop. Zaznaczyliśmy na czerwono dwa przyciski: Pobierz dane (1), którym importujemy dane, oraz Przekształć dane (2), który otwiera edytor Power Query. W Excelu te same opcje znajdziesz na karcie Dane. Cała reszta, którą przejdziemy krok po kroku, wygląda w obu programach tak samo.
Zanim zaczniemy klikać, warto poznać cztery obszary edytora. Będziemy do nich wracać przy każdym kroku.
| Obszar | Do czego służy |
|---|---|
| Zapytania (lewy panel) | Lista wszystkich tabel, które przygotowujesz. Tu przełączasz się między nimi i tu dodajesz kolejne źródła. |
| Podgląd danych (środek) | Podgląd tabeli po dotychczasowych krokach. Na nim klikasz nagłówki kolumn i wywołujesz transformacje. |
| Zastosowane kroki (prawy panel) | Historia transformacji. Każda operacja to jeden krok. Możesz je cofać, edytować i zmieniać kolejność. |
| Pasek formuły | Pokazuje kod w języku M dla zaznaczonego kroku. To tu widać, co naprawdę robi każde kliknięcie. |
Wolisz uczyć się Power Query z trenerem, na warsztacie i na własnych danych? → Kompleksowe szkolenie Power BI (Power Query, DAX, Online)
Power Query zaczyna się od pytania: skąd bierzemy dane? Lista źródeł jest ogromna. To nie tylko Excel i CSV, ale też foldery, bazy danych, SharePoint, usługi online i dziesiątki gotowych łączników. Poniżej okno Pobierz dane z pełną listą konektorów. Importowanie danych z różnych źródeł wygląda tak samo w Excelu i w Power BI, bo w obu programach obsługuje je ten sam silnik Power Query.
| Typ źródła | Przykłady | Kiedy używać |
|---|---|---|
| Pliki | Excel, CSV, XML, JSON, PDF | Eksporty z systemów, raporty od kontrahentów |
| Folder | cały katalog plików | Wiele plików o tej samej strukturze, np. raport z każdego miesiąca |
| Bazy danych | SQL Server, Oracle, PostgreSQL, MySQL | Dane firmowe wprost ze źródła, bez pośredniego eksportu |
| Online | SharePoint, strony WWW, usługi z interfejsem API | Dane współdzielone i publiczne |
My w ćwiczeniu wskazujemy nasz plik z eksportem sprzedaży (sprzedaz_surowa.xlsx z paczki do pobrania powyżej). Zrób to dokładnie tak:
Kliknij Pobierz dane, a potem Skoroszyt programu Excel (w Excelu: karta Dane → Pobierz dane → Z pliku → Ze skoroszytu).
W oknie wyboru pliku odszukaj sprzedaz_surowa.xlsx na dysku i kliknij Otwórz.
Otworzy się Nawigator. Po lewej zaznacz na liście arkusz Eksport (zaznaczenie to kwadracik przy nazwie), a na dole kliknij Przekształć dane. Miejsce kliknięcia zaznaczyliśmy na czerwono.
Zwróć uwagę, że Power Query nie wczytuje danych od razu. Nawigator to podgląd zawartości pliku, jeszcze przed wejściem do raportu. Widzimy w nim cały bałagan naraz.
Załaduj czy Przekształć dane?
Załaduj wrzuca dane od razu, z całym bałaganem. Przekształć dane otwiera edytor Power Query, w którym najpierw wszystko czyścimy. Przy brudnych danych zawsze wybieramy Przekształć dane.
Nasz plik ma na górze dwa wiersze tytułu raportu, a właściwe nagłówki dopiero w trzecim wierszu. Zajmiemy się tym w dwóch ruchach: najpierw usuniemy śmieciowe wiersze, potem zamienimy pierwszy wiersz w nagłówki. Rób to dokładnie tak, jak pokazujemy.
W lewym górnym rogu tabeli kliknij małą ikonę tabeli (kwadracik nad numerami wierszy), a z menu, które się rozwinie, wybierz Usuń pierwsze wiersze. Oba miejsca kliknięcia zaznaczyliśmy na czerwono.
W okienku, które się pojawi, w polu Liczba wierszy wpisz 2 i kliknij OK.
Efekt: pierwszy wiersz tabeli to teraz prawdziwe nazwy kolumn (Nr zamówienia, Data, Klient ID...), ale wciąż siedzą w danych.
Kliknij ponownie tę samą ikonę tabeli w lewym górnym rogu i tym razem wybierz Użyj pierwszego wiersza jako nagłówków.
Efekt: kolumny mają wreszcie sensowne nazwy i od tej chwili możemy się do nich odwoływać.
Czyszczenie danych w Power Query, czyli usuwanie duplikatów, filtrowanie i poprawianie wartości, wywołasz w większości prawym przyciskiem myszy na nagłówku kolumny. To najwygodniejsze menu w całym Power Query: zmiana typu, usuwanie duplikatów, zamiana wartości, dzielenie kolumn, grupowanie, wszystko w jednym miejscu.
Nasz eksport zawiera dwukrotnie zamówienie ZAM-1006. Usuwamy duplikaty na podstawie kolumny Nr zamówienia.
Kliknij prawym przyciskiem myszy nagłówek kolumny Nr zamówienia, a z menu wybierz Usuń duplikaty.
Efekt: zdublowane zamówienie ZAM-1006 znika, a w Zastosowanych krokach dochodzi krok Usunięto duplikaty.
Po eksporcie zostały puste wiersze (bez numeru zamówienia i klienta). Pozbędziemy się ich przez filtr kolumny.
W nagłówku kolumny Klient ID kliknij strzałkę filtra (mały trójkącik po prawej stronie nazwy), a z rozwiniętej listy wybierz Usuń puste.
Efekt: zostaje 20 kompletnych rekordów, bez ani jednej dziury.
Inne przydatne operacje z tego samego menu
Przytnij (Trim) i Wyczyść (Clean) usuwają spacje na początku i końcu tekstu oraz niewidoczne znaki, np. z kolumny Miasto, gdzie mieliśmy „ Warszawa ”.
Zamień wartości podmienia fragment tekstu, np. usuwa „ zł” z kolumny Cena jednostkowa, żeby dało się ją zamienić na liczbę.
Format → Każdy wyraz wielką literą ujednolica wielkość liter w kolumnie Kategoria, gdzie mieliśmy wymieszane „laptopy”, „Laptopy” i „LAPTOPY”.
To najczęstsze źródło problemów, zwłaszcza w Polsce. Nasza kolumna Data to tekst w formacie 05.01.2026 (dzień.miesiąc.rok), a ceny mają przecinek dziesiętny. Gdy po prostu zmienisz typ na Datę, Power Query z innym ustawieniem regionalnym może zinterpretować tę datę niepoprawnie (zamienić dzień z miesiącem) albo w ogóle jej nie rozpoznać i zwrócić błąd. Rozwiązanie to Zmień typ z ustawieniami regionalnymi, gdzie wprost wskazujemy, z jakiego kraju pochodzą dane. Zróbmy to na kolumnie Data.
Kliknij ikonę typu danych po lewej stronie nazwy kolumny Data (to mała ikonka ABC 123), a z menu wybierz Używając ustawień regionalnych....
W okienku ustaw Typ danych na Data, a Ustawienia regionalne na Polski (Polska) i kliknij OK.
Efekt: kolumna Data ma prawdziwy typ daty (ikona kalendarza, wartości wyrównane do prawej). Dopiero teraz można na niej liczyć i grupować po miesiącach.
Zapamiętaj kolejność. Cenę „5 199,00 zł” najpierw czyścimy (Zamień wartości: usuń „ zł” i spację), a dopiero potem zmieniamy typ na Liczbę dziesiętną z ustawieniami regionalnymi. Odwrotna kolejność da same błędy, bo Power Query nie zamieni tekstu ze słowem „zł” na liczbę.
Gdy dane są już czyste, często dokładamy kolumny obliczane. Klasyczny przykład to wartość zamówienia: liczba sztuk razy cena jednostkowa. Zbudujemy taką kolumnę krok po kroku.
Kliknij ikonę tabeli w lewym górnym rogu i wybierz Dodaj kolumnę niestandardową... (tę samą opcję znajdziesz też na karcie Dodaj kolumnę na wstążce u góry).
Wpisz nazwę nowej kolumny (np. Wartość), a w polu formuły złóż [Ilość] * [Cena jednostkowa]. Nazwy kolumn nie przepisuj ręcznie: klikaj je dwukrotnie na liście Dostępne kolumny po prawej, a Power Query wstawi je poprawnie. Na koniec kliknij OK.
Obok jest jeszcze wygodniejsza opcja: Kolumna z przykładów. Zamiast pisać formułę, wpisujesz kilka przykładowych wyników, a Power Query sam odgaduje regułę (np. wyciągnięcie roku z daty albo domeny z adresu e-mail). To świetne rozwiązanie na start, zanim poznasz język M.
Łączenie i przekształcanie danych z wielu źródeł to codzienność każdego analityka. Prawdziwe raporty prawie nigdy nie mieszczą się w jednej tabeli. Zamówienia są w jednym pliku, dane klientów w drugim, słowniki produktów w trzecim. Power Query łączy je na dwa sposoby, które łatwo pomylić. Poniższy schemat pokazuje różnicę.
Zróbmy prawdziwe scalenie. Do naszych zamówień doklejamy dane klientów z drugiego pliku (klienci.csv z paczki do pobrania).
Najpierw wczytaj drugą tabelę jako osobne zapytanie: karta Narzędzia główne → Nowe źródło → Plik tekstowy/CSV → wskaż klienci.csv. Power Query pokaże krótki podgląd pliku (kodowanie i ogranicznik); zostaw domyślne ustawienia i kliknij OK. Nowe zapytanie klienci pojawi się w panelu Zapytania po lewej, obok tabeli zamówień.
Wróć do tabeli zamówień, kliknij ikonę tabeli w lewym górnym rogu i wybierz Scal zapytania.
W oknie Scalanie z listy wybierz tabelę klienci, a następnie kliknij nagłówek kolumny Klient ID w obu tabelach (górnej i dolnej), żeby wskazać, po czym mają się połączyć. Kliknij OK.
Ważne jest tu pole Rodzaj sprzężenia. Decyduje ono, co zrobić z wierszami bez dopasowania.
| Rodzaj sprzężenia | Co zwraca |
|---|---|
| Lewe zewnętrzne | Wszystkie wiersze z pierwszej tabeli, pasujące z drugiej. Najczęstszy wybór. |
| Wewnętrzne | Tylko wiersze, które mają dopasowanie po obu stronach. |
| Prawe zewnętrzne | Wszystkie z drugiej tabeli, pasujące z pierwszej. |
| Pełne zewnętrzne | Wszystkie wiersze z obu tabel. |
| Lewe anti, Prawe anti | Tylko wiersze bez dopasowania. Świetne do wyłapywania braków, np. zamówień bez klienta. |
Po scaleniu na końcu tabeli pojawia się nowa kolumna z zagnieżdżonymi tabelami. Kliknij w jej nagłówku ikonę rozwijania (dwie strzałki w bok), odznacz Użyj oryginalnej nazwy kolumny jako prefiksu i zaznacz pola, które chcesz dokleić: Nazwa firmy, Segment, Województwo. Kliknij OK.
Efekt: do każdego zamówienia doklejone są dane klienta, a cały przepis widać po prawej w panelu Zastosowane kroki.
Każde kliknięcie w menu zapisuje jedną linijkę kodu w języku M. Cały przepis podejrzysz w oknie Edytor zaawansowany. To potwierdzenie, że Power Query niczego nie robi „magicznie”, tylko generuje czytelny, powtarzalny kod.
Ten sam pipeline zapisany w M wygląda tak (nazwy kroków to dokładnie to, co widać w panelu Zastosowane kroki):
let
Źródło = Excel.Workbook(File.Contents("C:\Demo\sprzedaz_surowa.xlsx"), null, true),
Eksport_Sheet = Źródło{[Item="Eksport", Kind="Sheet"]}[Data],
#"Usunięto pierwsze wiersze" = Table.Skip(Eksport_Sheet, 2),
#"Nagłówki o podwyższonym poziomie" = Table.PromoteHeaders(#"Usunięto pierwsze wiersze", [PromoteAllScalars=true]),
#"Usunięto duplikaty" = Table.Distinct(#"Nagłówki o podwyższonym poziomie", {"Nr zamówienia"}),
#"Przefiltrowano wiersze" = Table.SelectRows(#"Usunięto duplikaty", each [Klient ID] <> null and [Klient ID] <> ""),
#"Zmieniono typ z ustawieniami regionalnymi" = Table.TransformColumnTypes(#"Przefiltrowano wiersze", {{"Data", type date}}, "pl-PL")
in
#"Zmieniono typ z ustawieniami regionalnymi"
Na początku nie musisz pisać ani jednej linijki M. Warto go poznać dopiero wtedy, gdy potrzebujesz transformacji spoza menu albo chcesz zbudować własną funkcję. To temat na osobny, bardziej zaawansowany materiał.
Gdy pipeline jest gotowy, klikamy Zamknij i zastosuj (w Power BI) albo Zamknij i załaduj (w Excelu). Czyste dane trafiają do modelu lub arkusza. I teraz najważniejsze: za miesiąc dostajesz nowy eksport o tej samej strukturze. Podmieniasz plik, klikasz Odśwież i Power Query wykonuje wszystkie kroki od nowa, w ułamku sekundy.
Tak w praktyce budujemy automatyczne przepływy danych: raz opisany ciąg operacji sam wykonuje się na nowych plikach, bez powtarzania pracy. Ten sam mechanizm skaluje się na cały folder. Jeśli jako źródło wskażesz katalog, Power Query wczyta wszystkie pliki naraz i połączy je w jedną tabelę. Dorzucasz kolejny plik do folderu, klikasz Odśwież, a nowe dane doklejają się automatycznie. To właśnie zamienia kilkugodzinną, comiesięczną harówkę w jedno kliknięcie.
Skoro edytor Power Query jest ten sam w Excelu i w Power BI, kiedy sięgać po który program? Excel sprawdza się do szybkiego czyszczenia danych i mniejszych zestawów, które i tak trzymasz w arkuszu. Power BI wygrywa przy dużych modelach danych, raportach i publikacji online. Wielu analityków korzysta z obu: prototypuje Power Query w Excelu, a docelowy raport buduje w Power BI. Umiejętność Power Query przenosi się między programami bez uczenia się od nowa.
| Aspekt | Excel | Power BI |
|---|---|---|
| Gdzie ląduje wynik | Tabela w arkuszu lub model danych | Zawsze model raportu |
| Limit wierszy | Arkusz ma około miliona wierszy, model znacznie więcej | Miliony wierszy bez problemu |
| Edytor Power Query | Identyczny w obu programach. Umiejętności przenoszą się jeden do jednego. | |
| Do czego | Szybkie czyszczenie, arkusze robocze, mniejsze zestawy | Raporty i pulpity, duże modele, publikacja online |
We wszystkich tych scenariuszach zasada jest ta sama: Power Query wykonuje import, czyszczenie i łączenie danych raz opisane krok po kroku, a Ty tylko odświeżasz raport. To dlatego Power Query stał się podstawowym narzędziem analityka danych, zarówno w Excelu, jak i w Power BI.
Czym różni się Power Query w Excelu od Power Query w Power BI?
To ten sam silnik i ten sam edytor. Różni się tylko miejsce, z którego go otwierasz, i to, gdzie lądują wyniki. W Excelu wynik trafia do tabeli w arkuszu albo do modelu danych, w Power BI zawsze do modelu raportu. Wszystkie kroki czyszczenia, filtrowania i scalania działają identycznie.
Czy Power Query zmienia mój oryginalny plik z danymi?
Nie. Power Query nigdy nie modyfikuje pliku źródłowego. Zapamiętuje tylko listę kroków i wykonuje je na kopii danych przy każdym odświeżeniu. Oryginalny Excel czy CSV pozostaje nietknięty.
Co to jest język M i czy muszę się go uczyć?
M to język, w którym Power Query zapisuje każdy krok. Klikając w menu, generujesz kod M automatycznie, więc na początku nie musisz go pisać. Warto go poznać, gdy potrzebujesz transformacji niedostępnych w menu albo chcesz tworzyć własne funkcje. Cały kod podejrzysz w oknie Edytor zaawansowany.
Jaka jest różnica między Scalaniem (Merge) a Dołączaniem (Append)?
Scalanie łączy dwie tabele po wspólnym kluczu i dokłada kolumny (odpowiednik SQL JOIN). Dołączanie ustawia tabele jedna pod drugą i dokłada wiersze (odpowiednik SQL UNION). Merge stosujesz, gdy dane o jednym obiekcie są rozrzucone po kilku tabelach, Append, gdy masz te same kolumny w wielu plikach.
Dlaczego moje daty lub liczby zamieniają się w błędy po zmianie typu?
Najczęściej to kwestia ustawień regionalnych. Polska data 05.01.2026 albo liczba z przecinkiem dziesiętnym są przez inne locale odczytywane jako błąd. Zamiast zwykłej zmiany typu użyj opcji Zmień typ z ustawieniami regionalnymi i wskaż Polski (Polska).
Jak odświeżyć dane po podmianie pliku źródłowego?
Wystarczy jedno kliknięcie: Odśwież w Power BI albo Odśwież wszystko w Excelu. Power Query wykona dokładnie te same kroki na nowych danych. Jeśli struktura pliku się nie zmieniła, cały raport aktualizuje się sam.
Czy Power Query poradzi sobie z wieloma plikami naraz, na przykład całym folderem?
Tak. Zamiast pojedynczego pliku wskazujesz źródło typu Folder. Power Query wczyta wszystkie pliki o tej samej strukturze i połączy je w jedną tabelę. Gdy dorzucisz kolejny plik, wystarczy Odśwież.
Od czego zacząć naukę Power Query krok po kroku?
Od pełnego cyklu na jednym brudnym pliku: import, nagłówki, duplikaty, puste wiersze, typy danych i połączenie z drugą tabelą. Dokładnie ten cykl przeszliśmy w tym artykule. Jeśli wolisz uczyć się z trenerem na własnych danych, ten sam zakres realizujemy na warsztatowym szkoleniu Power BI.
Ten artykuł to skrót. Jeśli wolisz przejść cały cykl na własnych danych, na warsztacie z trenerem praktykiem, mamy dwa szkolenia. Pierwsze prowadzi całą ścieżkę Business Intelligence w Power BI (Power Query, model danych, DAX i publikacja raportów), drugie skupia się w całości na Power Query w Excelu.
Kompleksowe szkolenie Power BI (Desktop, Power Query, DAX, Online) →
Komentarze (0)
Brak komentarzy...