0
0 Produkty w koszyku

No products in the cart.

Power Query 45 — Ile ciasteczek było w paczkach — wszystkie pary

W dzisiejszym poście nauczymy się jak policzyć wszystkie komórki zawierające konkretny tekst. Naszym zadaniem będzie policzenie ile ciasteczek było w paczkach, oraz wskazanie wszystkich możliwych par.

W Power Query odcinku 43 obliczaliśmy ile produktów w paczkach sprzedał konkretny sprzedawca. Pojawiał się tam taki problem, że mieliśmy np. czterech sprzedawców a tylko trzech z nich sprzedało produkt ciasteczka. W wyniku naszych działań pojawiali się tylko sprzedawcy, którzy dany produkt sprzedali (rys. nr 1).

rys. nr 1 — Dane ze sprzedawcami i produktami

Naszym zadaniem będzie otrzymanie wyniku, w którym Power Query będzie pokazywał każdą możliwą parę sprzedawca – produkt, również „puste” pary jak na rys. nr 2.

rys. nr 2 — zestawienie danych ze sprzedawcami, którzy nie sprzedali danego produktu

W odcinku Power Query nr 44 omawialiśmy iloczyn kartezjański, który moglibyśmy wykonać ręcznie, chociaż jest to bardzo czaso- i pracochłonne przy większej ilości danych. Zależy nam, aby Power Query sam wyznaczył pary sprzedawca- produkt oraz dodatkowo podliczył ile poszczególnych produktów sprzedał każdy sprzedawca. Zadanie to wykonamy na podstawie przykładowych danych z rys. nr 3.

rys. nr 3 — Przykładowe dane

W pierwszym kroku musimy zaczytać nasze przykładowe dane do Power Query. W tym celu wybieramy polecenie Z tabeli/zakresu z karty Dane (rys. nr 4).

rys. nr 4 - polecenie zaczytania danych z tabeli/zakresu
rys. nr 4 — polecenie zaczytania danych z tabeli/zakresu

Otworzy nam się Edytor zapytań z wczytaną tabelą tPaczki. Do dalszej pracy musimy zduplikować nasze zapytanie. Na tych zapytaniach wykonamy różne operacje, których wyniki odpowiednio ze sobą połączymy. Będą nam potrzebne takie dane jak unikatowa lista Produktów, Sprzedawców oraz podsumowane wartości sprzedaży. Musimy wyznaczyć ilość konkretnych produktów sprzedanych przez każdego sprzedawcę. Będziemy potrzebować 3 zapytań z naszymi danymi bazowymi. W panelu bocznym z listą zapytań klikamy na nazwę zapytania tPaczki prawym przyciskiem myszy i z podręcznego menu wybieramy polecenie Duplikuj (zaznaczone zieloną strzałką na rys. nr 5). Czynność tę powtarzamy, aby otrzymać trzy jednakowe zapytania.

rys. nr 5 - polecenie Duplikuj zapytanie
rys. nr 5 — polecenie Duplikuj zapytanie

Zaczniemy od grupowania. W tym celu klikamy na zapytanie tPaczki(3) i w panelu bocznym Ustawień zapytania po prawej stronie ekranu zmieniamy jego nazwę na tGrupowanie (rys. nr 6).

rys. nr 6 - Zmiana nazwy zapytania w Ustawieniach zapytania
rys. nr 6 — Zmiana nazwy zapytania w Ustawieniach zapytania

Nasze dane pogrupujemy po sprzedawcach i produktach, w tym celu musimy najpierw rozdzielić paczki na poszczególne produkty. Zaznaczamy kolumnę Paczki i rozwijamy polecenie Podziel kolumny (punkt 2 na rys. nr 7) z karty Narzędzia główne (punkt 1), a następnie wybieramy polecenie Według ogranicznika (punkt 3). Należy pamiętać, że nasze dane chcemy rozdzielić na wiersze.

rys. nr 7 - polecenie Podziel kolumny Według ogranicznika
rys. nr 7 — polecenie Podziel kolumny Według ogranicznika

Otworzy nam się okno Dzielenia kolumny według ogranicznika, gdzie w polu Wybierz lub wprowadź ogranicznik wybieramy typ –Niestandardowe–, a następnie w polu poniżej wpisujemy nasz ogranicznik, czyli przecinek i spacja. Rozwijamy opcje zaawansowane, w których w polu Podziel na, zaznaczamy checkbox Wiersze. Tak ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 8).

rys. nr 8 - Okno Dzielenia kolumny według ogranicznika
rys. nr 8 — Okno Dzielenia kolumny według ogranicznika

Otrzymamy podzielone dane przedstawione na rys. nr 9.

rys. nr 9 - Dane podzielone według ogranicznika
rys. nr 9 — Dane podzielone według ogranicznika

Podzielone dane chcemy pogrupować według sprzedawcy, aby mieć jasne wyniki ile dany sprzedawca sprzedał produktów. Zaznaczamy kolumny Sprzedawca oraz Paczka, następnie wybieramy polecenie Grupowanie według z karty Narzędzia główne (rys. nr 10).

rys. nr 10 - Polecenie Grupowanie według
rys. nr 10 — Polecenie Grupowanie według

Otworzy nam się okno Grupowania według, gdzie możemy pozostać przy domyślnych ustawieniach, ponieważ naszym celem jest zliczenie produktów. Domyślne parametry zatwierdzamy przyciskiem OK (rys. nr 11).

rys. nr 11 - Okno Grupowania według
rys. nr 11 — Okno Grupowania według

Otrzymamy pogrupowane dane przedstawione na rys. nr 12.

rys. nr 12 - Pogrupowane dane
rys. nr 12 — Pogrupowane dane

