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.

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).

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).

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).

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).

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).

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).

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).

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.

Na tym etapie wybieramy polecenie Grupowanie według z karty Narzędzia główne (rys. nr 10).

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).

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

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).

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

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).

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).

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

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).

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).

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).

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).

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).

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

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
