Blog JSystems - uwalniamy wiedzę!

Szukaj

W skrócieScalanie dokleja kolumny z innej tabeli jak WYSZUKAJ.PIONOWO, a dołączanie dokleja wiersze pod spodem. Łączymy sprzedaż z katalogiem produktów, wybieramy jeden z sześciu rodzajów sprzężenia, korzystamy z dopasowania rozmytego i dołączamy listę nowych sklepów.

Ta lekcja jest częścią bezpłatnego kursu Power Query - czternastu lekcji od pierwszego zapytania w Excelu do przepływu danych w Microsoft Fabric i pracy z Copilotem. To lekcja 3 z 14.

Spis lekcji bezpłatnego kursu Power Query
Poprzednia lekcja: Lekcja 2: Czyszczenie danych: wiersze techniczne, nagłówki, typy i duplikaty
Następna lekcja: Lekcja 4: Kolumny niestandardowe, warunkowe i z przykładów

Scal zapytania, czyli WYSZUKAJ.PIONOWO w Power Query

Eksport sprzedaży zna tylko kod produktu. Nazwę, kategorię i markę mamy w osobnym skoroszycie Nordvella_slowniki.xlsx. W Excelu ciągnęlibyśmy je funkcją WYSZUKAJ.PIONOWO albo X.WYSZUKAJ, w Power Query robi to scalanie zapytań.

Zaimportuj słowniki

1. Będąc w edytorze, na karcie Strona główna rozwiń Nowe źródło > Plik i wybierz Skoroszyt programu Excel. Wskaż plik Nordvella_slowniki.xlsx.

Menu Nowe źródło w edytorze Power Query z podmenu Plik: skoroszyt programu Excel, plik tekstowy lub CSV, XML, JSON, PDF, folder
Nowe źródło działa tak samo jak Pobierz dane w Excelu, tylko bez wychodzenia z edytora.

2. W oknie Nawigator zaznacz pole Wybierz wiele elementów i zaznacz tabele tProdukty oraz tSklepy. Ikona przy nazwie odróżnia tabelę Excela (tProdukty, tSklepy) od całego arkusza (Produkty, Sklepy). Jeśli dane w źródle są sformatowane jako tabela, zawsze wybieraj tabelę: jej granice rosną razem z danymi, a arkusz potrafi wciągnąć puste wiersze i notatki obok danych. Kliknij OK.

Okno Nawigator w Power Query z zaznaczonymi tabelami tProdukty i tSklepy i podglądem katalogu produktów
Nawigator z dwiema tabelami do zaimportowania. Podgląd pokazuje katalog: kod produktu, nazwa, kategoria, podkategoria, marka, cena katalogowa i stawka VAT.

Scal sprzedaż z katalogiem produktów

3. Wróć do zapytania Sprzedaz_miesieczna. Na karcie Strona główna kliknij Scal zapytania. Strzałka obok przycisku ma dwie opcje: Scal zapytania dokłada kolumny do bieżącego zapytania, a Scal zapytania jako nowe tworzy nowe zapytanie i zostawia oba źródłowe bez zmian.

4. W oknie Scalanie kliknij nagłówek Kod produktu w górnej tabeli, z listy poniżej wybierz tProdukty i kliknij w niej nagłówek Kod produktu. Power Query od razu policzy, ile wierszy znalazło parę.

Okno Scalanie w Power Query: sprzedaż i katalog produktów połączone po kolumnie Kod produktu, komunikat zgodności 9250 z 9250 wierszy
Klucz zaznaczony w obu tabelach. Komunikat na dole: Zaznaczenie jest zgodne z 9250 z 9250 wierszy z pierwszej tabeli, czyli każdy kod ze sprzedaży znalazł się w katalogu.

Ten komunikat to najszybszy test jakości danych. Gdyby pokazał na przykład 9180 z 9250, wiedziałbyś od razu, że 70 wierszy ma kody, których nie ma w katalogu, i trzeba je wyjaśnić, zanim ktokolwiek zobaczy raport.

5. Rozwiń listę Rodzaj sprzężenia. Domyślne Lewe zewnętrzne jest właściwe w większości przypadków: zostawia wszystkie wiersze sprzedaży i dokłada dane produktu tam, gdzie znalazł parę.

Lista rodzajów sprzężenia w oknie Scalanie w Power Query: lewe zewnętrzne, prawe zewnętrzne, pełne zewnętrzne, wewnętrzne, lewe anty i prawe anty
Sześć rodzajów sprzężenia w polskim Power Query. Nawias przy każdej pozycji mówi, które wiersze zostaną w wyniku.
Infografika sześciu rodzajów sprzężenia w scalaniu zapytań Power Query z diagramami i przykładami
Który rodzaj sprzężenia do czego. Na czerwono wiersze, które zostają w wyniku scalenia sprzedaży (A) z katalogiem produktów (B).

