Power Query 51 — Matura z informatyki 2018 — Największe zasilenie zad 5.1

W dzisiejszym poście zajmiemy się rozwiązaniem zadań z Matury 2018 z informatyki na prośbę użytkownika pod kursem Mistrz Excela. Kiedy przyjrzałem się zadaniom uznałem, że może to być ciekawy temat. Zadania są dostępne pod linkiem https://gloswielkopolski.pl/matura-2018-informatyka-odpowiedzi-arkusze-cke-zadania-poziom-rozszerzony/ga/13168512/zd/28926308#matura

Treść zadań została przedstawiona na rys. nr 1.

rys. nr 1 - zadania z matury 2018 z informatyki
rys. nr 1 — zadania z matury 2018 z informatyki

Zadanie 5.1 rozwiążemy przy użyciu Power Query. W kolejnych odcinkach omówimy rozwiązanie pierwszych trzech zadań, ponieważ dużo łatwiej je rozwiązać w tym programie niż w Excelu. Zadanie nr 5.4 bardzo ciężko rozwiązać w Power Query, dużo prostsze rozwiązanie możemy znaleźć w Excelu, dlatego je pominiemy.

Mamy plik, w którym podane są daty oraz ilość metrów sześciennych wpływających do zbiornika. Zadanie 5.1 polega na wyznaczeniu roku, w którym zbiornik retencyjny został zasilony największą liczbą metrów sześciennych wody (rys nr 2).

rys. nr 2 - Treść zadania 5.1
rys. nr 2 — Treść zadania 5.1

Do rozwiązania zadania potrzebujemy danych z pliku woda.txt, które musimy pobrać do Power Query. W tym celu wybieramy polecenie Z pliku tekstowego/CSV z karty Dane (rys. nr 3).

rys. nr 3 - polecenie Z pliku tekstowego/CSV
rys. nr 3 — polecenie Z pliku tekstowego/CSV

Otworzy nam się okno Importowania danych, w którym wybieramy interesujący nas plik (woda.txt), a następnie nasz wybór zatwierdzamy klikając dwukrotnie na jego nazwę (rys. nr 4).

rys. nr 4 - Okno importowania danych
rys. nr 4 — Okno importowania danych

Otworzy nam się okno z wczytanymi danymi, rozdzielonymi na dwie kolumny. W danych tych w pierwszej kolejności jest data, a następnie po znaku tabulacji mamy podaną ilość wody. Power Query bez problemu rozpoznaje ogranicznik, czyli że dane należy oddzielić w miejscu wystąpienia znaku tabulacji na dwie kolumny. Możemy zauważyć że nasze dane mają domyślne nagłówki więc będziemy musieli to odpowiednio przekształcić. Dane te zatwierdzamy przyciskiem Przekształć dane (rys. nr 5).

rys. nr 5 - Okno z danymi które musimy przekształcić
rys. nr 5 — Okno z danymi które musimy przekształcić

Otworzy nam się Edytor zapytań Power Query z wczytaną tabelą z pliku woda.txt. W pierwszym kroku zmienimy nagłówki kolumn klikając dwukrotnie na ich nazwy i ręcznie wpisując odpowiednie nazwy. I tak w pierwszej kolumnie chcemy mieć tytuł Data a w drugiej Woda m3 (rys. nr 6).

rys. nr 6 - Edytor zapytań Power Query z wczytanymi danymi
rys. nr 6 — Edytor zapytań Power Query z wczytanymi danymi

Gdybyśmy rozwiązywali zadanie w Excelu stworzylibyśmy tabelę przestawną a następnie skorzystali z grupowania po roku. W Power Query również mamy opcję grupowania, lecz nie grupuje ona automatycznie po datach. Musimy z daty wyciągnąć rok.

Ze względu na to, że do każdego z zadań jakie zostaną rozwiązane w tym poście będziemy potrzebować tych samych danych bazowych, klikamy na nazwę naszego zapytania prawym przyciskiem myszy i z podręcznego menu wybieramy polecenie Odwołanie (rys. 7).

rys. nr 7 - tworzenie nowego zapytania odwołującego się do poprzedniego zapytania
rys. nr 7 — tworzenie nowego zapytania odwołującego się do poprzedniego zapytania

Otrzymamy kolejne zapytanie (Woda(4)) na liście Zapytań, które odwołuje się do zapytania Woda(3). Właśnie na tym zapytaniu będziemy wykonywać kolejne etapy, aby nie utracić danych wejściowych i nie musieć wczytywać ich jeszcze raz. Naszym celem jest przekształcenie kolumny z datą, aby otrzymać tylko rok. W tym celu rozwijamy polecenie Data (punkt 2 na rys. nr 8) z karty Przekształć (punkt 1), a następnie rozwijamy polecenie Rok (punkt 3) i wybieramy polecenie Rok (punkt 4).

rys. nr 8 - ścieżka dostępu do polecenia Rok
rys. nr 8 — ścieżka dostępu do polecenia Rok

Otrzymamy przekształcone dane przedstawione na rys. nr 9, gdzie w kolumnie Data mamy tylko rok. Co istotne nasze przekształcenie wykonaliśmy z karty Przekształć a nie z karty Dodaj kolumnę, gdzie mamy analogiczne polecenie. Z tą jednak różnicą, że gdybyśmy użyli polecenia Rok z karty Dodaj kolumnę, otrzymalibyśmy dodatkową kolumnę z rokiem.

rys. nr 9 - przekształcone dane
rys. nr 9 — przekształcone dane

Na tym etapie 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 w polu Nazwa nowej kolumny wpisujemy np. Wpłynęło, w polu Operacja wybieramy działanie Suma (chcemy otrzymać sumę przepływu wody z każdego roku) a w polu Kolumna wybieramy kolumnę Woda m3. Tak ustawione parametry grupowania zatwierdzamy przyciskiem OK (rys. nr 11).

rys. nr 11 - parametry grupowania ustawiane w oknie Grupowania według
rys. nr 11 — parametry grupowania ustawiane w oknie Grupowania według

Otrzymamy dane pogrupowane (zsumowane) według poszczególnych lat przedstawione na rys. nr 12.

rys. nr 12 - pogrupowane (zsumowane) dane po latach
rys. nr 12 — pogrupowane (zsumowane) dane po latach