Teraz przechodzimy do zapytania tPaczki (2), któremu zmieniamy nazwę na tProdukty w Ustawieniach zapytania. Naszym zadaniem w tym zapytaniu jest podzielenie paczek na poszczególne produkty. Inne kolumny są zbędne. Zaznaczamy kolumnę Paczki, a następnie klikamy prawym przyciskiem myszy na jej obszarze i z podręcznego menu wybieramy polecenie Usuń inne kolumny (rys. nr 13).

rys. nr 13 - polecenie Usuń inne kolumny
rys. nr 13 — polecenie Usuń inne kolumny

Otrzymamy kolumnę Paczki przedstawioną na rys. nr 14.

rys. nr 14 - dane po usunięciu niepotrzebnych kolumn
rys. nr 14 — dane po usunięciu niepotrzebnych kolumn

Następnie powyższą kolumnę musimy podzielić według ogranicznika. Rozwijamy polecenie Podziel kolumny z karty Narzędzia główne, a następnie wybieramy polecenie Według ogranicznika (tak jak na rys. nr 7).

Otworzy nam się okno Dzielenia kolumny według ogranicznika, w którym ustawiamy takie same parametry jak dla zapytania tGrupowanie (jak na rys. nr 8). Parametry te zatwierdzamy przyciskiem OK.

Otrzymamy listę wszystkich produktów z poszczególnych paczek przedstawioną na rys. nr 15.

rys. nr 15 - lista produktów z poszczególnych paczek
rys. nr 15 — lista produktów z poszczególnych paczek

Naszym zadaniem jest stworzenie unikatowej listy produktów, więc musimy usunąć powtarzające się dane. Zaznaczamy kolumnę, rozwijamy polecenie Usuń wiersze (punkt 2 na rys. nr 16) z karty Narzędzia główne (punkt 1), a następnie wybieramy polecenie Usuń duplikaty (punkt 3).

rys. nr 16 - polecenie Usuń duplikaty
rys. nr 16 — polecenie Usuń duplikaty

Ponadto posortujemy sobie naszą listę alfabetycznie od A do Z za pomocą polecenia na karcie Narzędzia główne (zaznaczone strzałką na rys. nr 17).

rys. nr 17 - Sortowanie danych od A do Z
rys. nr 17 — Sortowanie danych od A do Z

Otrzymamy posortowaną unikatową listę produktów przedstawioną na rys. nr 18.

rys. nr 18 - posortowana unikatowa lista produktów
rys. nr 18 — posortowana unikatowa lista produktów

Ponadto zmienimy nazwę naszej kolumny na Produkty (rys. nr 19).

rys. nr 19 - Zmiana nazwy kolumny
rys. nr 19 — Zmiana nazwy kolumny

Teraz przechodzimy do naszego zapytania głównego tPaczki. Zmieniamy nazwę zapytania w Ustawieniach zapytania na tPary (rys. nr 20).

rys. nr 20 - Zmiana nazwy zapytania w Ustawieniach zapytania
rys. nr 20 — Zmiana nazwy zapytania w Ustawieniach zapytania

W pierwszym etapie chcemy uzyskać unikatową listę sprzedawców. Zaznaczamy kolumnę Sprzedawca, klikamy prawym przyciskiem myszy na obszarze kolumny i z podręcznego menu wybieramy polecenie Usuń inne kolumny (rys. nr 21).

rys. nr 21 - polecenie Usuń inne kolumny
rys. nr 21 — polecenie Usuń inne kolumny

Otrzymamy kolumnę Sprzedawca, z której chcemy usunąć powtarzających się sprzedawców. Rozwijamy polecenie Usuń wiersze z karty Narzędzia główne, a następnie wybieramy polecenie Usuń duplikaty (tak jak na rys. nr 16).

Uzyskaną listę sortujemy od A do Z za pomocą polecenia z karty Narzędzia główne (jak na rys. nr 17).

Otrzymamy posortowaną unikatową listę sprzedawców przedstawioną na rys nr 22.

rys. nr 22 - posortowana unikatowa lista sprzedawców
rys. nr 22 — posortowana unikatowa lista sprzedawców

Na tym etapie do listy sprzedawców z zapytania tPary chcemy dołożyć listę produktór z zapytania tProdukty. Kopiujemy nazwę zapytania tProdukty za pomocą skrótu klawiszowego Ctrl+C. Przechodzimy do zapytania tPary (ważne które zapytanie jest aktywne) i wybieramy polecenie Kolumna niestandardowa z karty Dodaj kolumnę (rys. nr 23).

rys. nr 23 - polecenie Kolumna niestandardowa z karty Dodaj kolumnę
rys. nr 23 — polecenie Kolumna niestandardowa z karty Dodaj kolumnę

Otworzy nam się okno Kolumny niestandardowej, gdzie w polu Nazwa nowej kolumny wpisujemy Produkty oraz w polu Formuła kolumny niestandardowej wklejamy skopiowaną nazwę drugiego zapytania za pomocą skrótu klawiszowego Ctrl+V. Zapis powinien wyglądać następująco: =tProdukty (w polu formuły robimy odwołanie do innego zapytania – zaznaczone strzałką na rys. nr 24). Tak ustawione parametry zatwierdzamy przyciskiem OK.

rys. nr 24 - parametry kolumny niestandardowej
rys. nr 24 — parametry kolumny niestandardowej

Otrzymamy pary sprzedawca – produkty. W kolumnie Produkty są tabele z listą unikatowych produktów (rys. nr 25).

rys. nr 25 - Pary sprzedawca - produkty
rys. nr 25 — Pary sprzedawca — produkty

Aby rozwinąć te listy produktów musimy kliknąć na ikonkę ze strzałkami przy nazwie kolumny Produkty. Otworzy nam się okienko, gdzie zaznaczamy checkbox przy poleceniu Rozwiń, a następnie odznaczamy checkbox przy poleceniu Użyj oryginalnej nazwy kolumny jako prefiksu. Tak ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 26).

