0
0 Produkty w koszyku

No products in the cart.

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