Z tych danych interesuje nas rok, w którym wpłynęło najwięcej wody. W Power Query możemy znaleźć największą wartość sortując dane od Z do A za pomocą przycisku sortowania na karcie Narzędzia główne (przycisk na oznaczony strzałką na rys. nr 13).

rys. nr 13 - polecenie sortowania danych od Z do A
rys. nr 13 — polecenie sortowania danych od Z do A

Otrzymamy posortowane dane, w których od razu widać w którym roku wpłynęło najwięcej wody do zbiornika (rys. nr 14).

rys. nr 14-  dane posortowane od największej do najmniejszej
rys. nr 14- dane posortowane od największej do najmniejszej

Aby w Power Query być bardziej precyzyjnym i usunąć zbędne dane możemy rozwinąć polecenie Zachowaj wiersze (punkt 2 na rys. nr 15) z karty Narzędzia główne (punkt 1), a następnie wybrać polecenie Zachowywanie pierwszych wierszy (punkt 3).

rys. nr 15 - ścieżka dostępu do polecenia Zachowywanie pierwszych wierszy
rys. nr 15 — ścieżka dostępu do polecenia Zachowywanie pierwszych wierszy

Otworzy nam się okno Zachowywania pierwszych wierszy, gdzie w polu Liczba wierszy wpisujemy ilość wierszy, jaką chcemy zachować – w naszym przykładzie 1. Tak ustawioną ilość wierszy zatwierdzamy przyciskiem OK (rys. nr 16).

rys. nr 16 - okno Zachowywania pierwszych wierszy
rys. nr 16 — okno Zachowywania pierwszych wierszy

Otrzymamy pierwszy wiersz z rokiem 2015, czyli z najwyższym przepływem rocznym przedstawiony na rys. nr 17.

rys. nr 17 - największy przepływ roczny
rys. nr 17 — największy przepływ roczny

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

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

Otworzy nam się okno Importowania danych. W naszym przypadku mam dwa zapytania więc Power Query nie pozwoli nam wstawić tabeli do arkusza. Możemy jedynie wstawić dane jako połączenie (rys. nr 19).

rys. nr 19 - wstawianie danych z zapytania jako połączenie
rys. nr 19 — wstawianie danych z zapytania jako połączenie

Otrzymamy wczytane zapytania Woda(3) i Woda(4) jako połączenie. Pierwsze zapytanie pobrało dane z pliku tekstowego, natomiast drugie zapytanie przechowuje wyniki naszych przekształceń (rys. nr 20).

rys. nr 20 - zapytanie Woda (4) przechowujące wyniki naszych przekształceń jako połączenie
rys. nr 20 — zapytanie Woda (4) przechowujące wyniki naszych przekształceń jako połączenie

Klikamy prawym przyciskiem myszy na nazwę zapytania Woda(4), które przechowuje wynik naszych działań i z podręcznego menu wybieramy polecenie Załaduj do (rys. nr 21).

rys. nr 21 - polecenie Załaduj do z podręcznego menu
rys. nr 21 — polecenie Załaduj do z podręcznego menu

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

rys. nr 22 - okno Importowania danych
rys. nr 22 — okno Importowania danych

Otrzymamy wynik naszego zadania załadowany do Excela i przedstawiony na rys. nr 23.

rys. nr 23 - dane załadowane do Excela
rys. nr 23 — dane załadowane 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

Excel Power Query 50 — Automatyczne wybieranie kolumn z tabeli z listy

W tym poście zajmiemy się automatycznym wybieraniem kolumn z tabeli z listy.

