Parametry Power Query komórki Excel

Zmienna, która w raportach pojawia się najczęściej to zakresy dat. Pobierając dane z różnych źródeł ograniczamy ogromne zbiory poprzez założenie filtrów na datę od i datę do, w zależności od tego jaki okres czasu nas interesuje. Jak wiemy, idealnym narzędziem do pobierania i przekształcania dużych baz danych, jest Power Query. Aby ułatwić pracę użytkownikom, którzy nie znają tego narzędzia, dobrą praktyką jest ustawienie zmiennych parametrów zapytań. Przykładem mogą być wspomniane daty. Stosując parametry Power Query pobierane z komórki Excel każdy użytkownik będzie w stanie modyfikować tak przygotowanie zapytanie zupełnie nie znając tego narzędzia.

Parametry zapytań Power Query pobierane bezpośrednio z komórki Excel

Dla uproszczenia całego procesu dane bazowe przechowuje w tym samym skoroszycie, w który będą znajdowały się nasze parametry Power Query oraz finalna tabela wynikowa. W arkuszu dodajemy tabelę z nagłówkami „Od” i „Do”. Wpisujemy do niej interesujący nas okres czasu. Wg tych danych będziemy sterować parametrami naszego zapytania.

Zaczytujemy do Power Query tabelę z naszymi danymi oraz tabelę z zakresami dat wybierając opcję „Z tabeli/zakresu”. Zapytania zapisujemy i załadujemy jako połączenia. Na razie bez zaczytywania do arkuszy.

Wchodzimy do edytora Power Query. Klikając na ikonki obok nagłówków naszych dwóch kolumn zmieniamy typy danych z „Data” na „Liczba całkowita”. Następnie prawym przyciskiem myszy duplikujemy zapytanie z datami. Zmieniamy nazwę pierwszego na „Od”, a drugiego na „Do”.

Wyszczególnienie parametrów

Teraz najważniejsza sprawa. Klikamy prawym przyciskiem myszy na liczbę oznaczającą naszą datę „Od” i wybieramy opcję wyszczególnij. Power Query jest w stanie wyszczególnić jedynie liczbę lub tekst. Z tego powodu w poprzednim kroku zmienialiśmy datę właśnie na liczbę. Jak się okazuje, wyszczególniać możemy zasadniczo dowolne dane, nie musi zatem być to tylko liczba czy tekst.  

Powyższą czynność powtarzamy dla daty „Do”, z tym, że wyszczególniamy liczbę z drugiej kolumny. Powinniśmy uzyskać efekt jak poniżej. Ikony zapytań uległy zmianie i widzimy, że zwracają one same wartości bez żadnych tabel. Dokładnie o to nam chodziło.

Zagnieżdżenie parametrów w zapytaniu

Teraz użyjemy tych wartości i zagnieździmy je w filtrze dat dla naszego zbioru danych. Najpierw ustawiamy dowolny filtr dat w naszym zapytaniu przechowującym raport ze wszystkimi danymi.

Edytujemy krok filtrujący nasze dane w pasku formuły okna Power Query. Podmienimy wybrane ręczne daty na parametry „Od” i „Do”, które przygotowaliśmy wcześniej. Ponadto zagnieżdżamy je w funkcję Date.From(). Wielkość liter w Power Query ma znaczenie. Warto o tym pamiętać przy wpisywaniu formuł.

Formuła mojego kroku przed zmianą to = Table.SelectRows(#”Zmieniono typ”, each [Latest Launch] >= #date(2018, 5, 1) and [Latest Launch] <= #date(2018, 6, 30))

A po zmianie = Table.SelectRows(#”Zmieniono typ”, each [Latest Launch] >= Date.From(Od) and [Latest Launch] <= Date.From(Do))

Zmianę zatwierdzamy enterem. Nasze przekształcone zapytanie zaczytujemy finalnie do arkusza wybierając opcję „Zamknij i załaduj do”. Widać, że tabela wynikowa zawiera tylko zakres ustawiony przez nas w komórkach Excela.

Podsumowanie

Największą zaletą tej metody jest to, że teraz możemy dowolnie zmienić zawartość komórek tabelki z datami „Od” i „Do”. Odświeżając tabelę wynikową załadują się dane dla nowego, wybranego przez nas wycinka czasu.  Za każdym razem gdy chcemy zaczytać inne dane nie musimy już wchodzić do edytora Power Query, a następnie wyszukiwać odpowiednich kroków i zmieniać daty wewnątrz zapytań. Całym procesem łatwo sterujemy z poziomu arkusza Excel przy pomocy kilku kliknięć. Plik możemy udostępnić współpracownikom, który nigdy nie słyszeli o Power Query, a z łatwością sami będą w stanie edytować zapytanie.

Inne zastosowanie parametrów

Powyższą metodę możemy stosować nie tylko dla zakresów dat. Dzięki  niej zafiltrujemy dowolne dane przechowywane w zasadniczo dowolnej kolumnie.



1 gwiazdka2 gwiazdki3 gwiazdki4 gwiazdki5 gwiazdek (2 głosów, średnia: 5,00 z 5)
Loading...


Powiązane

2 odpowiedzi na “Parametry Power Query pobierane z komórki Excel”

  1. Bill Szysz

    Cytat – „Power Query jest w stanie wyszczególnić jedynie liczbę lub tekst. ”
    Niestety, popełniasz zasadniczy błąd, PQ może wyszczególnić dowolny rodzaj danych a nie tylko liczby i tekst (może to zrobić nawet z funkcjami).
    Wystarczy więc jako regułę filtra zastosować bezpośrednio daty wyciągnięte z tabelki z parametrami, czyli:
    = Table.SelectRows(#”Zmieniono typ”, each [Latest Launch] >= Od and [Latest Launch] <= Do)
    Wcześniej należy zadbać aby kolumny tabeli z parametrami miały typ date.
    Konwersja na liczby nie jest potrzebna.
    Pozdrawiam.

    1. Dzięki za cenną uwagę. Miło mi, że taka osobistość zagląda na moją stronkę 🙂
      Przypuszczam, że w starszych wersjach PQ mogło nie być innych opcji wyszczególniania jak z tekstu lub liczby. Opisałem metodę, którą znam i z której sam korzystam już od dość dawna.
      Dobrze wiedzieć, że można tu jeszcze coś uprościć. Sprawdziłem i faktycznie – działa tak jak napisałeś.