rys. nr 26 — polecenie Rozwiń

Otrzymaliśmy listę wszystkich możliwych par sprzedawca – produkt przedstawioną na rys. nr 27.

rys. nr 27 - lista wszystkich możliwych par sprzedawca - produkt
rys. nr 27 — lista wszystkich możliwych par sprzedawca — produkt

Zmieniła się nazwa kolumny z produktami, aby ją zmienić rozwijamy pasek formuły i tam wprowadzamy zmianę (zaznaczone strzałką na rys. nr 28).

rys. nr 28 - zmiana nazwy kolumny w pasku formuły
rys. nr 28 — zmiana nazwy kolumny w pasku formuły

W zapytaniu tPary otrzymaliśmy wszystkie możliwe kombinacje par między sprzedawcą a produktem, natomiast w zapytaniu tGrupowanie mamy listę tych par, które faktycznie istnieją. Z zapytania tGrupowanie będziemy chcieli skorzystać z kolumny Liczność. W tym celu scalimy te zapytania.

Główne zapytanie (tPary) musi być aktywne. Rozwijamy polecenie Scal zapytania (punkt 2 na rys. nr 29) z karty Narzędzia główne (punkt 1), a następnie wybieramy polecenie Scal zapytania (punkt 3).

rys. nr 29 - droga dostępu do polecenia Scal zapytania
rys. nr 29 — droga dostępu do polecenia Scal zapytania

Otworzy nam się okno Scalania, gdzie w drugim polu wybieramy zapytanie tGrupowanie. Zaznaczamy kolumny Sprzedawca i Produkty z pierwszego zapytania przytrzymując klawisz Ctrl a następnie te same kolumny z drugiego zapytania. Wybieramy rodzaj sprzężenia jako Lewe zewnętrzne. Należy zwrócić uwagę, aby zaznaczanie kolumn odbyło się w tej samej kolejności, czyli jeśli w pierwszym zapytaniu najpierw zaznaczymy kolumnę Sprzedawca to w drugim musimy zrobić tak samo. Nazwy kolumn nie muszą się pokrywać. Tak ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 30).

rys. nr 30 - Okno Scalania z ustawionymi parametrami
rys. nr 30 — Okno Scalania z ustawionymi parametrami

Otrzymaliśmy listę wszystkich możliwych par sprzedawca – produkt oraz ilość tych produktów z zapytania tGrupowanie (rys. nr 31).

rys. nr 31 - lista wszystkich możliwych par sprzedawca – produkt oraz ilość tych produktów z zapytania tGrupowanie
rys. nr 31 — lista wszystkich możliwych par sprzedawca – produkt oraz ilość tych produktów z zapytania tGrupowanie 

Sprawdzimy teraz co się dzieje w sytuacji sprzedawcy, który nie sprzedał żadnego produktu z listy. Sprzedawca Robert nie sprzedał żadnych ciasteczek, więc jego tabela jest pusta (rys. nr 32).

rys. nr 32 - pusta tabela dla sprzedawcy, który nie sprzedał danego produktu
rys. nr 32 — pusta tabela dla sprzedawcy, który nie sprzedał danego produktu

Na tym etapie musimy rozwinąć kolumnę tGrupowanie, czyli klikamy na ikonkę ze strzałkami przy nazwie kolumny i zaznaczamy polecenie Rozwiń oraz kolumnę, którą chcemy rozwinąć. Tak ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 33).

rys. nr 33 - Polecenie Rozwiń
rys. nr 33 — Polecenie Rozwiń

Otrzymamy listę sprzedawców, produktów oraz ilość sprzedanych produktów (rys. nr 34).

rys. nr 34 - rozwinięte dane
rys. nr 34 — rozwinięte dane

Chcemy zmienić nazwę kolumny otrzymanej po rozwinięciu na Ilość, w tym celu zmieniamy nazwę w pasku formuły. Pierwsze wystąpienie nazwy Liczność jest nazwą kolumny, którą rozwijaliśmy, natomiast drugie wystąpienie – nazwą kolumny docelowej (rys. nr 35).

rys. nr 35 - Zmiana nazwy kolumny w pasku formuły
rys. nr 35 — Zmiana nazwy kolumny w pasku formuły

Po zmianie nazwy kolumny otrzymamy dane przedstawione na rys. nr 36.

rys. nr 36 - Dane po zmianie nazwy kolumny
rys. nr 36 — Dane po zmianie nazwy kolumny

Wartości null w danych po załadowaniu danych do Excela przekształcą się w puste komórki. Jeśli chcemy aby przekształciły się w wartość zero, to musimy przekształcić naszą kolumnę. W tym celu rozwijamy ikonę polecenia Zamieniania (punkt 2 na rys. nr 37) z karty Przekształć (punkt 1), a następnie wybieramy polecenie Zamienianie wartości (punkt 3).

rys. nr 37 - polecenie Zmienianie wartości
rys. nr 37 — polecenie Zmienianie wartości

Otworzy nam się okno Zamieniania wartości, gdzie w polu wartość do znalezienia wpisujemy null, natomiast w polu Zamień na wpisujemy zero (0). Tak ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 38).

rys. nr 38 - okno Zamieniania wartości
rys. nr 38 — okno Zamieniania wartości

Otrzymamy zmienione dane przedstawione na rys. nr 39.

rys. nr 39 - dane ze zmienionymi wartościami null
rys. nr 39 — dane ze zmienionymi wartościami null

Aby dane były bardziej czytelne musimy je posortować za pomocą polecenia na karcie Narzędzia główne. Najpierw sortujemy kolumnę Produkt a następnie kolumnę Sprzedawca. Otrzymamy dane przedstawione na rys. nr 40.