W Power Query odcinku 48 pokazywaliśmy jak ręcznie z dużej ilości danych wybrać konkretne kolumny ( https://www.youtube.com/watch?v=sy0ZAca-0qw ). Pod tym postem otrzymaliśmy pytanie od widza, jak to zrobić bazując na liście, czyli zakładamy że mamy listę kolumn, które chcemy wyciągnąć z większej tabeli z danymi.

Zadanie to wykonamy na przykładowych danych z rysunku nr 1.

rys. nr 1 - Przykładowe dane
rys. nr 1 — Przykładowe dane

Okazuje się to bardzo proste. Wystarczy że mamy listę kolumn, których potrzebujemy. Ustawiamy aktywną komórkę w obszarze tej listy i zaczytujemy dane do Power Query za pomocą polecenia Z tabeli/ zakresu z karty Dane (rys. nr 2).

rys. nr 2 - Z tabeli/zakresu
rys. nr 2 — Z tabeli/zakresu

Otworzy nam się Edytor zapytań Power Query z wczytaną tabelą tListaKolumn, która zawiera wartości null w pustych komórkach. Usunięciem tych wartości zajmiemy się w późniejszym etapie (rys. nr 3).

rys. nr 3 - Edytor zapytań Power Query z wczytaną tabelą tListaKolumn
rys. nr 3 — Edytor zapytań Power Query z wczytaną tabelą tListaKolumn

Co istotne nasze zapytanie zostało wczytane jako tabela, co widać w Liście zapytań (zaznaczone czerwoną strzałką na rys. nr 4).

rys. nr 4 - dane wczytane do Power Query jako Tabela
rys. nr 4 — dane wczytane do Power Query jako Tabela

Do dalszych działań potrzebujemy listy a nie tabeli. W tym celu wybieramy ikonkę polecenia Konwertuj na listę z karty Przekształć (rys. nr 5).

rys. nr 5 - polecenie Konwertuj na listę
rys. nr 5 — polecenie Konwertuj na listę

Otrzymamy przekonwertowane dane na listę przedstawione na rys. nr 6.

rys. nr 6 - Przekonwertowane dane na listę
rys. nr 6 — Przekonwertowane dane na listę

Na tym etapie pracy wykonaliśmy wszystko, co było potrzebne z naszymi danymi. Tak przygotowane dane musimy załadować do Excela za pomocą polecenia Zamknij i załaduj do z karty Narzędzia główne (rys. nr 7).

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

Otworzy się nam okno Importowania danych, gdzie wybieramy sposób wyświetlania danych jako Połączenie, czyli zaznaczamy checkbox przy opcji Utwórz tylko połączenie. Tak ustawione opcje importowania danych zatwierdzamy przyciskiem OK (rys. nr 8).

rys. nr 8 - okno Importowania danych
rys. nr 8 — okno Importowania danych

W kolejnym etapie pobieramy właściwe połączenie, które w naszym przykładzie jest plikiem CSV. Wybieramy polecenie Z pliku tekstowego/CSV z karty Dane (rys. nr 9).

rys. nr 9 - polecenie Z pliku tekstowego /CSV
rys. nr 9 — polecenie Z pliku tekstowego /CSV

Otworzy się nam okno Importowania danych, gdzie musimy znaleźć interesujący nas plik, zaznaczyć go i zatwierdzić nasz wybór przyciskiem OK (rys. nr 10).

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

W pliku CSV mamy dużą ilość danych, z których chcemy wyciągnąć tylko kolumny z naszej listy. Otworzy nam się okno z tymi danymi, gdzie klikamy przycisk Edytuj, aby przejść do edycji tego zapytania (rys. nr 11).

rys. nr 11 - polecenie Edytuj zapytanie
rys. nr 11 — polecenie Edytuj zapytanie

Otworzy nam się edytor zapytań Power Query z wczytanymi wszystkimi danymi przedstawiony na rys. nr 12.

rys. nr 12 - Edytor zapytań z wczytanymi danymi z pliku CSV
rys. nr 12 — Edytor zapytań z wczytanymi danymi z pliku CSV

Przykładowo możemy usunąć niepotrzebne kolumny, czyli zaznaczyć interesujące nas kolumny, następnie kliknąć prawym przyciskiem myszy na dowolną z nich i z podręcznego menu wybrać polecenie Usuń inne kolumny (rys. nr 13).

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

Nie ma znaczenia, które kolumny usuniemy, o ile Power Query użyje funkcji Table.SelectColumns, która ma w zapisie formuły listę kolumn, które chcemy zachować (rys. nr 14).

rys. nr 14 - argumenty funkcji Table.SelectColumns
rys. nr 14 — argumenty funkcji Table.SelectColumns

W Power Query możemy się odwołać do innego zapytania, czyli w zapisie funkcji zastąpić listę kolumn, które zostały wpisane automatycznie, zapytaniem z listą, które przygotowaliśmy sobie na początku pracy (zapytanie tListaKolumn). Zapis funkcji powinien wyglądać następująco: (rys. nr 15)

=Table.SelectColumns(#"Zmieniono typ", tListaKolumn)

rys. nr 15 - Zapis funkcji Table.SelectColumns z odwołaniem do zapytania z listą
rys. nr 15 — Zapis funkcji Table.SelectColumns z odwołaniem do zapytania z listą

Po zatwierdzeniu formuły otrzymamy błąd, wynikający z wartości null na liście (rys. nr 16). Power Query nie może przekonwertować wartości null.

rys. nr 16 - Błąd funkcji wynikający z wartości null na liście
rys. nr 16 — Błąd funkcji wynikający z wartości null na liście

Aby usunąć błąd przechodzimy do zapytania tListaKolumn, następnie co istotne w kroku poprzedzającym krok Lista wybór (krok Zmieniono typ), nakładamy na dane filtr. Rozwijamy ikonkę trójkąta w nagłówku kolumny z następnie wybieramy polecenie Usuń puste (rys. nr 17).

rys. nr 17 - Filtrowanie listy za pomocą polecenia Usuń puste
rys. nr 17 — Filtrowanie listy za pomocą polecenia Usuń puste

Pojawi nam się komunikat Wstawianie kroku, w którym musimy zatwierdzić nasze działanie przyciskiem Wstaw (rys. nr 18).

rys. nr 18 - Komunikat o wstawieniu nowego kroku
rys. nr 18 — Komunikat o wstawieniu nowego kroku

Dzięki temu krokowi wartości null zostały usunięte z listy. Otrzymamy listę przedstawioną na rys. nr 19.

rys. nr 19 - Odfiltrowana lista kolumn
rys. nr 19 — Odfiltrowana lista kolumn

Nasza lista potrzebnych kolumn nie zawiera już wartości null i dzięki temu jak przejdziemy do naszego zapytania FoodMart Klienci, błędu nie będzie. Wpisana wcześniej formuła z odwołaniem do zapytania tListaKolumn zadziała prawidłowo i otrzymamy dane zawierające kolumny z listy (rys. nr 20).

rys. nr 20 - prawidłowe działanie funkcji Table.SelectColumns
rys. nr 20 — prawidłowe działanie funkcji Table.SelectColumns

Tak przygotowane dane możemy załadować do Excela za pomocą polecenie Zamknij i załaduj do z karty Narzędzia główne (analogicznie jak na rys. nr 7).

Otworzy nam się okno Importowania danych, gdzie wybieramy sposób wyświetlania danych jako Tabela, następnie wskazujemy miejsce wstawienia danych – Istniejący arkusz oraz wskazujemy konkretną komórkę. Tak ustawione parametry wstawienia danych do Excela zatwierdzamy przyciskiem OK (rys. nr 21).

rys. nr 21 - Okno importowania danych
rys. nr 21 — Okno importowania danych

Otrzymamy dane wczytane do Excela zawierające tylko kolumny z listy, przedstawione na rys. nr 22.

rys. nr 22 - Dane zaimportowane do Excela
rys. nr 22 — Dane zaimportowane do Excela

Tabela wczytana z Power Query działa dynamicznie. Przykładowo możemy zmienić nasze dane w liście kolumn (zmieniamy kolumnę Nazwisko na Adres i dokładamy nową kolumnę Liczba dzieci), następnie odświeżyć dane z Power Query klikając prawym przyciskiem myszy na dowolną komórkę z obszaru tabeli i wybierając polecenie Odśwież (rys. nr 23).

rys. nr 23 - polecenie Odśwież
rys. nr 23 — polecenie Odśwież

Po odświeżeniu danych otrzymamy zmienione dane, w których kolumna Nazwisko została zastąpiona kolumną Adres i została dołożona nowa kolumna Liczba dzieci (rys. nr 24).

rys. nr 24 - automatycznie zaktualizowane dane
rys. nr 24 — automatycznie zaktualizowane dane

Podsumowując stworzyliśmy tabelę z kolumnami z listy, która działa dynamicznie i zawiera kolumny, które aktualnie są na liście.


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

Excel Power Query 49 — Błąd przy pobieraniu nazwanego zakresu, który jest filtrowany

W dzisiejszym poście zajmiemy się błędem, który pojawia się przy pobieraniu danych, kiedy wcześniej nałoży się filtr. Załóżmy, że mamy w przykładowych danych zakres, który nie jest tabelą.  Zaznaczamy ten zakres i będziemy chcieli go nazwać — po prostu NazwanyZakres (w miejscu oznaczonym strzałką na rys. nr 1).

rys. nr 1 - nazywanie zaznaczonego zakresu
rys. nr 1 — nazywanie zaznaczonego zakresu

Nazwanie zakresu pozwala nam wrócić do niego z każdego miejsca w arkuszu (z każdej komórki) rozwijając okno, w którym nazywaliśmy ten zakres (rys. nr 2).

rys. nr 2 - powrót do nazwanego zakresu z każdego miejsca w arkuszu
rys. nr 2 — powrót do nazwanego zakresu z każdego miejsca w arkuszu

Kiedy mamy nazwany zakres możemy za pomocą polecenia Z tabeli/zakresu z karty Dane pobrać go do Power Query (rys. nr 3).

rys. nr 3 - pobieranie danych do Power Query za pomocą polecenia Z tabeli/zakresu
rys. nr 3 — pobieranie danych do Power Query za pomocą polecenia Z tabeli/zakresu

W takim przypadku Power Query nie ma żadnych problemów, pobiera dane prawidłowo. Otworzy nam się Edytor zapytań z wczytanym zaznaczonym zakresem (rys. nr 4).

rys. nr 4 - edytor zapytań z wczytanym zakresem z Excela
rys. nr 4 — edytor zapytań z wczytanym zakresem z Excela

Problem pojawia się jeśli na ten nazwany zakres w Excelu nałożymy filtr, a następnie za pomocą polecenia Z tabeli/zakresu z karty Dane wczytamy ten zakres do Power Query. Otworzy nam się edytor zapytań Power Query, ale z błędem (rys. nr 5).

rys. nr 5 - edytor zapytań z wczytanym zaznaczonym zakresem z błędem
rys. nr 5 — edytor zapytań z wczytanym zaznaczonym zakresem z błędem

Błąd wynika z tego, że Power Query nie odczytuje zakresu danych tylko próbuje odczytać filtr, który jest nałożony na ten zakres (rys. nr 6).

rys. nr 6 - próba odczytania danych nie z zaznaczonego zakresu a z nałożonego filtru
rys. nr 6 — próba odczytania danych nie z zaznaczonego zakresu a z nałożonego filtru

Możemy przyjrzeć się dokładniej funkcji Excel.CurrentWorkbook, gdzie widzimy, że przy nazwie filtru jest błąd, ponieważ Power Query próbuje pobrać tabelę, której nazwa nie istnieje (rys. nr 7).

rys. nr 7 - Próba pobrania danych z tabeli, której nazwa nie istnieje
rys. nr 7 — Próba pobrania danych z tabeli, której nazwa nie istnieje

Jako tester lubię sobie czasem poeksperymentować, poszukać sposobu na obejście tego błędu. W innym pliku rozwijamy polecenie Pobierz dane (punkt 2 na rys. nr 8) z karty Dane (punkt 1), następnie rozwijamy polecenie Z pliku (punkt 3) i wybieramy Ze skoroszytu (punkt 4).

rys. nr 8 - ścieżka dostępu do polecenia Ze skoroszytu
rys. nr 8 — ścieżka dostępu do polecenia Ze skoroszytu

Otworzy nam się okno Importowanie danych, gdzie wybieramy nasz plik klikając na niego dwa razy (rys. nr 9).

rys. nr 9 - okno Importowania danych
rys. nr 9 — okno Importowania danych

Otworzy nam się okno Nawigator, gdzie możemy podejrzeć zawartość skoroszytu, czyli jego poszczególne elementy (rys. nr 10).

rys. nr 10 -  okno Nawigator, gdzie możemy podejrzeć zawartość skoroszytu
rys. nr 10 — okno Nawigator, gdzie możemy podejrzeć zawartość skoroszytu

Jeśli zaznaczymy sobie cały plik Excela i wciśniemy przycisk Edytuj, to zobaczymy wszystkie elementy i zakresy z tego pliku. Otworzy nam się edytor zapytań Power Query z listą tych wszystkich elementów. Tutaj Power Query użyje innej funkcji Excel.Workbook (rys. nr 11).

rys. nr 11 - Edytor zapytań z listą wszystkich elementów znajdujących się w skoroszycie
rys. nr 11 — Edytor zapytań z listą wszystkich elementów znajdujących się w skoroszycie

W naszych danych nie interesują nas arkusze, czyli odfiltrujemy kolumnę Kind. W tym celu klikamy na trójkąt przy nazwie kolumny Kind i odznaczamy checkbox przy nazwie Sheet (czyli arkusz). Filtr zatwierdzamy przyciskiem OK (rys. nr 12).

rys. nr 12 - nakładanie filtru (odfiltrowanie arkuszy)
rys. nr 12 — nakładanie filtru (odfiltrowanie arkuszy)

Otrzymamy tabelę tylko ze zdefiniowanymi nazwami przedstawioną na rys. nr 13.

rys. nr 13 - tabela ze zdefiniowanymi nazwami
rys. nr 13 — tabela ze zdefiniowanymi nazwami

Interesuje nas jeszcze kolumna Hidden, która pokazuje które elementy są ukryte. Filtr nałożony na dane jest ukryty, natomiast nazwany zakres jest widoczny. Przy pobieraniu danych Power Query sięga niestety po tą tabelę, która jest ukryta (rys. nr 14).

rys. nr 14 -  elementy ukryte - Hidden
rys. nr 14 — elementy ukryte — Hidden

W takim rozwiązaniu Power Query nie ma problemu i poprawnie odczytuje dane.

Jak możemy obejść ten błąd przy standardowym pobieraniu danych do Power Query?

Wyłączamy filtr w naszym nazwanym zakresie. Jest on niewidoczny ale dalej się tam znajduje. Stworzyliśmy tabelę pomocniczą z zakresem do filtrowania i właśnie na nią nakładamy ten filtr za pomocą skrótu klawiszowego Ctrl+Shift+L (rys. nr 15).

rys. nr 15 - nakładanie filtru za pomocą skrótu klawiszowego Ctrl+Shift+L
rys. nr 15 — nakładanie filtru za pomocą skrótu klawiszowego Ctrl+Shift+L

Teraz jeśli pobierzemy dane z tego zakresu za pomocą polecenia Z tabeli/zakresu z karty Dane, otworzy nam się edytor zapytań Power Query z wczytanym zakresem (rys. nr 16).

rys. nr 16 - Edytor zapytań z wczytanym zakresem
rys. nr 16 — Edytor zapytań z wczytanym zakresem

W kroku Źródło w Zastosowanych krokach możemy podejrzeć sobie funkcję użytą przez Power Query. Możemy zauważyć, że dalej pojawia nam się błąd mimo, że dane zostały wczytane (rys. nr 17).

rys. nr 17 - funkcja Excel.CorrentWorkbook
rys. nr 17 — funkcja Excel.CorrentWorkbook

Sposobem na zlikwidowanie błędu jest zmiana właściwości zakresu w VBA (rys. nr 18).

rys. nr 18 - zmiana właściwości zakresu w VBA
rys. nr 18 — zmiana właściwości zakresu w VBA

Wynika z tego, że funkcja Power Query źle odwołuje się do zakresu i stąd wynika problem (zły zapis zakresu – pojedynczy cudzysłów).

Podsumowując celem tego filmu było pokazanie, że Power Query nie zawsze chce zwracać dane, których potrzebujesz. Przede wszystkim w sytuacji kiedy nakładasz filtr na nazwany zakres.


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

Excel Power Query 48 — Wybieranie kolumn

W dzisiejszym poście nauczymy się jak usunąć lub wybrać konkretne kolumny z danych. W przykładowych danych mamy zapożyczoną z internetu tabelę z dużą ilością kolumn z informacjami (rys. nr 1).

rys. nr 1 - Przykładowe dane
rys. nr 1 — Przykładowe dane

Nie zawsze potrzebujemy aż tyle danych ze wszystkich tych kolumn. Kiedy pobieramy takie dane do Power Query, (w naszym przykładzie z pliku CSV) to może być ciężko wybrać tylko te, które nas interesują lub usunąć konkretne z nich. W celu pobrania danych wybieramy polecenie Z pliku tekstowego/CSV z karty Dane (rys. nr 2).

rys. nr 2 - polecenie Z pliku tekstowego/CSV
rys. nr 2 — polecenie Z pliku tekstowego/CSV

Otworzy nam się okno Importowania danych, w którym musimy znaleźć lokalizację naszego pliku, a następnie dwa razy na niego kliknąć lub nasz wybór zatwierdzić przyciskiem Otwórz (rys. nr 3).

rys. nr 3 - okno Importowania danych
rys. nr 3 — okno Importowania danych

Otworzy nam się okno z danymi, gdzie możemy wybrać konkretne dane, ale jest to problematyczne przy tak dużej ich ilości. Dlatego klikamy przycisk Edytuj (rys. nr 4).

rys. nr 4 - okno z danymi, z których możemy wybrać konkretne dane
rys. nr 4 — okno z danymi, z których możemy wybrać konkretne dane

Power Query posiada funkcjonalność, która ułatwia takie operacje. Otworzy nam się Edytor zapytań Power Query z wczytaną tabelą z danymi.

Nie znając tej funkcjonalności możemy zaznaczyć kolumny, które chcemy zostawić przytrzymując klawisz Ctrl, a następnie kliknąć prawym przyciskiem myszy i z podręcznego menu wybrać polecenie Usuń inne kolumny (rys. nr 5).

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

W wyniku tej operacji otrzymamy tylko zaznaczone wcześniej kolumny (rys. nr 6).

rys. nr 6 - kolumny pozostałe po usunięciu pozostałych
rys. nr 6 — kolumny pozostałe po usunięciu pozostałych

To polecenie sprawdza się wtedy kiedy tych kolumn jest mało i łatwo możemy znaleźć te, które nas interesują. Zatem usuwamy ostatni krok (Usunięto inne kolumny) z Zastosowanych kroków.

Kiedy mamy kilkadziesiąt kolumn dużo łatwiejszym sposobem jest wykorzystanie polecenia Wybieranie kolumn z karty Narzędzia główne (rys. nr 7).

rys. nr 7 - polecenie Wybieranie kolumn z karty Narzędzia główne
rys. nr 7 — polecenie Wybieranie kolumn z karty Narzędzia główne

Otworzy nam się okno Wybierania kolumn, gdzie mamy listę wszystkich kolumn w tabeli i możemy wybrać nazwy kolumn, których potrzebujemy za pomocą zaznaczenia/ odznaczenia odpowiednich checkboxów (rys. nr 8). Po wybraniu odpowiednich checkboxów nasz wybór zatwierdzamy przyciskiem OK.

rys. nr 8 - Okno wybieranie kolumn
rys. nr 8 — Okno wybieranie kolumn

Wybraliśmy takie same kolumny jak w pierwszym przykładzie, więc otrzymamy tabelę przedstawioną na rys. nr 6. Tak przygotowane dane możemy załadować do Excela za pomocą polecenia Zamknij i załaduj z karty Narzędzia główne (rys. nr 9).

rys. nr 9 - polecenie Zamknij i załaduj
rys. nr 9 — polecenie Zamknij i załaduj

Dane zostały załadowane tylko jako połączenie, więc klikamy prawym przyciskiem myszy na nazwę zapytania w panelu bocznym Zapytania i połączenia i z podręcznego menu wybieramy polecenie Załaduj do (rys. nr 10).

rys. nr 10 - polecenie Załaduj do z podręcznego menu
rys. nr 10 — polecenie Załaduj do z podręcznego menu

Otworzy nam się okno Importowania danych, gdzie wybieramy sposób wyświetlania danych jako tabela oraz wskazujemy miejsce wstawienia danych, w naszym przykładzie Istniejący arkusz i wskazujemy konkretną komórkę. Tak ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 11).

rys. nr 11 - okno Importowania danych
rys. nr 11 — okno Importowania danych

Otrzymamy wybrane przez nas kolumny załadowane do Excela przedstawione na rys. nr 12.

rys. nr 12 - wybrane dane wczytane do Excela
rys. nr 12 — wybrane dane wczytane do Excela

W pierwszym arkuszu mamy konkretne cztery kolumny, które były nam potrzebne, a w kolejnym arkuszu możemy załadować inne kolumny z tego samego pliku CSV. Przechodzimy do Arkusza 2 i analogicznie jak w przykładzie powyżej korzystając z polecenia Z pliku tekstowego/CSV z karty Dane możemy pobrać dane jeszcze raz, z tym że tym razem wybrać inne kolumny, które nas interesują (rys. nr 2).

Załóżmy, że tym razem będzie nas interesował adres klienta, więc po zaczytaniu danych do Power Query rozwijamy polecenie Wybieranie kolumn (punkt 2 na rys. nr 13) z karty Narzędzia główne (punkt 1), a następnie wybieramy polecenie Przejdź do kolumny (punkt 3).

rys. nr 13 - polecenie Przejdź do kolumny
rys. nr 13 — polecenie Przejdź do kolumny

Otworzy nam się okno Przejdź do kolumny, gdzie możemy wybrać nazwę konkretnej kolumny i przeskoczyć do niej. Polecenie to przydaje się w sytuacji, kiedy mamy bardzo dużą ilość kolumn i ciężko znaleźć tę, która nas aktualnie interesuje (rys. nr 14).

rys. nr 14 - okno Przejdź do kolumny
rys. nr 14 — okno Przejdź do kolumny

Power Query automatycznie przeskoczy do wybranej kolumny i zaznaczy ją (rys. nr 15).

rys. nr 15 - wybrana kolumna zaznaczona w danych
rys. nr 15 — wybrana kolumna zaznaczona w danych

Po raz kolejny wybieramy polecenie Wybieranie kolumn z karty Narzędzia główne (jak na rys. nr 7). Otworzy nam się okno Wybierania kolumn, gdzie zgodnie z założeniem zaznaczamy checkboxy przy kolumnach związanych z adresem. Zaznaczone kolumny zatwierdzamy przyciskiem OK (rys. nr 16).

rys. nr 16 - Okno Wybierania kolumn
rys. nr 16 — Okno Wybierania kolumn

Otrzymamy dane z wybranymi kolumnami przedstawione na rys. nr 17.

rys. nr 17 - dane z wybranymi wcześniej kolumnami
rys. nr 17 — dane z wybranymi wcześniej kolumnami

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

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

Otworzy nam się okno Importowania danych, gdzie wybieramy sposób wyświetlania danych jako tabela oraz wskazujemy miejsce ich wstawienia, czyli Istniejący arkusz i konkretna komórka. Tak ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 19).