Dwa rodzaje sprzężeń warto zapamiętać szczególnie. Wewnętrzne po cichu wyrzuca wiersze bez pary, więc sprzedaż produktu, którego zapomniano dodać do katalogu, zniknie z raportu bez żadnego ostrzeżenia. Lewe anty działa odwrotnie i zwraca wyłącznie wiersze bez pary, co czyni z niego gotowy test: zapytanie, które powinno zwrócić zero wierszy, a jeśli zwraca cokolwiek, w danych jest problem.

6. Pole Użyj dopasowywania rozmytego w celu wykonania scalenia pozwala łączyć wartości, które różnią się literówkami albo wielkością liter. Po jego zaznaczeniu w Opcjach dopasowywania rozmytego ustawisz próg podobieństwa i tabelę przekształceń. Przy kodach produktów nie jest potrzebne, przydaje się przy nazwach firm i adresach wpisywanych ręcznie. Kliknij OK.

Rozwiń dociągnięte kolumny

7. Na końcu tabeli pojawi się kolumna tProdukty z wartościami Table. W każdej komórce siedzi cały pasujący wiersz katalogu. Kliknij ikonę z dwiema strzałkami w nagłówku tej kolumny, odznacz (Zaznacz wszystkie kolumny), zaznacz Nazwa produktu, Kategoria, Marka i Stawka VAT, a na dole odznacz Użyj oryginalnej nazwy kolumny jako prefiksu.

Okno rozwijania kolumny tProdukty w Power Query z wybranymi kolumnami Nazwa produktu, Kategoria, Marka i Stawka VAT
Rozwijamy tylko potrzebne kolumny. Bez odznaczenia prefiksu nazwy wyglądałyby jak tProdukty.Nazwa produktu.
Tabela sprzedaży po scaleniu z katalogiem: nowe kolumny Nazwa produktu, Kategoria, Marka i Stawka VAT w Power Query
Każda linia paragonu ma teraz nazwę produktu, kategorię, markę i stawkę VAT. Do tej pory wykonaliśmy jedno scalenie zamiast 9250 formuł WYSZUKAJ.PIONOWO.
Gdy po scaleniu wierszy przybywa. Jeśli w tabeli słownikowej ten sam klucz występuje dwa razy, każdy wiersz sprzedaży zostanie zdublowany. Zanim scalisz, sprawdź unikatowość klucza w słowniku: zaznacz kolumnę klucza i użyj Usuń wiersze > Usuń duplikaty w zapytaniu słownika albo porównaj liczbę wierszy przed scaleniem i po nim.

Scalanie zadziała tylko wtedy, gdy klucze w obu tabelach mają ten sam typ danych. Kod jako tekst w jednej tabeli i jako liczba w drugiej nie zostanie dopasowany. Przy scalaniu po dacie oba pola muszą mieć typ Data, a nie Data/godzina.

Dołączanie zapytań: wiersze pod spodem zamiast kolumn obok

Scalanie dokłada kolumny. Dołączanie (ang. append) dokleja wiersze jednej tabeli pod drugą. Łączenie plików z folderu, które zrobiliśmy w lekcji 1, to właśnie dołączanie, wykonane automatycznie dla wszystkich plików. Ręcznie dołączasz zapytania wtedy, gdy masz dwie lub kilka tabel o tej samej strukturze z różnych źródeł.

Infografika porównująca scalanie zapytań i dołączanie zapytań w Power Query na przykładzie produktów i sklepów
Scalanie: tyle samo wierszy, więcej kolumn. Dołączanie: te same kolumny, więcej wierszy.

Przykład: Nordvella otwiera dwa nowe sklepy, a ich dane przychodzą jako krótka lista od działu ekspansji, osobno od głównego słownika.

1. Na karcie Strona główna kliknij Wprowadź dane. W oknie Tworzenie tabeli możesz wpisać albo wkleić tabelę (Ctrl+V z Excela czy Worda). Jeśli wklejasz z nagłówkami, Power Query sam przeniesie pierwszy wiersz do nagłówków. Nazwij tabelę tSklepy_nowe i kliknij OK.

Okno Tworzenie tabeli w Power Query z wklejonymi danymi dwóch nowych sklepów: Rzeszów i Olsztyn
Wprowadź dane tworzy tabelę zapisaną w samym zapytaniu. Przydaje się na małe słowniki i mapowania, których nie ma w żadnym systemie.

