W dzisiejszym poście będziemy kontynuować rozwiązywanie zadań z Matury 2018 z informatyki. Dziś zajmiemy się rozwiązaniem zadania nr 5.2. Treść zadania została przedstawiona na rys. nr 1.
Naszym zadaniem jest znalezienie najdłuższego okresu, kiedy do zbiornika retencyjnego codziennie dopływało co najmniej 10 000 metrów sześciennych wody. Kolejnym krokiem jest znalezienie daty początkowej i końcowej tego okresu. Zadanie to zostanie wykonane w Power Query. Dane bazowe mamy już zaczytane (zostały zaczytane do poprzedniego zadania w Power Query odcinku 51). Rys. nr 2
Otwieramy nasze zapytanie w Edytorze zapytań Power Query. W pierwszym kroku musimy sobie przygotować dodatkowe zapytanie z tymi danymi, na którym będziemy pracować. W tym celu rozwijamy panel boczny Zapytania i klikamy prawym przyciskiem myszy na nazwę zapytania Woda a następnie wybieramy z podręcznego menu polecenie Odwołanie (rys. nr 3).
Otrzymamy nowe zapytanie z naszymi danymi, którego nazwę zmienimy na Woda 5_2 we właściwościach zapytania w polu Nazwa (rys. nr 4).
W pierwszym kroku musimy znaleźć okresy kiedy do zbiornika wpływa powyżej 10 tys. Metrów sześciennych wody. W tym celu wybieramy polecenie Kolumna warunkowa z karty Dodaj kolumnę (rys. nr 5).
Otworzy nam się okno Dodawanie kolumny warunkowej, w którym musimy określić parametry nowej kolumny. W polu Nazwa kolumny wybieramy kolumnę, którą chcemy sprawdzić, czyli Woda m3. W polu Operator wybieramy rodzaj porównania, czyli w naszym przykładzie Jest większe niż, w polu Wartość wpisujemy 10 000, ponieważ szukamy okresów kiedy ilość wody wpływającej do zbiornika przekracza tę wartość. W polu Wartość wyjściowa wpisujemy wartość 1, natomiast w polu W przeciwnym wypadku – wartość 0. Tak ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 6).
Otrzymamy dane z nową kolumną z wartościami 1 lub 0 przedstawioną na rys. nr 7.
Aby otrzymać tylko dane z wartościami 1, wystarczy przefiltrować dane. Klikamy ikonę trójkąta przy nazwie kolumny Niestandardowe i w filtrach odznaczamy checkbox przy wartości 0, następnie nasz wybór zatwierdzamy przyciskiem OK (rys. nr 8).
Otrzymamy przefiltrowane dane, mianowicie tylko te z wartością 1 w kolumnie niestandardowe, przedstawione na rys. nr 9.
W naszych danych na tym etapie mamy wszystkie dni, w których wpłynęło więcej niż 10 000 metrów sześciennych wody. Usuwamy krok Przefiltrowano wiersze, ponieważ łatwiej będzie nam znaleźć okresy, kiedy ta wartość była równa 1. Naszym celem jest pogrupowanie danych po okresach. Z karty Narzędzia główne wybieramy polecenie Grupowanie według (rys. nr 10).
Otworzy nam się okno Grupowania według, gdzie wybieramy opcję zaawansowanego grupowania(punkt 1 na rys. nr 11). Wynika to z tego, że potrzebujemy długości okresu, daty początkowej i końcowej, czyli aż trzech parametrów. W polu Grupuj według wybieramy kolumnę Niestandardowe (punkt 2). W polu operacja wybieramy Minimum (punkt 3) aby otrzymać początek danego okresu. Następnie dodajemy jeszcze dwie agregacje w których w polu Operacja wybieramy Maksimum (punkt nr 4), aby otrzymać koniec danego okresu oraz Zlicz wiersze (punkt 5), aby otrzymać sumę dni z danego okresu. Dla operacji Minimum wpisujemy nazwę nowej kolumny jako Data początku okresu (punkt 6). Dla operacji Maksimum wpisujemy nazwę nowej kolumny Data końca okresu (punkt 7), a dla Zlicz wiersze wpisujemy Ilość dni (punkt 8). Tak ustawione parametry zatwierdzamy przyciskiem OK.
Otrzymamy dane, gdzie będą tylko dwa okresy, jeden dla wartości 0 a drugi dla wartości 1. Nie jest to wynik, o który nam chodziło (rys. nr 12).
Naszym celem jest uzyskanie każdego okresu, kiedy wartości w kolumnie Niestandardowe ulegają zmianie. Za pomocą Power Query możemy to uzyskać. Przede wszystkim musimy dokładnie sprawdzić jak działa funkcja Table.Group. W tym celu wycinamy z paska formuły za pomocą skrótu klawiszowego Ctrl+X argumenty funkcji Table.Group (część zaznaczona na niebiesko na rys. nr 13) a następnie samą funkcję zatwierdzamy przyciskiem Enter.
Power Query opisuje nam działanie tej funkcji i jej parametry. W polu groupKind jest coś takiego jak sposób grupowania (rys. nr 14).
Możemy wybrać grupowanie globalne, które jest parametrem domyślnym lub grupowanie lokalne, czyli GroupKind.Local. Jest to grupowanie po pojedynczych okresach w danych, które ulegają zmianie. Każdorazowo gdy dane w kolumnie Niestandardowe się zmienią otrzymamy nowy okres. Podsumowując wklejamy wcześniej wycięte argumenty funkcji do paska formuły, a następnie dopisujemy opcjonalny argument funkcji GroupKind.Local i zatwierdzamy przyciskiem Enter. Musimy pamiętać aby dobrze wpisać nazwę argumentu ponieważ Power Query jest Case Sensitive, czyli zwraca uwagę na wielkość liter (rys. nr 15).
Otrzymamy tym razem prawidłowe dane, przedstawione na rys. nr 16.
Otrzymaliśmy poszczególne okresy, kiedy wpływało do zbiornika więcej niż 10 000 metrów sześciennych wody i kiedy wpływało mniej. Przede wszystkim interesują nas okresy powyżej 10 000 metrów sześciennych wody więc możemy użyć filtrów. W tym celu klikamy na ikonkę trójkąta przy nazwie kolumny Niestandardowa i odznaczamy checkbox przy wartości 0. Tak ustawiony filtr zatwierdzamy przyciskiem OK (rys. nr 17).
Możemy również osunąć kolumnę o nazwie Niestandardowa dla lepszej prezentacji danych za pomocą klawisza Delete. Naszym zadaniem jest znalezienie najdłuższego okresu, kiedy do zbiornika wpływało powyżej 10 000 metrów sześciennych wody, czyli posortujemy kolumnę Ilość dni od Z do A z karty Narzędzia główne (rys. nr 18).
Interesuje nas tylko pierwszy wiersz posortowanych danych więc tak jak w poprzednim poście skorzystamy z polecenia Zachowywania wierszy. Rozwijamy polecenie Zachowaj wiersze (punkt 2 na rys. nr 19) z karty Narzędzia główne (punkt 1), a następnie wybieramy polecenie Zachowywanie pierwszych wierszy (punkt 3).
Otworzy nam się okno Zachowywania pierwszych wierszy, gdzie w polu Liczba wierszy wpisujemy ilość wierszy jaką chcemy zachować, czyli 1. Tak ustawiony parametr zatwierdzamy przyciskiem OK (rys. nr 20).
Otrzymamy jeden wiersz z danymi przedstawiającymi początek, koniec i długość najdłuższego okresu, w którym do zbiornika retencyjnego wpływało ponad 10 000 metrów sześciennych wody (rys. nr 21).
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 22).
W Excelu otworzy nam się okno Importowania danych, gdzie ustawiamy ich parametry, mianowicie sposób wyświetlania danych jako Tabela oraz wskazujemy miejsce wstawienia danych jako istniejący arkusz i wskazujemy konkretną komórkę. Tak ustawione parametry zatwierdzamy przyciskiem OK (rys. nr 23)
Otrzymamy dane wstawione do Excela przedstawione na rys. nr 24, czyli rozwiązanie zadania 5.2 z matury z informatyki 2018.
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