rys. nr 19 - okno Importowania danych
rys. nr 19 — okno Importowania danych

Otrzymamy dane w Excelu zawierające wybrane przez nas kolumny związane z adresami klientów (rys. nr 20).

rys. nr 20 - dane wczytane do Excela
rys. nr 20 — dane wczytane do Excela

Podsumowując wyciąganie konkretnych kolumn z tabel, gdzie mamy kilkadziesiąt kolumn jest dużo łatwiejsze dzięki funkcjonalności Wybierania kolumn.


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

Excel Power Query 47 — Czwarte wyzwanie Kena Pulsa — omówienie rozwiązania

W dzisiejszym poście omówimy rozwiązanie wyzwania nr 4 Kena Pulsa (Power Query Challenge 4) https://www.excelguru.ca/blog/2018/11/29/power-query-challenge‑4/ . Zadaje on czasem takie pytania do społeczności. Problem w tym zadaniu polega na tym, że mamy w danych wejściowych dwie tabele, w których pierwszy wiersz jest wierszem nagłówkowym, ale nie do końca ponieważ chcemy aby pierwsza kolumna nadal nazywała się Name (rys. nr 1).

rys. nr 1 - Przykładowe dane
rys. nr 1 — Przykładowe dane

Jeśli już działaliście w Power Query to pewnie zdajecie sobie sprawę, że jest to problem. Podwyższenie nagłówków, czyli standardowa opcja, gdzie zastępujemy nagłówki pierwszym wierszem z danych, zniszczy nam nazwę pierwszej kolumny.

