Łączenie i scalanie danych w Power Query – merge vs append

Poznaj różnice między funkcjami merge i append w Power Query. Dowiedz się, kiedy je stosować i jak skutecznie łączyć dane w Excelu i Power BI.
25 listopada 2025
blog
Poziom: Podstawowy

Artykuł przeznaczony dla początkujących i średnio zaawansowanych użytkowników Excela oraz Power BI, którzy przygotowują i łączą dane w Power Query.

Z tego artykułu dowiesz się

  • Czym różnią się operacje merge i append w Power Query i do czego służą?
  • Jakie typy łączeń (JOIN) są dostępne w merge i jak wpływają na wynikową tabelę?
  • Kiedy wybrać merge, a kiedy append, aby poprawnie połączyć dane z wielu źródeł?

Wprowadzenie do Power Query

Power Query to narzędzie dostępne w programach takich jak Microsoft Excel czy Power BI, które umożliwia pobieranie, przekształcanie i łączenie danych z różnych źródeł. Jest szczególnie przydatne dla analityków danych, którzy często muszą pracować z dużymi zbiorami danych pochodzącymi z wielu plików, baz danych czy serwisów internetowych.

Jedną z największych zalet Power Query jest możliwość automatyzacji procesów przetwarzania danych bez konieczności pisania kodu. Interfejs oparty na krokach pozwala użytkownikom intuicyjnie tworzyć przepływy danych, które można łatwo edytować, aktualizować i ponownie wykorzystać.

W codziennej pracy z Power Query szczególnie ważne są dwie funkcje: merge oraz append. Obie służą do łączenia danych, ale robią to w zupełnie inny sposób:

  • Merge pozwala na połączenie tabel na podstawie wspólnych kolumn – podobnie jak znane z baz danych operacje typu JOIN.
  • Append umożliwia dołączenie jednej tabeli do drugiej poprzez dodanie danych poniżej istniejących wierszy – przypomina to scalanie danych w pionie.

Znajomość różnicy między tymi podejściami pozwala lepiej dopasować rozwiązanie do konkretnego przypadku analitycznego i uprościć proces przygotowania danych do dalszej analizy.

Czym jest funkcja merge i jak działa

Funkcja merge w Power Query służy do łączenia dwóch lub więcej tabel na podstawie wspólnych kolumn, które pełnią rolę kluczy. Jest to operacja przypominająca łączenie danych w relacyjnych bazach danych, gdzie dane z jednej tabeli są uzupełniane o informacje z drugiej tabeli, w zależności od zgodności wartości w wybranych kolumnach.

Merge pozwala na tworzenie relacji między zestawami danych, dzięki czemu można np. wzbogacić dane główne o dodatkowe informacje z tabeli pomocniczej. Po wykonaniu operacji merge, użytkownik uzyskuje jedną tabelę, w której wybrane kolumny z drugiego źródła zostają dodane do pierwszego, zgodnie z określonymi warunkami dopasowania.

W Power Query dostępne są różne typy łączeń, takie jak inner join, left outer join czy full outer join, co daje elastyczność w zależności od potrzeb analitycznych i struktury danych. Kluczem do poprawnego wykonania operacji merge jest wybór odpowiednich kolumn do dopasowania i zrozumienie, jak typ łączenia wpłynie na wynikowy zestaw danych.

Typowe zastosowania funkcji merge obejmują m.in. dodawanie szczegółowych danych z tabel referencyjnych, łączenie danych z różnych źródeł lub tworzenie bardziej złożonych struktur danych na potrzeby dalszej analizy. Ten artykuł powstał jako rozwinięcie jednego z najczęstszych tematów poruszanych podczas szkoleń Cognity.

Czym jest funkcja append i jak działa

Funkcja append w Power Query służy do łączenia danych poprzez doklejanie wierszy z jednej tabeli do drugiej. Jest to odpowiednik operacji union znanej z baz danych. Append przydaje się wtedy, gdy mamy kilka źródeł danych o tej samej strukturze — na przykład miesięczne raporty sprzedaży — i chcemy połączyć je w jedną wspólną tabelę.