rys. nr 40 - posortowane dane
rys. nr 40 — posortowane dane

Tak przygotowane dane możemy załadować do Excela. W tym celu wybieramy polecenie Zamknij i załaduj do z karty Narzędzia główne (rys. nr 41).

rys. nr 41 - polecenie Zamknij i załaduj do
rys. nr 41 — polecenie Zamknij i załaduj do

Otworzy nam się okno Importowania danych. Tutaj pojawi się pewien problem, mianowicie stworzyliśmy trzy zapytania, więc nie możemy ich wstawić w konkretną komórkę. Dlatego wybieramy sposób wyświetlania danych w skoroszycie jako Utwórz tylko połączenie (rys. nr 42).

rys. nr 42 - Okno Importowania danych
rys. nr 42 — Okno Importowania danych

Wstawiliśmy dane jako połączenie ponieważ interesuje nas tylko jedno ze stworzonych zapytań. Klikamy prawym przyciskiem myszy na zapytanie tPary i z podręcznego menu wybieramy polecenie Załaduj do (rys. nr 43).

rys. nr 43 - polecenie Załaduj do (ponieważ wstawiliśmy dane jako połączenie)
rys. nr 43 — polecenie Załaduj do (ponieważ wstawiliśmy dane jako połączenie)

Otworzy nam się okno Importowania danych, gdzie wybieramy rodzaj wyświetlania danych w skoroszycie jako Tabela, a następnie wskazujemy konkretną komórkę w istniejącym arkuszu, gdzie ma zostać wstawiona. Tak ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 44).

rys. nr 44 - ustawienia sposobu wstawienia danych z zapytania
rys. nr 44 — ustawienia sposobu wstawienia danych z zapytania

Otrzymamy wstawione dane do Excela przedstawione na rys. nr 45. Otrzymaliśmy listę par sprzedawca – produkt, zawierającą każde możliwe połączenie.

rys. nr 45 -  lista par sprzedawca – produkt, zawierającą każde możliwe połączenie
rys. nr 45 — lista par sprzedawca – produkt, zawierającą każde możliwe połączenie 

Książka Mistrz Excela reklama

Książka Mistrz Excela + promo na 35 urodziny

Chcę Cię poinformować, że w końcu udało mi zebrać środki i dopiąć wszystkich formalności, żeby powstało II wydanie mojej książki Mistrz Excela (zostałem wydawcą)
II wydanie jest wzbogacone o rozdział (nr 22) wprowadzający w genialny dodatek (Power Query) do Excela służący do pobierania, łączenia i wstępnej obróbki danych z wielu źródeł.

Książka Mistrz Excela to historia Roberta, który musi poznać dobrze Excela na potrzeby nowej pracy. Książka jest napisana w formie rozmów Roberta z trenerem, dzięki temu jest przystępniejsza w odbiorze niż standardowe książki techniczne pisane językiem "wykładowym".

Rozmowy zostały podzielone na 22 tematyczne rozdziały, które krok po kroku wprowadzają Cię w tajniki Excela. Robert zaczyna naukę od poznania ciekawych aspektów sortowania i filtrowania danych w Excelu, przechodzi przez formatowanie warunkowe, tabele przestawne, funkcje wyszukujące i wiele innych tematów, by na koniec poznać wstępne informacje o VBA i Power Query.
A wszystko to na praktycznych przykładach i z dużą ilością zdjęć.

Żebyś mógł śledzić postępy Roberta, do książki dołączone są pliki Excela, na których pracuje Robert.

Aktualnie w promocji urodzinowej możesz mieć Mistrza Excela w obniżonej cenie, jeśli tylko wpiszesz kod 35URODZINY
https://exceliadam.pl/produkt/ksiazka-mistrz-excela

Na powyższej stronie znajdziesz dokładniejszy opis książki, opinie osób, które kupiły I wydanie oraz podgląd pierwszego rozdziału książki, żeby upewnić się, czy forma rozmów przy nauce Excela jest dla Ciebie.
Jeśli książka Ci się spodoba poinformuj o niej swoich znajomych. 

W ramach promocji na moje 35 urodziny możesz też mieć każdy z moich kursów wideo na Udemy za zaledwie 35 zł. Linki do kursów zamieszczam poniżej. W każdym kursie są udostępnione filmy do podglądu, byś mógł się przekonać czy dany kurs jest dla Ciebie.

Power Query
https://www.udemy.com/course/mistrz-power-query/?couponCode=35URODZINY

Mistrz Excela
https://www.udemy.com/mistrz-excela/?couponCode=35URODZINY

Dashboardy
https://www.udemy.com/course/excel-dashboardy/?couponCode=35URODZINY

Mistrz Formuł
https://www.udemy.com/course/excel-mistrz-formul/?couponCode=35URODZINY

VBA
https://www.udemy.com/course/excel-vba-makra/?couponCode=35URODZINY

Microsoft Power BI
https://www.udemy.com/course/power-bi-microsoft/?couponCode=35URODZINY

Power Query 37 — Dynamiczna ilość kolumn przy podziale ogranicznikiem — Funkcje języka M

W dzisiejszym poście zajmiemy się kontynuacją poprzedniego, a dokładnie drugim sposobem rozwiązania zadania polegającego na dynamicznym określeniu ilości kolumn przy podziale ogranicznikiem. Rozwiązanie to jest wykorzystywane przez Billa Szysza, jest ono przeznaczone dla bardziej zaawansowanych użytkowników, ponieważ wymaga większej znajomości funkcji i kodu M w Power Query. Zadanie to wykonamy po podstawie przykładowych danych przedstawionych na rysunku nr 1.

rys. nr 1 — Przykładowe dane

Pierwszym krokiem jest zaczytanie danych wejściowych do Power Query. W tym celu klikamy polecenie Z tabeli/zakresu z karty Dane (rys. nr 2).