Mamy już zaczytane tabele do Power Query, więc klikamy na zapytanie Admin, które jest tylko połączeniem w panelu bocznym Zapytania i połączenia (rys. nr 2).

rys. nr 2 - Lista zapytań w panelu bocznym Zapytania i połączenia w Excelu
rys. nr 2 — Lista zapytań w panelu bocznym Zapytania i połączenia w Excelu

Otworzy nam się Edytor zapytań z wczytanymi 3 tabelami (Admin, Sales oraz MakeMyHeaders), przy czym trzecia tabela odwołuje się do tabeli Admin (rys. nr 3).

rys. nr 3 - Edytor zapytań Power Query z trzema tabelami
rys. nr 3 — Edytor zapytań Power Query z trzema tabelami

Nasze zadanie polega na zmianie nagłówków. Zmieniamy odwołanie do w trzeciej tabeli na tabelę Sales, a następnie klikamy na ikonę tabelki w lewym rogu i z podręcznego menu wybieramy polecenie Użyj pierwszego wiersza jako nagłówków (rys. nr 4).

rys. nr 4 - polecenie Użyj pierwszego wiersza jako nagłówków
rys. nr 4 — polecenie Użyj pierwszego wiersza jako nagłówków

Otrzymamy tabelę przedstawioną na rys. nr 5. Możemy zauważyć, że cały pierwszy wiersz został przeniesiony do nagłówków, a nam zależało aby nazwa pierwszej kolumny (wcześniej Name) pozostała bez zmian.