Mechanizm działania append polega na tym, że Power Query dopisuje wiersze z jednej tabeli na koniec drugiej, zachowując kolumny o tych samych nazwach i strukturze. Jeżeli kolumny różnią się między tabelami, Power Query dopasuje je według nazw, a brakujące wartości zostaną uzupełnione jako null.

W Power Query dostępne są dwa tryby łączenia przez append:

  • Append jako nowe zapytanie (Append Queries as New) – tworzy nową tabelę na podstawie połączonych danych.
  • Append do istniejącego zapytania (Append Queries) – dodaje dane do już istniejącego zapytania.

Poniższa tabela przedstawia uproszczony przykład działania funkcji append:

Tabela 1 Tabela 2 Wynik po append

ID | Produkt
1  | A
2  | B
        

ID | Produkt
3  | C
4  | D
        

ID | Produkt
1  | A
2  | B
3  | C
4  | D
        

Append to narzędzie szczególnie przydatne podczas konsolidowania danych z wielu źródeł o podobnej strukturze, takich jak eksporty miesięczne, dane z różnych oddziałów czy pliki o tej samej budowie zawierające różne zakresy czasowe. Jeśli chcesz nauczyć się, jak jeszcze efektywniej wykorzystywać Power Query w codziennej pracy, sprawdź nasz Kurs Microsoft Power Query - analiza danych przy użyciu języka M i optymalizacja procesu analizy danych.

Różnice między merge a append

Funkcje merge i append w Power Query służą do łączenia danych, jednak działają na zupełnie innych zasadach i mają odmienne zastosowania. Zrozumienie ich kluczowych różnic jest niezbędne, by efektywnie przetwarzać dane w Power BI lub Excelu. Na warsztatach Cognity wiele osób dopiero pierwszy raz zauważa, jak bardzo to zagadnienie wpływa na ich efektywność.

Cecha Merge Append
Typ operacji Łączenie danych poziomo (na podstawie wspólnych wartości w kolumnach) Łączenie danych pionowo (dodawanie wierszy)
Podobieństwo kolumn Kluczowe znaczenie ma zgodność kolumn używanych do powiązania Najlepiej sprawdza się, gdy tabele mają podobną strukturę kolumn
Sposób działania Tworzy nowe kolumny na podstawie powiązanej tabeli Dokleja wiersze pod istniejącą tabelą
Przypomina operację w SQL JOIN UNION
Typ danych wejściowych Najczęściej: relacja „wiele do jeden” lub „jeden do jeden” Najczęściej: zbiory danych o tej samej strukturze (np. eksporty z różnych miesięcy)

Innymi słowy, merge wykorzystujemy, gdy chcemy wzbogacić dane o dodatkowe informacje z innej tabeli (np. przypisać nazwę produktu do jego ID), natomiast append stosujemy do konsolidacji danych tego samego typu pochodzących z różnych źródeł (np. zsumować sprzedaż z różnych regionów).

Przykład techniczny (dla ilustracji):

// Merge – łączenie tabel po wspólnej kolumnie "ID"
Table.NestedJoin(Tabela1, {"ID"}, Tabela2, {"ID"}, "DaneZDrugiejTabeli")

// Append – dodawanie wierszy z dwóch tabel
Table.Combine({Tabela1, Tabela2})

Zrozumienie tej różnicy pozwala uniknąć błędów logicznych w analizie oraz budować bardziej przejrzyste i elastyczne modele danych.

Kiedy stosować merge, a kiedy append

W Power Query wybór między merge a append zależy od tego, jakiego rodzaju połączenia danych potrzebujemy. Obie funkcje służą do łączenia tabel, ale różnią się znacząco zarówno sposobem działania, jak i efektami, jakie przynoszą.

Merge (scalanie) wykorzystujemy wtedy, gdy chcemy połączyć dane na podstawie wspólnych wartości w kolumnach – analogicznie do JOIN w SQL. Z kolei append (łączenie) służy do zestawienia danych jedna pod drugą, jakbyśmy kopiowali wiersze z jednej tabeli i dodawali je na koniec drugiej.

