Webinaria: Biurowe narzedzia informatyczne | Ms excel91

MS Excel – Power Query – Własne funkcje w Power Query

Udostępnij!

TRANSKRYPCJA

Witam Państwa serdecznie, Łukasz Cupryjak z tej strony. Pokażę Państwu jak przygotować prostą funkcję w Power Query.

 Proszę zauważyć, w komórce A1, A2, mamy coś takiego jak „Wybierz listę rozwijalną” i będziemy wybierać sobie rok. I teraz uwaga, w zależności jaki rok wybierzemy, chciałbym żeby w kolumnie C,D, i E pojawił się kurs walut z danego roku. Jak to zadanie wykonać? Bardzo prosto, moi drodzy – www.nbp.pl. Mam coś takiego jak kursy średnie, wybieram opcję „Więcej” i mam coś takiego jak archiwum kursów średnich, tabela A. CSV.XLS. Mam format CSV, proszę zobaczyć, wszystkie kursy walut, a ja chcę tylko jeden z.

Jaki? Proszę Państwa, wybieracie sobie dowolny, no, w tym przypadku pobiorę sobie na przykład rok 2015, ale oczywiście nie otwierając go tylko kopiując adres odnośnika. Odpalam Power Query, ale uwaga, zanim najpierw odpalę Power Query zaimportuję sobie tę malutką tabelkę poprzez dane „Pobierz dane z tabeli lub z zakresu”. Następnie w edytorze Power Query pobiorę sobie kolejne dane poprzez stronę główną i mam coś takiego jak nowe źródło, inne źródła; w tym przypadku będzie to Internet.

Wklejam adres, przycisk „ok”, przycisk „ok” ponownie, odświeżę ponownie podgląd ponieważ tu mamy sprzed 73 dni no i teraz uwaga, prosta edycja; po pierwsze, nazwa zapytania, tabela NBP, po drugie, pozbędę się pierwszego wiersza, w górnym lewym rogu mam opcję „Usuń pierwsze wiersze”, liczba wierszy do usunięcia – jeden. A tutaj proszę zauważyć, że powinienem wykasować krok o nazwie „zmieniono typ” ponieważ datę zrobił nam liczbą całkowitą więc wykasuję ze środka ten krok.

Następnie, moi drodzy, wykonam operację przekształcenia tej tabeli; czyli zunpivotuję ją poprzez kolumnę „Data”. Zaznaczam kolumnę „Data” i prawym przyciskiem myszy „Anuluj przestawianie innych kolumn”. Moi drodzy, proszę zobaczyć, że teraz większość śmieci, która znajdowała się w kolumnach, wpadła do wierszy. Więc wykonam sobie, uwaga, prostą operację. Po pierwsze, przy atrybucie nie będę odfiltrowywał tych elementów tylko napiszę sobie regułę, która poszukuje filtry tekstu zaczynające się od 1. Przycisk „ok”, a, uwaga, przy dacie napiszę regułę, która będzie mówiła filtry tekstu, które zaczynają się od 20.

Wykonam jeszcze coś takiego jak podmienię nazwy, symbol, podmienię teraz formaty, czyli wartość zmienię na liczbę dziesiętną, a datę zmienię na datę. Moi drodzy, no niestety cały czas mam tutaj rok 2015. Jak zrobić żeby, uwaga, jak zmienię tutaj na jakiś inny rok, np. na 2019, to żeby ta tabela także się zmieniła? Do tego posłuży nam funkcja. Jak taką funkcję przygotować?

Zaznaczam zapytanie, które będę przekształcał do funkcji, w tym przypadku tabela NBP-u, przechodzę do zakładki „Menu. Widok” i wybieram opcję „Edytor Zaawansowany”. No, na pierwszy rzut oka nie wygląda to ciekawie, ale proszę mi wierzyć, nie jest to trudne. Muszę ustawić się przed „Let” i uwaga, określę parametr do mojej funkcji, czyli tak naprawdę zmienną. Jak to zrobić? Otwieram nawias, wpisuję nazwę zmiennej, w tym przypadku będzie to rok, określam format tego parametru, będzie to, uwaga, format tekstowy, ponieważ ja będę zmieniał w tym miejscu w środku całego kodu tekstowego.

Równa się znak większości, to jest informacja „przejdź do dalszej części zapytania” i teraz, uwaga, tu gdzie mam rok 2015 kasuję go, wpisuję nazwę zmiennej, czyli cudzysłów „and”, rok and cudzysłów, tutaj proszę zauważyć, że dorzucił mi jeden cudzysłów więcej więc ja kasuję go żeby został tylko jeden, klikam gotowe i proszę zauważyć, że w tym momencie już nie mam klasycznego zapytania tylko przygotowaną funkcję, która prosi o podanie parametru więc wpisuję sobie parametr „2019”, klikam „Wywołaj” i proszę bardzo, mam już gotowe dane z roku 2019. Ale jak zrobić żeby ten parametr przekazywać z Excela?

Wykasuję tę wywołaną funkcję i teraz uwaga, najeżdżam na zapytanie „Rok”, muszę uważać ponieważ określiłem parametr „Rok” „As Text” to tutaj też muszę zmienić na parametr tekstowy. Zamień bieżący i teraz zobaczcie jak to wykonać. Klikam „Dodaj kolumnę”, „wywołaj opcję niestandardową”, klik. Tutaj mogę opuścić – nazwa nowej kolumny, zapytanie funkcji to będzie, uwaga, tabela NBP-u. Dla parametru „Rok” proszę, wstaw mi kolumnę o nazwie „Rok”, przycisk „ok”.

Wybieram informacje dotyczące prywatności danych. W przypadku tego ćwiczenia ja zignoruję sobie kontrolę ponieważ strona NBP-u jest stroną publiczną. Proszę zobaczyć, że po krótkim importowaniu mamy już w tym momencie przypisaną tabelę do roku 2015. Wypakowuję tę tabelę, wypakowuję wszystkie dane, które chcę; nie potrzebuję opcji „Użyj oryginalnej nazwy jako prefixu”, przycisk „ok” i teraz, moi drodzy, etap końcowy to jedynie zmiana wszystkich możliwych formatów jakie są, ale uwaga, wykonam to bardzo prostą operacją; zaznaczam cały zbiór danych za pomocą skrótu Ctrl+A i na zakładce „Przekształć” mam coś takiego jak „Wykryj typ danych”.

Po wykonaniu tej operacji dane ładuję do Excela; menu „Plik”, „Zamknij i załaduj do”, do tabeli, do istniejącego arkusza, uwaga, wskazuję komórkę C1, przycisk „ok”, dane w tym momencie zaciągają się do Excela. Proszę bardzo, proszę zobaczyć jak szybko dane zaciągnęły się do Excela, no i teraz uwaga, zmieniam rok na 2018, prawy przycisk myszy, „Odśwież” i natychmiastowo mam już dane z roku 2018.

A teraz najciekawsza rzecz, proszę Państwa, proszę zobaczyć co zrobię – i uwaga, jednym kliknięciem zaimportują się dane dla pięciu lat. „Odśwież” i proszę zobaczyć, już wszystkie dane z pięciu ostatnich lat mamy w naszym arkuszu, jest to ponad 42 tys. wierszy. Czyli jak łatwo przygotować funkcję już Państwo się dowiedzieli. Dziękuję Państwu serdecznie, zapraszam do kolejnych filmów.