rys. nr 5 - Dane, w których cały pierwszy wiersz został przeniesiony do nagłówków
rys. nr 5 — Dane, w których cały pierwszy wiersz został przeniesiony do nagłówków

Możemy zmienić tą nazwę ręcznie, ale zostanie wtedy dodany kolejny krok w Zastosowanych krokach. Zauważmy, że Power Query wstawi wtedy standardowe polecenie, które możemy podejrzeć w pasku formuły (rys. nr 6).

rys. nr 6 - polecenie zmiany nazwy nagłówka w pasku formuły
rys. nr 6 — polecenie zmiany nazwy nagłówka w pasku formuły

W tym działaniu Power Query odwołuje się konkretnie do nazw kolumn, w związku z tym, kiedy zmienimy nasze źródło początkowe w kroku Source w pasku formuły z Sales na Admin to nasze kroki odnoszące się do konkretnej kolumny przestaną działać i otrzymamy błąd. Dzieję się tak dlatego, że w danych nie mamy kolumny Sales (rys. nr 7).

rys. nr 7 - Błąd wynikający z braku podanej nazwy, po zmianie odwołania tabeli MakeMyHeaders
rys. nr 7 — Błąd wynikający z braku podanej nazwy, po zmianie odwołania tabeli MakeMyHeaders

