Łą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.
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 |
|---|---|---|
|
|
|
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.
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.
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.