rys. 2 — Z tabeli/ zakresu

Otworzy nam się edytor zapytań Power Query z wczytaną tabelą z danymi przedstawioną na rysunku nr 3.

rys. 3 — Edytor zapytań

Z zastosowanych kroków usuwamy niepotrzebny krok Zmieniono typ. Do dalszych działań potrzebujemy tylko kolumny z produktami więc klikamy prawym przyciskiem myszy na nagłówek kolumny Produkt i z podręcznego menu wybieramy polecenie Usuń inne kolumny (rys. nr 4).

rys. 4 — Usuń inne kolumny

Otrzymamy interesujące nas dane przedstawione na rysunku nr 5.

rys.5 — Dane po usunięciu innych kolumn

Do tego momentu kroki w działaniu były takie same jak w poprzednim poście https://exceliadam.pl/?p=9720 . Aby ułatwić zrozumienie tematu nie zaczniemy pisać od razu funkcji w pasku formuły tylko dodamy kolumnę niestandardową z karty Dodaj kolumnę (rys. nr 6). Dodamy tą kolumnę, żeby to w niej zacząć pisać funkcję.

rys. 6 — Kolumna niestandardowa

Otworzy nam się okno Kolumny niestandardowej, gdzie w polu Formuły kolumny niestandardowej wpiszemy funkcję. Zapis powinien wyglądać następująco:

=Text.Split([Produkt], ", ")

W funkcji Text.Split argumentem jest kolumna Produkt. Następnie wpisujemy ogranicznik, czyli w naszym przypadku — przecinek  spacja ", ". Po wpisaniu formuły zatwierdzamy naszą kolumnę niestandardową przyciskiem OK (rys. nr 7). 

rys. 7 — Parametry kolumny niestandardowej

Otrzymamy dane przedstawione na rysunku nr 8.

rys. 8 — Kolumna niestandardowa w postaci list

Polecenie to dzieli nasze kolumny na Listy. Pod każdym słowem List jest ukryta lista produktów (przykład przedstawiony został na rysunku nr 9).

rys. 9 — Dane ukryte pod nazwą List

Kolejnym krokiem jest policzenie elementów każdej z tych list. Użyjemy do tego funkcji List.Count. klikamy na nazwę kroku Dodano kolumnę niestandardową, aby otworzyć znowu okno Kolumny niestandardowej i wprowadzić zmiany w formule tej kolumny (rys. nr 10). Zapis powinien wyglądać następująco:

=List.Count(Text.Split([Produkt], ", "))

rys. 10 — zmiany wprowadzone w oknie kolumny niestandardowej

Zatwierdzamy zmienioną formułę przyciskiem OK i otrzymujemy dane przedstawione na rysunku nr 11.

rys. 11 — zmieniona kolumna niestandardowa

Podsumowując najpierw podzieliliśmy dane na Poszczególne listy za pomocą funkcji Text.Split a następnie policzyliśmy ilość elementów w każdej liście za pomocą funkcji List.Count. W pasku formuły możemy wprowadzić zmiany, aby uzyskać interesujący nas wynik. Zamieniamy funkcję Table.AddColumn na List.Transform oraz dodajemy argument Produkt. Formuła powinna wyglądać jak na rysunku nr 12.