Wracamy do odwołania tabeli MakeMyHeaders do tabeli Sales. W zastosowanych krokach zmieniamy kolejność kroków, mianowicie chcemy aby krok Zmieniono nazwy kolumn był przed krokiem Zmieniono typ. W tym celu przenosimy ręcznie krok Zmieniono nazwy kolumn o jedno miejsce w górę (rys. nr 8).

rys. nr 8 - ręczna zmiana położenia kroku Zmieniono nazwy kolumn
rys. nr 8 — ręczna zmiana położenia kroku Zmieniono nazwy kolumn

W kroku Zmieniono Typ otrzymamy błąd ponieważ Power Query chce zmienić typ danych w kolumnie Sales, a takiej kolumny nie mamy (rys. nr 9).

rys. nr 9 - Błąd w kroku Zmieniono typ, wynikający z przesunięcia kroku Zmieniono nazwy kolumn
rys. nr 9 — Błąd w kroku Zmieniono typ, wynikający z przesunięcia kroku Zmieniono nazwy kolumn

Możemy zmienić w pasku formuły odwołanie do kolumny Sales na kolumnę Name i wtedy formuła zadziała (rys. nr 10).

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

Naszym celem jest rozwiązanie zadania tak, aby przy zmianie źródła danych (tabela Sales lub Admin) formuły działały prawidłowo.

Rozwiązanie, które zostało zaproponowane przez kilka osób polegało na tym, żeby odwołać się do kroku źródła i wyszczególnić informację z pierwszego wiersza kolumny Name. W tym celu musimy kliknąć prawym przyciskiem myszki na komórkę w pierwszym wierszu kolumny Name a następnie z podręcznego menu wybrać polecenie Wyszczególnij (rys. nr 11).

rys. nr 11 - polecenie Wyszczególnij w podręcznym menu
rys. nr 11 — polecenie Wyszczególnij w podręcznym menu

Otworzy nam się okno Kroku nawigacji, w którym zatwierdzamy operację przyciskiem Kontynuuj (rys. nr 12).

rys. nr 12 - okno Kroku nawigacji
rys. nr 12 — okno Kroku nawigacji

Gdybyście chcieli uzyskać więcej informacji na temat wyszczegóławiania to jest ona dostępna w jednym z filmów pod tytułem Wyszczegóławianie informacji w moim kursie Mistrz Power Query w Excelu. Jest to jeden z filmów, które są udostępnianie za darmo na stronie https://www.udemy.com/course/mistrz-power-query/learn/?couponCode=PQ.START2019 (rys. nr 13).

rys. nr 13 - część kursu dostępna za darmo w Mistrz Power Query w Excelu
rys. nr 13 — część kursu dostępna za darmo w Mistrz Power Query w Excelu

Tutaj pokażemy rozwiązanie na krokach, które już stworzyliśmy. Przechodzimy do kroku Zmieniono nazwy kolumn, gdzie musimy wyszczegółowić tą informację. W pasku formuły zamiast odwołania do konkretnej nazwy Sales, musimy odwołać się do kroku źródło (source) i do pierwszego wiersza, któremu przypisana jest wartość zero zapisana w nawiasach klamrowych (pierwszy wiersz ma indeks 0), następnie w nawiasach kwadratowych odwołać się do nazwy kolumny (rys. nr 14). Zapis formuły powinien wyglądać następująco:

=Table.RenameColumns(#"Nagłówki o podwyższonym poziomie", {{Source{0}[Name], "Name"}})

rys. nr 14 - zapis formuły do odwołania się bezpośrednio do źródła (source)
rys. nr 14 — zapis formuły do odwołania się bezpośrednio do źródła (source)

Dzięki powyższym zmianom w formule nasza tabela stanie się dynamiczna. Działania te wykonywaliśmy na źródle Sales, więc teraz możemy łatwo sprawdzić poprawność działania formuł poprzez zmianę źródła na tabelę Admin (rys. nr 15).

rys. nr 15 - dynamiczna tabela
rys. nr 15 — dynamiczna tabela

Na rysunku powyżej widać, że wszystkie formuły działają prawidłowo dla obu tabel (Sales i Admin). Podsumowując, dzięki prostej sztuczce odwołania się do konkretnej komórki stworzyliśmy dynamiczne rozwiązanie.

Możemy stworzyć jeszcze bardziej dynamiczne rozwiązanie dopisując funkcję w kodzie M. W tym celu wybieramy polecenie Edytor zaawansowany z karty Narzędzia główne (rys. nr 16).

rys. nr 16 - polecenie Edytor zaawansowany z karty Narzędzia główne
rys. nr 16 — polecenie Edytor zaawansowany z karty Narzędzia główne

Otworzy nam się Edytor zaawansowany, gdzie z naszego zapytania stworzymy funkcję. W tym celu musimy dopisać pierwszą linijkę w edytorze zaawansowanym. Zapis powinien wyglądać następująco:

(Tabela as table) as table =>

Wprowadzone w edytorze zaawansowanym zmiany zatwierdzamy przyciskiem Gotowe (rys. nr 17).

rys. nr 17 - zapis funkcji w Edytorze zaawansowanym
rys. nr 17 — zapis funkcji w Edytorze zaawansowanym

Stworzyliśmy funkcję dodając odpowiednią linijkę na początku (rys. nr 18).

rys. nr 18 - stworzona funkcja
rys. nr 18 — stworzona funkcja

W polu Wprowadź parametr możemy sobie wybrać do której tabeli chcemy się odwołać (rys. nr 19).

rys. nr 19 - odwołanie do tabeli w polu Wprowadź parametry
rys. nr 19 — odwołanie do tabeli w polu Wprowadź parametry

Po wybraniu odpowiedniej tabeli (np. Admin) naszą decyzję zatwierdzamy przyciskiem Wywołaj. Otrzymamy wywołaną tabelę (rys. nr 20).

rys. nr 20 - wywołana tabela Admin
rys. nr 20 — wywołana tabela Admin

Analogicznie możemy wywołać funkcję dla tabeli Sales i otrzymamy wtedy wynik przedstawiony na rys. nr 21.

rys. nr 21 - analogicznie wywołana tabela Sales
rys. nr 21 — analogicznie wywołana tabela Sales

Nie dopatrzyliśmy jednej rzeczy, mianowicie jak podajemy funkcji argument to musimy go potem użyć, ponieważ w formule mamy na stałe wpisany Admin a powinniśmy zmienić na Tabela w Edytorze zaawansowanym (miejsce pokazane strzałką na rys. nr 22).

rys. nr 22 - zmiany w edytorze zaawansowanym
rys. nr 22 — zmiany w edytorze zaawansowanym

Teraz po wywołaniu funkcji dla tabeli Sales otrzymamy prawidłowy wynik (rys. nr 23).

rys. nr 23 - wywołana tabela Sales
rys. nr 23 — wywołana tabela Sales

Dzięki powyższym operacjom otrzymaliśmy dynamiczny szablon rozwiązania naszego problemu.


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

Excel Power Query 46 — Kolorowanie kodu M w notepad++

W tym poście omówimy temat kolorowania składni języka Power Query, języka M. Edytor zawansowany nie do końca taki jest, ponieważ pokazuje jedynie tekst, nic nie koloruje, nic nie podpowiada (rys. nr 1).

rys. nr 1 - Edytor zaawansowany Power Query
rys. nr 1 — Edytor zaawansowany Power Query

Wygląda to tak, jakbyśmy pisali formuły w notatniku. Z kursu Mandy Tracy dowiedziałem się, że Matt Masson napisał dodatek (wtyczkę) do Notepada ++, aby kolorować kod M. https://www.mattmasson.com/2014/11/notepad-language-file-for-the-power-query-formula-language‑m/?fbclid=IwAR24EhWgGwhGzQr3pZBSr1jUzc4YIFc1dQwcLQm4RP52wpdjxDVOxxn9-B4

W tekście z linku powyżej znajduje się link z instrukcją dodatku do Notepada ++, gdzie go zamieścić, żeby działał poprawnie (rys. nr 2). http://docs.notepad-plus-plus.org/index.php/User_Defined_Language_Files?fbclid=IwAR1bpxP9lq3hP8MooKkNER96JCjXI8ioMJNvHmVyRyU4wziK6qMcndIu_Sw#How_to_install_user_defined_language_files

rys. nr 2 - dodatek do Notepada ++ kolorujący kod M
rys. nr 2 — dodatek do Notepada ++ kolorujący kod M

Od wpisu Matta Massona minęło już trochę czasu i pojawiły się ciekawsze informacje, Lars Schreiber opisał dokładnie jak zdefiniować własny język w Notepadzie ++ (rys.nr 3). Podał odpowiednie linki do listy funkcji oraz dodatkowy plik, który podpowiada strukturę funkcji.

rys. nr 3 - strona www  Larsa Schreiber, który opisał jak zdefiniować własny język w Notepadzie ++
rys. nr 3 — strona www Larsa Schreiber, który opisał jak zdefiniować własny język w Notepadzie ++

Przechodzimy teraz do Notepada, gdzie mamy pokazany ten sam kod co w Edytorze zaawansowanym Power Query, ale już pokolorowany (rys. nr 4).

rys. nr 4 - kolorowy kod M w notepadzie ++
rys. nr 4 — kolorowy kod M w notepadzie ++

Notepad sam rozpoznaje, że ma wpisane funkcje i koloruje je w odpowiedni sposób. Co istotne Power Query jest case sensitive, czyli zwraca uwagę na wielkość liter. Dzięki temu, że Notepad również ma taką funkcję (case sensitive) od razu możemy zobaczyć, że mamy błąd w zapisie (błąd zaznaczony strzałką na rys. nr 5).

rys. nr 5 - Notepad ++ jest case sensitive - pokazuje błędy
rys. nr 5 — Notepad ++ jest case sensitive — pokazuje błędy

Ponadto Notepad podpowiada poprawne nazwy funkcji rozpoczynające się od wpisanych znaków (rys. nr 6). Następnie strzałkami w górę i w dół możemy wybrać odpowiednia funkcję, bez wpisywania jej całej nazwy.

rys. nr 6 - Notepadd pokazuje możliwe nazwy funkcji rozpoczynające się od podanych znaków
rys. nr 6 — Notepadd pokazuje możliwe nazwy funkcji rozpoczynające się od podanych znaków

Nie dość że Notepad podpowiada nazwy funkcji, to wpisaniu nawiasów możemy tak zaprogramować program, że będzie podpowiadał nam strukturę danej funkcji (rys. nr 7).

rys. nr 7 - Struktura wpisanej funkcji
rys. nr 7 — Struktura wpisanej funkcji

Notepad podpowiada nam nazwy argumentów oraz po wpisaniu części danych podpowiada, w którym argumencie w danym momencie jesteśmy (prawie tak jak w Excelu, ponieważ argumenty funkcji rozdzielamy przecinkiem).

Podsumowując dodatki do Notepada ++ sprawiają, że jest kod w nim wpisany jest bardziej czytelny i łatwiejszy do zrozumienia niż w Edytorze zaawansowanym Power Query. Jest tylko jeden minus, mianowicie wszystko jest w języku angielskim (funkcje, ich argumenty i opisy).

Przy takim kolorowym zapisie jest łatwiej zanalizować kod napisany przez inną osobę. W kolejnym odcinku nauczymy się napisać taki kod samodzielnie. Dzięki kolorowaniu kodu widzimy składnie kodu i łatwo możemy zrozumieć, jakie kroki wykonał twórca danego kodu. Możemy również w łatwy sposób znaleźć błędy w takim kodzie, ponieważ np. błędnie wpisana funkcja będzie miała inny kolor niż ta wpisana poprawnie.

Po stworzeniu kodu wystarczy go skopiować za pomocą skrótu klawiszowego Ctrl+C, a następnie wkleić go do Edytora zaawansowanego za pomocą skrótu Ctrl+V. Po wklejeniu kodu stracimy jego kolory, ale będziemy mieli pewność, że zapis jest prawidłowy i formuła będzie działać. Wpisany kod zatwierdzamy przyciskiem Gotowe (rys. nr 8).

rys. nr 8 - Kolorowy kod skopiowany do Edytora zaawansowanego staje się czarno-biały
rys. nr 8 — Kolorowy kod skopiowany do Edytora zaawansowanego staje się czarno-biały

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