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
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
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
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
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
Otrzymamy
podzielone dane przedstawione na rys. nr 9.
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
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
Otrzymamy
pogrupowane dane przedstawione na rys. nr 12.
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
Otrzymamy
kolumnę Paczki przedstawioną na rys. nr 14.
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
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
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
Otrzymamy posortowaną
unikatową listę produktów przedstawioną na rys. nr 18.
rys. nr 18 — posortowana unikatowa lista produktów
Ponadto
zmienimy nazwę naszej kolumny na Produkty (rys. nr 19).
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
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
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
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ę
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
Otrzymamy
pary sprzedawca – produkty. W kolumnie Produkty są tabele z listą unikatowych
produktów (rys. nr 25).
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
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
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
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
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
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
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ń
Otrzymamy
listę sprzedawców, produktów oraz ilość sprzedanych produktów (rys. nr 34).
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
Po zmianie
nazwy kolumny otrzymamy dane przedstawione na rys. nr 36.
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
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
Otrzymamy
zmienione dane przedstawione na rys. nr 39.
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
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
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
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)
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
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
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.
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.
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.
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.
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.
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.