=List.Transform(#"Usunięto inne kolumny" [Produkt], each List.Count(Text.Split(_,", ")))

rys. 12 — Formuła funkcji List.Transform

Po zatwierdzeniu formuły otrzymamy dane przedstawione na rysunku nr 13.

rys. 13 — Wynik funkcji List.Transform

Otrzymaliśmy listę wszystkich elementów na konkretnych listach. Za pomocą funkcji List.Transform wyciągnęliśmy z danych tylko jedną kolumnę. Powinniśmy pamiętać, że nie potrzebujemy listy wszystkich elementów tylko maksymalną wartość. Wystarczy wstawić w formułę na pasku formuł funkcję List.Max. Formuła powinna wyglądać jak na rysunku nr 14.

=List.Max(List.Transform(#"Usunięto inne kolumny" [Produkt], each List.Count(Text.Split(_,", "))))

rys. 14 — Zapis funkcji List.Max

Kiedy zatwierdzimy formułę klawiszem Enter otrzymamy wynik przedstawiony na rysunku nr 15.

rys. 15 Wynik maksymalny

Kolejny krok pokrywa się z krokiem z wcześniejszego filmu, czyli Power Query odcinek 36.

Kopiujemy nazwę kroku Usunięto inne kolumny po zaznaczeniu go i wciśnięciu klawisza F2, za pomocą skrótu klawiszowego Ctrl+C. Klikamy przycisk fx przy pasku formuły i wklejamy skopiowaną nazwę kroku za pomocą skrótu klawiszowego Ctrl+V. Otrzymamy dane przedstawione na rysunku nr 16.

rys. 16 Dane z kroku Usunięto inne kolumny

Rozwijamy polecenie Podziel kolumny (punkt nr 2 na rysunku nr 17) z karty Narzędzia główne, a następnie wybieramy polecenie Według ogranicznika (punkt nr 3 na rysunku nr 17).

rys. 17 — Podziel kolumny według ogranicznika

Otworzy nam się okno Dzielenia kolumny według ogranicznika, gdzie w polu wybierz lub wprowadź ogranicznik wybieramy opcję Niestandardowe (punkt nr 1 na rysunku nr 18). Następnie w polu, które się pojawi wpisujemy nasz ogranicznik, czyli przecinek i spacja. Zaznaczamy Podziel przy każdym wystąpieniu ogranicznika (punkt nr 2), Podziel na Kolumny (punkt nr 3) i wpisujemy liczbę kolumn 2 (wpisujemy mniejszy parametr bo będziemy go zmieniać). Tak ustawione parametry dzielenia kolumny zatwierdzamy przyciskiem OK.

rys. 18 — parametry dzielenia kolumny

Otrzymamy dane przedstawione na rysunku nr 19. Usuwamy niepotrzebny krok o nazwie Zmieniono typ.

rys. 19 — Podzielone dane

W pasku formuły w tym zapytaniu zmieniamy nazwy poszczególnych kolumn (podświetlone na rysunku nr 20) na odwołanie do wcześniejszego kroku 

rys.20 zmiana nazw kolumn na odwołanie do poprzedniego kroku w pasku formuły

Klikamy nazwę wcześniejszego kroku — Dodano kolumnę niestandardową, wciskamy klawisz F2, a następnie kopiujemy nazwę kroku za pomocą skrótu klawiszowego Ctrl+C. Następnie tworzymy odwołanie do tego kroku, czyli w formule w miejscu zaznaczonym na rysunku nr 20 wklejamy nazwę naszego kroku poprzedzoną znakiem # (hash) i w podwójnym cudzysłowie. Zapis powinien wyglądać jak na rysunku nr 21.

rys. 21 — Zapis formuły

Po zatwierdzeniu formuły otrzymamy dane przedstawione na rysunku nr 22.

rys. 22 — Dane uzyskane z działania funkcji Table.TransformColumn

Otrzymaliśmy jedenaście kolumn dynamicznych, czyli zmieniających się pod wpływem zmian w danych wejściowych.

Jeśli chcemy mieć mniej kroków w działaniach możemy usunąć krok Niestandardowe1, do którego się odwołaliśmy w formule. Wystarczy, że w pasku formuły z rysunku nr 21 zastąpimy nazwę kroku Niestandardowe1 na Usunięto inne kolumny, ponieważ oba kroki zawierają takie same dane. Zapis formuły po zastąpieniu nazw powinien wyglądać jak na rysunku nr 23.

rys. 23 zmiana nazw kroków w pasku formuły

Następnie możemy usunąć już zbędny krok Niestandardowe1. Klikamy na nazwę kroku i wciskamy przycisk Delete. Pojawi nam się komunikat Usuwanie kroku, gdzie potwierdzamy usunięcie go za pomocą przycisku Usuń (rys. nr 24).

rys. 24 — Usuwanie kroku

Tak przygotowane dane możemy załadować do Excela korzystając z polecenia Zamknij i załaduj do z karty Narzędzia główne (rys. nr 25).

rys. 25 — Zamknij i załaduj do

Otworzy nam się okno Importowania danych, gdzie wybieramy sposób wyświetlania danych jako Tabela i wskazujemy miejsce ich wstawienia, czyli Istniejący arkusz oraz wskazujemy konkretną komórkę. Tak określone parametry zatwierdzamy przyciskiem OK (rys. nr 26)

rys. 26 — Okno importowania danych

Otrzymamy dane zaimportowane do Excela przedstawione na rysunku nr 27.

rys. 27 — Dane zaimportowane do Excela

Możemy w danych źródłowych dopisać dodatkowy wiersz z danymi, aby sprawdzić działanie dynamicznych kolumn. Po odświeżeniu danych w tabeli z Power Query otrzymamy aktualne dane. Tabelę odświeżamy klikając prawym przyciskiem myszy na jej obszar a następnie korzystając z polecenia Odśwież z podręcznego menu.


Książka Mistrz Excela + promo na 35 urodziny

Chcę Cię poinformować, że w końcu udało mi zebrać środki i dopiąć wszystkich formalności, żeby powstało II wydanie mojej książki Mistrz Excela (zostałem wydawcą)
II wydanie jest wzbogacone o rozdział (nr 22) wprowadzający w genialny dodatek (Power Query) do Excela służący do pobierania, łączenia i wstępnej obróbki danych z wielu źródeł.

Książka Mistrz Excela to historia Roberta, który musi poznać dobrze Excela na potrzeby nowej pracy. Książka jest napisana w formie rozmów Roberta z trenerem, dzięki temu jest przystępniejsza w odbiorze niż standardowe książki techniczne pisane językiem "wykładowym".

Rozmowy zostały podzielone na 22 tematyczne rozdziały, które krok po kroku wprowadzają Cię w tajniki Excela. Robert zaczyna naukę od poznania ciekawych aspektów sortowania i filtrowania danych w Excelu, przechodzi przez formatowanie warunkowe, tabele przestawne, funkcje wyszukujące i wiele innych tematów, by na koniec poznać wstępne informacje o VBA i Power Query.
A wszystko to na praktycznych przykładach i z dużą ilością zdjęć.

Żebyś mógł śledzić postępy Roberta, do książki dołączone są pliki Excela, na których pracuje Robert.

Aktualnie w promocji urodzinowej możesz mieć Mistrza Excela w obniżonej cenie, jeśli tylko wpiszesz kod 35URODZINY
https://exceliadam.pl/produkt/ksiazka-mistrz-excela

Na powyższej stronie znajdziesz dokładniejszy opis książki, opinie osób, które kupiły I wydanie oraz podgląd pierwszego rozdziału książki, żeby upewnić się, czy forma rozmów przy nauce Excela jest dla Ciebie.
Jeśli książka Ci się spodoba poinformuj o niej swoich znajomych. 

W ramach promocji na moje 35 urodziny możesz też mieć każdy z moich kursów wideo na Udemy za zaledwie 35 zł. Linki do kursów zamieszczam poniżej. W każdym kursie są udostępnione filmy do podglądu, byś mógł się przekonać czy dany kurs jest dla Ciebie.

Power Query
https://www.udemy.com/course/mistrz-power-query/?couponCode=35URODZINY

Mistrz Excela
https://www.udemy.com/mistrz-excela/?couponCode=35URODZINY

Dashboardy
https://www.udemy.com/course/excel-dashboardy/?couponCode=35URODZINY

Mistrz Formuł
https://www.udemy.com/course/excel-mistrz-formul/?couponCode=35URODZINY

VBA
https://www.udemy.com/course/excel-vba-makra/?couponCode=35URODZINY

Microsoft Power BI
https://www.udemy.com/course/power-bi-microsoft/?couponCode=35URODZINY

Książka Mistrz Excela reklama

Power Query #28 — Pary produktów, które wystąpiły razem

W dzisiejszym poście nauczymy jak w Power Query znaleźć pary produktów, które wystąpiły razem w danych. Nie ma znaczenia czy będziemy bazować na Id produktu czy na jego nazwie. Załóżmy, że mamy listę zakupów z produktami oznaczonymi numerami Id. Ręczne wyszukiwanie par jest pracochłonne i męczące. Rozwiązanie tego problemu omówimy na podstawie przykładowych danych przedstawionych na rysunku nr 1.

rys. nr 1 — Przykładowe dane

W pierwszym kroku musimy wczytać nasze dane do Power Query, w tym celu wybieramy polecenie Z tabeli (punkt nr 2 na rysunku nr 2) z karty Dane.

rys. nr 2 — Z tabeli

Otworzy nam się Edytor zapytań z wczytaną tabelą tIdProduktu. W polu Zastosowane kroki usuwamy krok Zmiana typu, ponieważ nie jest nam potrzebny. Otrzymamy dane przedstawione na rysunku nr 3.

rys. nr 3 — edytor zapytań

W kolejnym etapie musimy zduplikować tą kolumnę. Wybieramy polecenie Duplikuj kolumnę (punkt nr 2 na rysunku nr 4) z karty Dodaj kolumnę.

rys. nr 4 — duplikuj kolumnę

Następnie dokładamy jeszcze kolumnę z indeksem, żebyśmy widzieli które to były zakupy. Wybieramy polecenie Kolumna indeksu (punkt nr 2 na rysunku nr 5) a następnie od 01 (punkt nr 3 na rysunku nr 5) z karty Dodaj kolumnę.

rys.. nr 5 — Dodaj kolumnę indeksu

Aby w Power Query znaleźć pary produktów musimy podzielić dane po ogranicznikach a następnie odpowiednie dane połączyć. Wybieramy polecenie Podziel kolumny (punkt nr 2 na rysunku nr 6) z karty Narzędzia główne, a następnie polecenie Według ogranicznika (punkt nr 3 na rysunku nr 6).

rys. nr 6 — Podziel kolumny według ogranicznika

Otworzy nam się okno Dzielenia kolumny według ogranicznika, gdzie musimy określić parametry tego dzielenia. W polu Wybierz lub wprowadź ogranicznik wybieramy Niestandardowy (punkt nr 1 na rysunku nr 7), a następnie wpisujemy użyty u nas ogranicznik, czyli przecinek i spacja. W opcji Podziel przy wybieramy checkbox przy Każdym wystąpieniu ogranicznika (punkt nr 2 na rysunku nr 7). Natomiast w Opcjach zaawansowanych Podziel na (punkt nr 3 na rysunku nr 7) zaznaczamy checkbox przy Wierszach. Tak dobrane ustawienia zatwierdzamy przyciskiem OK.

rys. nr 7 — Dzielenie kolumny według ogranicznika

Otrzymamy dane, których fragment został przedstawiony na rysunku nr 8.

rys. nr 8 Podzielone dane

Power Query przy okazji dzielenia kolumny zamienił nam dane na liczby. Nie ma to większego znaczenia. Analogicznie postępujemy dla drugiej kolumny (kopii pierwszej). Wybieramy polecenie Podziel kolumny, a następnie według ogranicznika z karty Narzędzia główne (jak na rysunku nr 6). Pojawi się nam okno Dzielenia kolumny według ogranicznika, w której ustawiamy takie same parametry jak dla pierwszej kolumny (jak na rysunku nr 7) i wybrane parametry zatwierdzamy klikając przycisk OK. Otrzymamy dane przedstawione na rysunku nr 9.

rys. nr 9 — takie same wartości w dwóch kolumnach

W danych tych pojawia się problem – mamy zduplikowane pary (zaznaczone na rysunku nr 9 zielonym prostokątem). Można łatwo rozwiązać ten problem, ponieważ interesuje nas sytuacja, kiedy danej z kolumny pierwszej są mniejsze od danych z kolumny drugiej. Wystarczy dodać kolumnę warunkową z karty Dodaj kolumnę (rys. nr 10)

rys. nr 10 — Dodaj kolumnę warunkową

Otworzy nam się okno Dodawania kolumny warunkowej, gdzie musimy określić Nazwę kolumny – Pary (punkt nr 1 na rysunku nr 11), Następnie wypełnić warunek w punkcie 2 na rysunku nr 11. Ważne jest, że jeśli warunek zostanie spełniony to chcemy otrzymać wartość z pierwszej kolumny, natomiast jeśli nie zostanie spełniony chcemy otrzymać wartość null (punkt nr 3 na rysunku nr 11). Tak dobrane parametry kolumny warunkowej zatwierdzamy przyciskiem OK.

rys. nr 11 — okno dodawania kolumny warunkowej

Konkretnie chcemy otrzymać wartość z pierwszej kolumny tylko wtedy kiedy wartość z pierwszej kolumny jest mniejsza od wartości z drugiej kolumny. Otrzymamy dane przedstawione na rysunku nr 12. Nie jest to jeszcze wynik docelowy, bo chcemy otrzymać parę, ale ważne jest, że para pokazuje się dla jednej sytuacji w pierwszym zakupie.

rys. nr 12 — Dane z kolumną warunkową

Aby otrzymać jako wynik parę, musimy wprowadzić zmiany w zapisie formuły w pasku formuły. Dołożyć z ogranicznikiem wartość z kolumny drugiej. Zapis formuły został przedstawiony na rysunku nr 13 (zieloną strzałką zaznaczono wprowadzoną zmianę). Wprowadzoną zmianę zatwierdzamy przyciskiem Enter.


rys. nr 13 — zapis formuły 

W wyniku otrzymamy błąd ponieważ nasze dane zostały zmienione na liczby. Aby obejść ten problem musielibyśmy użyć funkcji Number.ToText. My użyjemy łatwiejszego sposobu – z zastosowanych kroków usuniemy krok zmiany typu danych z tekstu na liczby – Zmieniono typ i Zmieniono typ1 (rys. nr 14).

rys. nr 14 — usunięcie kroków

Otrzymamy wtedy prawidłowe dane przedstawione na rysunku nr 15.

rys. nr 15 — Dane w formie tekstowej

Pozostaje nam pogrupować te produkty po ilości, użyjemy do tego polecenia Grupowanie według (punkt nr 2 na rysunku nr 16) z karty Narzędzia główne.

rys. nr 16 — Grupowanie według

Otworzy się nam okno Grupowania według, w którym musimy określić nazwę nowej kolumny i rodzaj operacji jaką chcemy wykonać. Wybrane parametry zatwierdzamy przyciskiem OK (rys. nr 17).

rys. nr 17 — Okno Grupowania według

Otrzymamy dane przedstawione na rysunku nr 18.

rys. nr 18 — pogrupowane dane

W danych tych wiele razy powtórzyła nam się wartość null, więc wystarczy przefiltrować dane, żeby odfiltrować wyniki dla null. Klikamy na ikonkę trójkącika w nazwie kolumny Pary i odznaczamy w filtrach null (rys. nr 19).

rys. nr 19 — Odfiltrowanie danych dla null

W kolejnym etapie chcemy posortować dane malejąco w obu kolumnach. Korzystamy z podręcznego menu po naciśnięciu ikonki trójkącika w tytule kolumn, gdzie wybieramy polecenie Sortuj malejąco (rys. nr 20).

rys. nr 20 — Sortuj malejąco

Otrzymamy końcowe dane, które możemy załadować do Excela. Korzystamy z polecenia Zamknij i załaduj do z karty Narzędzia główne (rys. nr 21).

rys. nr 21 — Zamknij i załaduj do

W Excelu otworzy nam się okno Ładowania do, gdzie ustawiamy parametry wstawianych danych. Sposób wyświetlania danych jako tabela i miejsce wstawienia danych jako istniejący arkusz i wskazujemy konkretną komórkę. Powyższe parametry zatwierdzamy przyciskiem Załaduj (rys. nr 22).

rys. nr 22 — Okno Ładowanie do

Otrzymamy dane wstawione do Excela przedstawione na rysunku nr 23.

rys. nr 23 — dane wczytane do Excela 

Książka Mistrz Excela + promo na 35 urodziny

Chcę Cię poinformować, że w końcu udało mi zebrać środki i dopiąć wszystkich formalności, żeby powstało II wydanie mojej książki Mistrz Excela (zostałem wydawcą)
II wydanie jest wzbogacone o rozdział (nr 22) wprowadzający w genialny dodatek (Power Query) do Excela służący do pobierania, łączenia i wstępnej obróbki danych z wielu źródeł.

Książka Mistrz Excela to historia Roberta, który musi poznać dobrze Excela na potrzeby nowej pracy. Książka jest napisana w formie rozmów Roberta z trenerem, dzięki temu jest przystępniejsza w odbiorze niż standardowe książki techniczne pisane językiem "wykładowym".

Rozmowy zostały podzielone na 22 tematyczne rozdziały, które krok po kroku wprowadzają Cię w tajniki Excela. Robert zaczyna naukę od poznania ciekawych aspektów sortowania i filtrowania danych w Excelu, przechodzi przez formatowanie warunkowe, tabele przestawne, funkcje wyszukujące i wiele innych tematów, by na koniec poznać wstępne informacje o VBA i Power Query.
A wszystko to na praktycznych przykładach i z dużą ilością zdjęć.

Żebyś mógł śledzić postępy Roberta, do książki dołączone są pliki Excela, na których pracuje Robert.

Aktualnie w promocji urodzinowej możesz mieć Mistrza Excela w obniżonej cenie, jeśli tylko wpiszesz kod 35URODZINY
https://exceliadam.pl/produkt/ksiazka-mistrz-excela

Na powyższej stronie znajdziesz dokładniejszy opis książki, opinie osób, które kupiły I wydanie oraz podgląd pierwszego rozdziału książki, żeby upewnić się, czy forma rozmów przy nauce Excela jest dla Ciebie.
Jeśli książka Ci się spodoba poinformuj o niej swoich znajomych. 

W ramach promocji na moje 35 urodziny możesz też mieć każdy z moich kursów wideo na Udemy za zaledwie 35 zł. Linki do kursów zamieszczam poniżej. W każdym kursie są udostępnione filmy do podglądu, byś mógł się przekonać czy dany kurs jest dla Ciebie.

Power Query
https://www.udemy.com/course/mistrz-power-query/?couponCode=35URODZINY

Mistrz Excela
https://www.udemy.com/mistrz-excela/?couponCode=35URODZINY

Dashboardy
https://www.udemy.com/course/excel-dashboardy/?couponCode=35URODZINY

Mistrz Formuł
https://www.udemy.com/course/excel-mistrz-formul/?couponCode=35URODZINY

VBA
https://www.udemy.com/course/excel-vba-makra/?couponCode=35URODZINY

Microsoft Power BI
https://www.udemy.com/course/power-bi-microsoft/?couponCode=35URODZINY

Książka Mistrz Excela reklama