2. Zanim dołączysz tabele, wyrównaj typy kolumn. W naszym słowniku kolumna Otwarty od przyszła z Excela jako liczba (numer seryjny daty), a w nowej tabeli to tekst. Zaznacz kolumnę w zapytaniu tSklepy, na karcie Przekształć wybierz Typ danych: Data. Power Query zapyta, co zrobić z istniejącym krokiem zmiany typu:

Okno Zmień typ kolumny w Power Query z przyciskami Zamień bieżącą, Dodaj nowy krok i Anuluj
Pytanie o istniejącą konwersję typu. Zamień bieżącą poprawia krok, który już istnieje, zamiast dokładać kolejny.

Wybierz Zamień bieżącą. Lista kroków zostanie krótsza i czytelniejsza. Zrób to samo z kolumną Otwarty od w zapytaniu tSklepy_nowe.

3. Zaznacz zapytanie tSklepy, rozwiń strzałkę przy Dołącz zapytania i wybierz Dołącz zapytania jako nowe. W oknie Dołączanie jako drugą tabelę wybierz tSklepy_nowe. Opcja Co najmniej trzy tabele pozwala dołączyć dowolną liczbę tabel naraz.

Okno Dołączanie w Power Query: pierwsza tabela tSklepy, druga tabela tSklepy_nowe
Okno Dołączanie. Power Query łączy kolumny po nazwach, więc kolejność kolumn w tabelach nie ma znaczenia, ale nazwy muszą być identyczne.
Wynik dołączenia zapytań w Power Query: 17 sklepów, w tym nowe sklepy w Rzeszowie i Olsztynie, z formułą Table.Combine
17 sklepów w jednej tabeli. Pasek formuły pokazuje całą operację: Table.Combine({tSklepy, tSklepy_nowe}).

Jeśli nazwa kolumny w jednej tabeli różni się choćby spacją albo wielkością litery, Power Query nie połączy jej z odpowiednikiem, tylko utworzy osobną kolumnę z pustymi wartościami dla wierszy z drugiej tabeli. To dobry sygnał kontrolny: po dołączeniu sprawdź, czy nie pojawiły się kolumny, których się nie spodziewasz. Power Query nadaje nowemu zapytaniu nazwę Dołącz1, którą widać na zrzucie. Zmień ją od razu na czytelną, my użyliśmy Sklepy_wszystkie.

Masz konkretny problem z Power Query? Zajrzyj do listy 88 najczęstszych pytań i problemów związanych z Power Query: komunikaty błędów, typy danych, scalanie i odświeżanie, każdy z rozwiązaniem krok po kroku.
Baner szkolenia Microsoft Excel - Power Query w JSystems z edytorem Power Query na ekranie laptopa

Szkolenie Microsoft Excel - Power Query --> Dwa dni warsztatów z Excela: pobieranie danych z plików, folderów, SharePointa i baz SQL, ich czyszczenie i łączenie w Power Query, praca w języku M, a na koniec model danych i oparta na nim tabela przestawna. Prowadzi Sebastian Stasiak.

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

✕Powiększony zrzut ekranu z kursu Power Query

Najczęściej zadawane pytania

Czym scalanie różni się od dołączania zapytań w Power Query?
Scalanie łączy dwie tabele po wspólnej kolumnie i dokleja kolumny z drugiej tabeli, tak jak WYSZUKAJ.PIONOWO. Dołączanie dokleja wiersze jednej tabeli pod drugą, na przykład sprzedaż z kolejnych miesięcy albo listę nowych sklepów do istniejącej listy.
Który rodzaj sprzężenia wybrać przy scalaniu?
Najczęściej lewe zewnętrzne: zostają wszystkie wiersze tabeli głównej, a z drugiej tabeli dochodzą pasujące dane. Wewnętrzne zostawia tylko wiersze z dopasowaniem, a lewe anty pokazuje wiersze bez dopasowania, co świetnie nadaje się do wyszukiwania brakujących kodów.
Co zrobić, gdy scalanie nie dopasowuje części wierszy?
Sprawdź komunikat pod oknem scalania, który pokazuje liczbę dopasowanych wierszy. Brak dopasowania wynika zwykle z różnej wielkości liter, spacji albo innego typu danych w kolumnach. Przytnij i ujednolić tekst albo włącz dopasowanie rozmyte z odpowiednim progiem podobieństwa.
Czy scalanie w Power Query jest szybsze niż WYSZUKAJ.PIONOWO?
Przy dużych danych zwykle tak, bo łączenie wykonuje się raz przy odświeżeniu, a nie w każdej komórce osobno. Co ważniejsze, scalanie jest krokiem zapytania, więc po dodaniu nowych danych wystarczy odświeżyć wynik, bez przeciągania formuł.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...