Po wprowadzeniu do parametrów w Power Query oraz Power BI pokażę kilka innych ciekawych zastosowań. Można z nich korzystać jako parametr przy połączeniu z bazą danych, jako element filtrujący kolumnę (i wpływający przez to na dane ładowane do modelu danych), jako filtr kolumn czy wierszy ładowanych do modelu danych. Jeśli znasz jakieś ciekawe zastosowania, podziel się w komentarzu.
Parametr jako połączenie z bazą danych
Rozwiązanie te może znaleźć zastosowanie gdy różne bazy danych, o tej samej strukturze, ale o innych nazwach czy lokalizacjach, są wykorzystywane do budowy analogicznych raportów. Wówczas by zobaczyć wygląd, już skonstruowanego raportu na innych danych, nie ma konieczności budowy go od nowa, a jedynie zmienić bazę z którą się łączy.
Narzędzia główne > Edytuj zapytania > Edytuj zapytania > Narzędzia główne > Zarządzaj parametrami > Nowy parametr
Dodaję dwa parametry, jak na załączonych poniżej screenach: jeden z nich będzie nazwą bazy danych, z którą będę się łączyć, a drugi z nich będzie serwerem na którym ta baza się znajduje. W obu jako typ parametru wybieram: Tekst , sugerowane wartości jako Lista wartości . Wprowadzam po trzy elementy moich list wartości w parametrach. Jako wartość domyślą oraz bieżącą wybieram jedną z wpisanych na liście (przy pierwszym połączeniu właśnie wartości bieżące wskażą źródło danych).
Następnie łączę się z bazą danych poprzez > Narzędzie główne > Nowe źródło > SQL Server > gdzie wybieram po lewej stronie z listy rozwijanej Parametr , ponieważ chcę w tym miejscu wykorzystać utworzony wcześniej parametr ServerName , a poniżej NazwaBazy (jak sama nazwa mówi, by połączyć się z konkretną bazą).
Następnie by zmienić bazę na inną, czy też serwer wybieram > Narzędzia główne > Edytuj zapytania > Edytuj parametry , gdzie mogę zmienić ich bieżącą wartość.
Parametr jako filtr kolumn w źródle
Parametr mogę wykorzystać również jako filtr pozwalający na wybór kolumny ze źródła danych. Tworzę parametr w Edytorze zapytań o nazwie Kolumna , dla którego ustawiam parametry jak na zdjęciu poniżej. W sugerowanych wartościach listy wpisuję nazwy kolumn ze źródła danych, z którym będę się łączyć czyli z Excelem, wybieram wartość domyślną oraz bieżącą > OK > Zamknij i załaduj by wyjść z edytora.
Następnie poprzez Narzędzia główne > Pobierz dane > Excel > wybieram plik > Otwórz > wybieram arkusz który chcę zaimportować > Edytuj >
Zaznaczam kolumnę Sprzedawca > prawy przycisk myszy > Usuń inne kolumny. Dzięki czemu w widoku danych powinna być widoczna jedna kolumna.
Przy pomocy parametru będę wybierać widoczną kolumnę Narzędzia główne > Zapytanie > Edytor zaawansowany > w miejscu zaznaczonym na niebiesko obecnie widzę nazwę kolumny „Sprzedawca” , czyli tą którą przed chwilą pozostawiłem. Tym miejscu umieszczam nazwę parametru Kolumna (bez cudzysłowu) > OK.
W zależności od tego jaka wartość parametru jest wybrana jako bieżąca , taka też zostanie zaprezentowana w Edytorze. By zmienić kolumnę należ edytować parametr i wybrać jego inną wartość. (Narzędzia główne > Edytuj zapytania > Edytuj parametry > potwierdzić wprowadzenie zmian na żółtym pasku > Zastosuj zmiany).
Poniżej zdjęcie gdzie widać, że wartość parametru Kolumna to Sprzedawca, która jest widoczna na raporcie oraz w obszarze pól do wyboru.
Szablon pliku Power BI z parametrem
Wykorzystując już wcześniej stworzony model w Power BI wraz z parametrami i danymi możemy zapisać go jako szablon Power BI. Czym jest szablon? Jest to model danych, zawierający już połączenia, parametry, definicje raportów, zapytań, ale nie zawierający danych. Szablony służą do szybkiego wdrażania istniejących modeli tzn. tworząc parametry z szablonu, możemy tworzyć pliki/raporty z różnymi konfiguracjami parametru. Korzystamy wówczas z jednej utworzonej struktury, by stworzyć w szybki sposób kolejne.
Mogę go stworzyć w bardzo łatwy sposób Plik > Eksportuj > Szablon usługi Power BI. Przed zapisem mogę dodać jeszcze opis do tworzonego szablonu. Po otwarciu pliku szablonu (rozszerzenie .pbit) program załaduje pusty model i zapyta o wartości parametrów.
Tworzenie parametru w postaci listy z zapytania
Na początku załaduję dane dla roku 2017 oraz dane sprzedawców (odpowiednie Arkusze w pliku Excel „Dane”) , które połączę w model danych, przy pomocy pola ID Sprzedawcy. Power BI tak naprawdę sam odnajduje relacje pomiędzy tabelami, ja mogę jeszcze upewnić się, edytując ją, czy jest poprawna.
Przechodzę do Edytora zapytań (Narzędzia główne > Edytor zapytania). Otwieram zapytanie sprzedawcy, zaznaczam kolumnę Województwo > prawy przycisk myszy > Dodaj jako nowe zapytanie.
W tym momencie w widoku po prawej stronie zobaczę nową listę Województwo.
W kolumnie znajdują się wszystkie wartości z zapytania Sprzedawcy, a więc nazwy województw powtarzają się. Usuwam duplikaty z listy , zaznaczam kolumnę > Przekształć > usuń duplikaty
Następnie dodaję nowy parametr (Narzędzia główne > Zarządzaj parametrami > Nowy parametr). Z danymi wprowadzonymi jak poniżej (oznaczam pole Wymagane, ponieważ parametr nie będzie wymagany w moim modelu).
Przechodzę do zapytania Sprzedawcy i filtruję je po parametrze Woj (Filtry tekstu > Równa się > Parametr > Woj > OK > Zamknij i zastosuj)
Następnie wybieram pola: Sprzedawca, Wartość sprzedaży (z zapytania 2017) oraz Województwo (z zapytania Sprzedawcy, ponieważ właśnie to pole wcześniej filtrowałem z użyciem parametru). Następnie w filtrach przechodzę do filtru dla Województwa > wybieram Filtrowanie Zaawansowane > Pokaż elementy, jeśli ich wartość nie jest pusta.
Dzięki temu zabiegowi w obszarze raportu będą widoczne jedynie dane , które są zgodne z wartością parametru.
Uwaga!
Należy pamiętać, aby relacje pomiędzy tabelami działały prawidłowo, więc kluczowe jest tu ustalenie typu połączenia pomiędzy filtrującą tabelą/kolumną Województwo, a pozostałymi tabelami (w tabeli Sprzedawcy nazwa województwa może pojawić się wielokrotnie).
Czy parametr można również wykorzystać w PQ przy pobieraniu danych z www? Przykład poniżej dla danych finansowych, które różnią się tylko spółkami.
https://www.biznesradar.pl/raporty-finansowe-rachunek-zyskow-i-strat/CCC
https://www.biznesradar.pl/raporty-finansowe-rachunek-zyskow-i-strat/LPP
Wygodnie by było wybierać spółkę z listy rozwijanej i na tej podstawie PQ już by importował poprawny adres do tabeli
Jasne. Polecam w tym zakresie pobieranie parametru z komórek Excela: https://excelbi.pl/sterowanie-parametrami-power-query-z-komorek-excel/.
Można też stworzyć listę spółek i hurtowo pobrać dane z wielu stron jednocześnie: https://excelbi.pl/pobieranie-danych-z-sieci-web-cz-2-web-scraping-z-uzyciem-funkcji-power-query/
Kurcze próbuję na różne sposoby i mi jednak nie działa 🙁
Spróbujemy rozwiązać mailowo. Zerknij do poczty.