Funkcja Kiedy stosować Efekt końcowy
Merge Gdy chcesz połączyć dane z dwóch (lub więcej) tabel na podstawie wspólnych kluczy, np. ID klienta Nowa tabela z kolumnami uzupełnionymi danymi z innej tabeli
Append Gdy chcesz połączyć dane z tą samą strukturą, np. raporty miesięczne Nowa tabela zawierająca wszystkie wiersze z obu źródeł

Oto kilka przykładowych scenariuszy:

  • Merge: scalanie tabeli zamówień z tabelą klientów, aby uzyskać pełen obraz transakcji
  • Append: łączenie plików z danymi sprzedaży za każdy miesiąc w jeden zbiorczy raport

Krótko mówiąc, jeśli potrzebujesz połączyć dane poziomo (dodając kolumny) – sięgnij po merge. Jeśli zależy Ci na połączeniu danych pionowo (dodając wiersze) – wybierz append. Jeśli chcesz nauczyć się zaawansowanego wykorzystania tych technik w praktyce, sprawdź Kurs Microsoft Excel Business Intelligence zaawansowany - praca z dodatkami PowerPivot, Power Query, Power Map, Power BI.

Praktyczne przykłady użycia merge

Funkcja merge w Power Query pozwala na łączenie danych z dwóch (lub więcej) tabel na podstawie wspólnych kolumn. Jest to szczególnie przydatne, gdy chcemy połączyć dane z różnych źródeł, które zawierają wspólne identyfikatory, takie jak numery zamówień, kody produktów czy identyfikatory klientów.

Poniżej przedstawiamy kilka praktycznych scenariuszy, w których merge znajduje zastosowanie:

  • Łączenie danych z tabeli zamówień i klientów: tabela A zawiera listę zamówień z kolumną ID klienta, a tabela B dane klientów (nazwa, adres, itp.). Poprzez merge możemy dołączyć szczegóły klienta do każdego zamówienia.
  • Aktualizacja danych na podstawie nowego źródła: gdy posiadamy główną tabelę z danymi pracowników i nową tabelę z aktualnymi stawkami wynagrodzeń, możemy połączyć je przez identyfikator pracownika, aby zaktualizować stawki.
  • Scalanie danych z różnych systemów: np. dane sprzedażowe z systemu ERP i dane rabatowe z CRM można połączyć na poziomie produktu lub klienta, uzyskując pełniejszy obraz transakcji.

Przykład kodu w Power Query (język M):

let
    Zamówienia = Excel.CurrentWorkbook(){[Name="Zamówienia"]}[Content],
    Klienci = Excel.CurrentWorkbook(){[Name="Klienci"]}[Content],
    PolaczoneTabele = Table.NestedJoin(Zamówienia, {"ID Klienta"}, Klienci, {"ID Klienta"}, "DaneKlienta", JoinKind.LeftOuter),
    Rozszerzone = Table.ExpandTableColumn(PolaczoneTabele, "DaneKlienta", {"Nazwa", "Adres"})
in
    Rozszerzone

W powyższym przykładzie wykorzystano Table.NestedJoin do połączenia dwóch tabel na podstawie identyfikatora klienta. Następnie dane klienta zostały rozpakowane do głównej tabeli zamówień.

Funkcja merge jest także nieoceniona w raportach, gdzie zależy nam na uzupełnieniu danych bez ich dublowania. Dzięki różnym typom połączeń (np. Left Outer, Inner, Full Outer) możemy kontrolować sposób integracji danych i dostosować go do konkretnego scenariusza analitycznego.

💡 Pro tip: Przed scaleniem ujednolić wartości kluczy (Trim, Clean, wielkość liter, typ danych) i świadomie dobrać JoinKind, np. Left Anti do wykrycia braków. Po scaleniu ograniczaj rozszerzane kolumny do niezbędnych, by nie mnożyć duplikatów i poprawić wydajność.

Praktyczne przykłady użycia append

Funkcja append w Power Query znajduje zastosowanie wszędzie tam, gdzie zachodzi potrzeba połączenia danych pochodzących z różnych, ale strukturalnie podobnych źródeł. Jej głównym zadaniem jest dodanie jednego zestawu danych do drugiego w pionie, czyli dołączenie wierszy jednej tabeli do wierszy drugiej.

