Scalanie zapytań (Merge Queries) w Power Query – kompletny przewodnik na praktycznych przykładach

kajodata.com 1 dzień temu

Kiedy zaczynałem pracę z Power Query, gwałtownie odkryłem, iż większość realnych problemów związanych z danymi sprowadza się do jednego: trzeba połączyć informacje z kilku źródeł w jedną spójną całość. Dokładnie tak działa scalanie w Power Query. W tym artykule pokażę Ci krok po kroku, jak łączyć tabele, na co uważać i które typy złączeń sprawdzą się w konkretnych scenariuszach. Wszystko na praktycznych przykładach z realnego procesu pracy analityka.

### Wprowadzenie: append kontra merge – o co w ogóle chodzi?

W Power Query mamy dwie główne metody łączenia danych:

  • Append, czyli „doklejanie” wierszy pod sobą.
  • Merge, czyli „doklejanie” kolumn obok siebie.

Najprościej to zapamiętać:

  • Append wydłuża tabelę.
  • Merge ją poszerza.

W praktyce mergowanie w Power Query działa bardzo podobnie do funkcji VLOOKUP w Excelu. Mamy jedną tabelę, gdzie czegoś brakuje, drugą, w której te dane są, i chcemy je połączyć po wspólnej kolumnie, np.:

  • identyfikatorze pracownika,
  • ID produktu,
  • numerze faktury.

Zanim jednak przejdziemy dalej, warto podkreślić jedną bardzo istotną rzecz.

### Klucze do łączenia muszą mieć ten sam typ danych

Jeśli w jednej tabeli kolumna jest tekstem, a w drugiej liczbą, scalanie po prostu nie zadziała. Power Query potraktuje te wartości jako różne typy i nie znajdzie dopasowań.

Dlatego zanim zaczniesz scalanie:

  1. Wybierz kolumnę.
  2. Kliknij ikonę typu danych.
  3. Ustaw odpowiedni typ (najczęściej tekst lub liczba całkowita).

To drobiazg, ale potrafi zaoszczędzić sporo nerwów.

Wejdź na wyższy poziom z Power Query!

Nauczysz się gwałtownie czyścić, łączyć i automatyzować dane w Excelu dzięki Power Query. Od prostych transformacji po zaawansowane operacje jak Merge, Append czy Pivot — zobaczysz, jak uporządkować choćby najbardziej chaotyczne pliki i zamienić je w gotowy model danych. To praktyczny kurs, który da Ci kontrolę nad raportami i oszczędzi dziesiątki godzin żmudnej pracy.

### Dlaczego w ogóle korzystać ze scalania w Power Query?

Możesz się zastanawiać: skoro w Excelu mogę napisać VLOOKUP albo XLOOKUP, to po co wchodzić w Power Query? Odpowiedzi jest kilka i wszystkie są całkiem mocne.

1. Power Query łączy dane z wielu źródeł

Pliki CSV, Excel, SQL Server, SharePoint, API, OneDrive… praktycznie wszystko.

Możesz mieć dane podstawowe w CSV, faktury w Excelu, a listę szkoleń w pliku z Teamsów – Power Query i tak wszystko to połączy.

2. Działa szybciej i stabilniej przy dużych zbiorach danych

Excel potrafi zamulić przy większej liczbie formuł. Power Query radzi sobie z dużymi tabelami bez zadyszki, bo działa w kolumnowej logice M.

3. Scalanie jest powtarzalne i automatyczne

Raz ustawiasz proces → zapisujesz plik → przy każdym odświeżeniu dane łączą się same.

Zero przepisywania formuł, zero błędów ludzkich.

### Dodawanie tabel do Power Query

Zacznijmy od wrzucenia naszych danych do edytora Power Query. W Excelu:

  1. Zaznacz tabelę.
  2. Wybierz Data → From Table/Range.
  3. W opcjach wczytywania wybierz Only Create Connection.

Tak samo dodajesz drugą tabelę.

Teraz czas na scenariusze. Będziemy pracować na zestawie danych:

  • tabela pracowników firmy,
  • tabela uczestników szkolenia.

Na ich podstawie zrobimy trzy analityczne zadania.

