Użytkownicy Power BI mają od lutego 2022 możliwość interakcji z poziomu raportu z parametrami zapytania Power Query dla źródeł bazodanowych w trybie DirectQuery. Może być to sposób na optymalizację wielkości zapytań i lepszą kontrolę nad ich przekazywaniem do źródła.
Co to jest DirectQuery?
Przy budowie raportu Power BI w połączeniu z bazami danych polecany jest tryb importu. Jednak jeśli danych jest zbyt dużo lub chcemy raport odświeżać na bieżąco, mamy także do dyspozycji tryb połączania na żywo, nazywany DirectQuery.
Po kliknięciu OK i następnie Załaduj żadne dane nie są importowane do raportu Power BI. Zamiast tego podczas tworzenia wizualizacji zapytania są wysyłane do bazy w celu pobrania niezbędnych danych. Czas potrzebny na odświeżenie wizualizacji zależy od wydajności źródła danych. Co ciekawe, zmiany w danych źródłowych nie są natychmiast aktualizowane – nadal trzeba je odświeżyć, klikając coś na raporcie w celu wysłania nowego zapytania.
Więcej o DirectQuery: https://docs.microsoft.com/en-us/power-bi/connect-data/desktop-directquery-about
Krok 1: Połącz się z bazą danych SQL Server
W swoim przykładzie łączę się z bazą danych Adventure Works od Microsoft. Oto prosty model, z którego korzystam:
Krok 2: Utwórz parametr w Power Query
W scenariuszu wykorzystam jako parametr, pole Color z tabeli Production Product. Pierwszą z rzeczy, którą należy wykonać, jest utworzenie parametru w Power Query: Zarządzaj parametrami > Nowy parametr.
Nadaję nazwę parametrowi, wybieram Typ parametru jako Tekst oraz Sugerowane wartości jako Lista wartości. Następnie wprowadzam listę kolorów, wartość domyślną dla parametru oraz wartość bieżącą. Wybieram OK. Parametr został utworzony.
Krok 3: Umieść parametr w zapytaniu Power Query
Następnie parametr musimy wkomponować w istniejące zapytanie, aby faktycznie zobaczyć jego wpływ na dane. W przykładzie jedno z zapytań (Product) jest skonstruowane przy pomocy warunku filtrowania dla pola kolor, w którym kolor zastąpię wcześniej utworzonym parametrem Param_Color. Otwieram edytora zaawansowanego, gdzie będę modyfikować kod.
Krok 4: Zbuduj tabelę w modelu danych Power BI
Aby zmiana parametru była dynamiczna, muszę skonstruować listę kolorów, którą wykorzystam na fragmentatorze. W tym celu wykorzystam „Wprowadź dane” na Narzędziach głównych (Power Query lub w Power BI) i wprowadzę listę elementów, które chcę widzieć w raporcie.
Krok 5: Powiąż parametr z polem
Po jej utworzeniu przechodzę do widoku modelu > znajduję utworzoną tabelę > zaznaczam kolumnę z kolorem, aby to dla niej wyświetlić właściwości.
Na końcu w sekcji z właściwościami zaawansowanymi rozwijam Powiąż z parametrem, a na wyświetlonej liście wybieram nazwę utworzonego parametru. Po powiązaniu z parametrem pojawiają się dodatkowe opcje, związane z możliwością wielokrotnego wyboru.
Krok 6: Zbuduj fragmentator
Na wizualizacji w tabeli po lewej stronie wykorzystane są kolumny z modelu danych, natomiast w filtrze po prawej stronie znajduje się ręcznie wprowadzona lista kolorów powiązana z parametrem w Power Query.
Podsumowanie parametrów Power Query w Power BI
Dzięki zastosowaniu dynamicznych parametrów pobierana jest jedynie niezbędna ilość danych zdefiniowana przez wartość parametru. Deweloper ma dzięki temu większą kontrolę nad pobieranymi danymi (optymalizacja), a użytkownik szybciej działający raport.