Direct Query w PowerBI

W najnowszej odsłonie PowerBI Desktop dostaliśmy możliwość bezpośredniego odpytywania źródła danych przy pomocy technologii DirectQuery! A co za tym idzie nasz model może być zarówno statyczną kopią danych źródłowych wymagającą cyklicznych przeładowań, jak i interfejsem raportowym odpytującym źródło danych. Do tej pory większość modeli nad jakimi pracowałem czy to pod postacią Power Pivot czy też Power BI wymagała częstych bądź rzadszych odświeżeń danych, problem ten aktualnie został rozwiązany wraz z nową wersją opisywanego oprogramowania.

Jak zaimplementować DirectQuery w Power BI Desktop? Jest to bardzo proste – wybieramy GetData, a następnie np. SQL Server

directquery1

Następnie wybieramy bazę oraz opcjonalnie piszemy zapytanie SQL pobierające dane z określonej tabeli.

directquery2

W niniejszym przykładzie wybierzemy sobie całą tabelę Production.Product

directquery3

Teraz mamy do wyboru tryb połączenia pomiędzy Import czyli kopiowaniu danych do modelu albo DirectQuery czyli odpytywaniem źródła przez PowerBI Desktop.

directquery4

Po wybraniu DirectQuery każda zmiana w raporcie jak np. zmiana wartości na filtrze powoduje zaciągnięcie nowych danych bezpośrednio ze źródła.

Dla przykładu filtrując zliczenie na produktach po polu ProductLine

directqueryinpowerbi

W SQL Server Profiler możemy zauważyć, że PowerBI Desktop wysłał zapytanie aby pobrać dane

directquery6

Dzięki technologii DirectQuery oraz właściwym indeksowaniu np. z wykorzystaniem indeksów kolumnowych możemy uzyskać bardzo wydajne raportowanie czasu rzeczywistego lub bardzo bliskie raportowaniu czasu rzeczywistego. Więcej informacji o zmianach w Power BI można przeczytać na oficjalnym blogu.

Adrian Chodkowski
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Leave a Comment

Your email address will not be published. Required fields are marked *