Poniżej przedstawiamy kilka typowych scenariuszy, w których append okazuje się niezwykle przydatny:

  • Konsolidacja miesięcznych raportów – gdy posiadamy osobne pliki Excel lub arkusze dla każdego miesiąca, zawierające dane sprzedażowe lub finansowe, możemy je połączyć w jeden zbiorczy zestaw danych.
  • Łączenie danych z różnych oddziałów – jeśli każda lokalizacja firmy dostarcza dane w tym samym formacie, funkcja append pozwala połączyć je w jedną wspólną tabelę analityczną.
  • Integracja danych z wielu źródeł – dane ze stron internetowych, plików CSV lub baz danych mogą być scalane w jedno źródło, o ile ich struktura umożliwia bezpośrednie dopasowanie kolumn.
  • Automatyzacja raportowania – przy regularnie aktualizowanych danych, np. tygodniowych raportach sprzedaży, append umożliwia dynamiczne budowanie zbiorczych zestawień bez konieczności ręcznego kopiowania danych.

W każdym z tych przypadków kluczowe jest to, aby tabele miały zgodną strukturę – taką samą liczbę kolumn i identyczne nagłówki. Gdy ten warunek jest spełniony, append staje się wygodnym i skutecznym narzędziem do łączenia danych.

💡 Pro tip: Dodaj kolumnę źródła (np. z nazwą pliku/arkusza) przed append, aby łatwo śledzić pochodzenie wierszy. Upewnij się, że nazwy i typy kolumn są spójne, inaczej Power Query wypełni niedopasowane kolumny wartościami null.

Podsumowanie i najlepsze praktyki

Power Query to potężne narzędzie, które pozwala na automatyzację procesu przygotowania danych w Excelu i Power BI. Jednymi z najczęściej wykorzystywanych funkcji przy pracy z wieloma zbiorami danych są merge oraz append. Choć oba podejścia służą do łączenia danych, ich zastosowania różnią się w zależności od kontekstu i struktury źródeł danych.

Funkcja merge umożliwia łączenie danych w poziomie, czyli dodawanie kolumn z jednego źródła do drugiego na podstawie wspólnych wartości. Jest to odpowiednik operacji typu VLOOKUP lub JOIN w bazach danych. Z kolei append pozwala na łączenie danych w pionie – zestawienia danych o tej samej strukturze są do siebie dokładane wiersz po wierszu, tworząc jeden, spójny zbiór danych.

Aby skutecznie korzystać z tych funkcji, warto pamiętać o kilku najlepszych praktykach:

  • Zadbaj o spójność danych – upewnij się, że kolumny używane do łączenia mają zgodne formaty i nazwy.
  • Nazwij kroki w sposób czytelny – ułatwi to późniejsze przeglądanie i modyfikowanie zapytań.
  • Testuj operacje na próbce danych – pozwala to szybko wychwycić ewentualne błędy logiczne w strukturze zapytania.
  • Stosuj dokumentację i komentarze – szczególnie w bardziej złożonych projektach, aby ułatwić zrozumienie przekształceń innym użytkownikom (lub sobie w przyszłości).

Świadome stosowanie merge i append pozwala znacząco przyspieszyć proces analizy danych oraz zwiększyć przejrzystość i efektywność modeli danych. Podczas szkoleń Cognity pogłębiamy te zagadnienia w oparciu o konkretne przykłady z pracy uczestników.

💡 Pro tip: Stosuj wzorzec staging + reference: wczytaj i oczyść dane w zapytaniach bazowych (Disable Load), a raportowe twórz jako Reference — ułatwia to ponowne użycie i debugowanie. Czytelnie nazywaj kroki, komentuj i testuj na próbce; przy dużych tabelach buforuj małe wymiary (Table.Buffer) tylko punktowo.
icon

Formularz kontaktowyContact form

Imię *Name
NazwiskoSurname
Adres e-mail *E-mail address
Telefon *Phone number
UwagiComments