SCENARIUSZ 1:

### Czy na liście uczestników jest ktoś spoza firmy? (Left Join)

Załóżmy, iż HR poinformował nas, iż jedna z osób wpisanych na listę to… prowadzący. Czyli ktoś spoza naszej firmy, kto nie powinien się tam znaleźć. Chcemy go wykryć.

Krok 1: Merge Queries as New

W Power Query:

  1. Home → Merge Queries → Merge Queries as New
  2. Górna tabela: uczestnicy szkolenia (lewa tabela)
  3. Dolna tabela: baza pracowników (prawa tabela)

Klucz łączący: kolumna employee.

Krok 2: Wybór rodzaju złączenia

Chcemy:

  • wziąć wszystkie osoby z listy szkolenia,
  • sprawdzić, czy istnieją w bazie pracowników,
  • jeśli nie – zwróci się wartość null.

To klasyczny Left Outer Join.

Krok 3: Rozwijanie kolumn

Rozwijamy np.:

employee_id

Po rozwinięciu widzimy:

  • wszyscy pracownicy mają swoje ID,
  • jedna osoba ma null – to nasz prowadzący.

Nadajemy nazwę zapytaniu, np.:

Prowadzący

I mamy gotowy miniraport, który można przekazać dalej.

SCENARIUSZ 2:

### Rozliczenie kosztów szkolenia według działów (Inner Join)

Księgowość prosi nas o stworzenie listy pracowników, którzy byli na szkoleniu – wraz z działami, w których pracują. Na tej podstawie naliczą koszty.

Krok 1: Wybieramy szkolenie → Merge Queries as New

Tym razem:

  • lewa tabela: lista uczestników,
  • prawa tabela: baza pracowników.

Krok 2: Wybór typu złączenia

Chcemy tylko osoby, które faktycznie są pracownikami firmy. Czyli:

  • prowadzący ma zniknąć,
  • zostają tylko dopasowania.

To Inner Join – złączenie zwracające wyłącznie wspólne elementy.

Krok 3: Rozwijamy kolumnę department

Po scaleniu wybieramy do rozwinięcia:

department

I w efekcie mamy listę:

  • pracownik,
  • dział.

Zapisujemy jako:

Działy

I gotowe. Księgowość szczęśliwa.

SCENARIUSZ 3:

### Czy pracownicy chodzą na szkolenia? (Right Join)

Teraz wykonujemy odwrotny raport: do pełnej bazy pracowników chcemy dołożyć informację, czy wzięli udział w szkoleniu.

Tu mamy dwie opcje:

  • zrobić Left Join od strony bazy pracowników,
  • albo zrobić Right Join od strony szkolenia.

W tym przykładzie pokażę Ci drugą metodę, żeby dobrze zrozumieć logikę złączeń.

Krok 1: Merge Queries as New

  • lewa tabela: szkolenie,
  • prawa tabela: baza pracowników.

Krok 2: Typ złączenia – Right Outer

Right Outer oznacza:

  • bierzemy wszystkie rekordy z prawej tabeli (baza pracowników),
  • próbujemy znaleźć dopasowania po lewej (szkolenie).

Czyli dokładnie to, czego potrzebujemy.

Krok 3: Rozwijanie kolumn

Po scaleniu rozwijamy wszystkie kolumny z bazy:

employee employee_id department

Usuwamy prefixy i ustawiamy kolejność kolumn tak, aby raport był czytelny.

Finalny efekt to tabela:

  • wszyscy pracownicy,
  • informacja, czy byli na szkoleniu,
  • identyfikatory,
  • przynależność działowa.

Zapisujemy jako:

Cała baza

Dodatkowy trik – jak zachować adekwatne sortowanie po scaleniu

Power Query lubi czasem zamieszać w kolejności wierszy. jeżeli zależy Ci na zachowaniu oryginalnego sortowania:

  1. Przed scaleniem dodaj kolumnę indeksową: Add Column → Index Column
  2. W kolejnym kroku scal dane.
  3. Na końcu posortuj po kolumnie indeksowej.
  4. Usuń indeks.

To najprostsza metoda, żeby Power Query nie zmieniało kolejności rekordów.

Rodzaje złączeń w Power Query – podsumowanie

Left Outer (left join)

Wynik: wszystkie wiersze z pierwszej tabeli + dopasowania z drugiej.

Zastosowanie:

  • szukamy brakujących rekordów,
  • wykrywamy błędne wpisy,
  • chcemy widzieć całość + dopasowania.

Inner Join

Wynik: tylko dopasowania.

Zastosowanie:

  • raporty rozliczeniowe,
  • filtrowanie tylko adekwatnych pracowników/produktów.

Right Outer Join

Wynik: wszystkie rekordy z drugiej tabeli + dopasowania z pierwszej.

Zastosowanie:

  • chcemy zachować pełną bazę,
  • dokładamy informacje dodatkowe.

Full Outer Join

Wynik: wszystko z obu tabel.

Zastosowanie:

  • wykrywanie różnic między tabelami,
  • audyty danych,
  • pełne mapowanie zestawów.

To potężne narzędzie, ale rzadziej wykorzystywane w typowych procesach biznesowych.

Zapisz się do
newslettera

🎁 i zgarnij darmowe bonusy:

Poradnik Początkującego Analityka

Video - jak szukać pracy w IT

Regularne dawki darmowej wiedzy, bez spamu

Zgadzam się na przetwarzanie moich danych osobowych przez KajoData Kajo Rudziński w celu realizacji usługi newsletter, a tym samym wysyłania mi informacji o produktach blogowych, usługach, lub nowościach, zgodnie z polityką prywatności. Wiem, iż zgodę tę mogę w każdej chwili cofnąć.
Zapisuję się Loading...

Dzięki! To nie koniec...

...pamiętaj, by teraz wejść na maila i potwierdzić subskrybcję 🙂 Jeżeli nic nie doszło, to sprawdź skrzynkę ze spamem.
* * * Gdy potwierdzisz newsletter, dostaniesz ostateczne potwierdzenie i obiecane prezenty w kolejnym mailu 🙂

Zakończenie

Scalanie zapytań w Power Query to jedna z najważniejszych umiejętności w pracy analityka danych. Kiedy nauczysz się świadomie dobierać typ złączenia i wiesz, jak dopasować je do scenariusza, wiele zadań, które wcześniej robiły się długo i skomplikowanie, nagle staje się szybkie, powtarzalne i przede wszystkim odporne na błędy.

Jeśli znasz już podstawy działania merge queries, możesz budować naprawdę zaawansowane procesy, pobierać dane z wielu źródeł i automatyzować analizy, które wcześniej wymagałyby setek formuł.

Jeśli ten artykuł był dla Ciebie wartościowy, udostępnij go w swoich mediach społecznościowych – być może pomoże też komuś innemu zrobić krok do przodu w świecie analizy danych.

Inne interesujące artykuły:

  • Kolumny z przykładów w Power Query: jak tworzyć logikę bez pisania formuł
  • Funkcja CALCULATE w Power BI – najważniejsza funkcja w DAX, którą musi znać każdy analityk
  • Dashboard sprzedażowy w Tableau – kompletny proces tworzenia krok po kroku
  • Filtry i slicery w Power BI – kompletny przewodnik dla początkujących
  • Jak tworzyć skuteczne wykresy w Pythonie: Matplotlib, Pandas i GroupBy w praktyce

Autorem artykułu jest Kajo Rudziński – analytical data architect, uznany ekspert w analizie danych, twórca KajoData oraz społeczności dla analityków KajoDataSpace.

To tyle w tym temacie. Analizujcie w pokoju!

Podobał Ci się ten artykuł 🙂?
Podziel się nim w Social Mediach 📱
>>> udostępnij go na LinkedIn i pokaż, iż codziennie uczysz się czegoś nowego
>>> wrzuć go na Facebooka, to się może przydać któremuś z Twoich znajomych
>>> Przypnij sobie tą stronkę to zakładek, może się przydać w przyszłości

Wolisz oglądać 📺 niż czytać – nie ma problemu
>>> Obserwuj i oglądaj KajoData na YouTube

Idź do oryginalnego materiału