Kilka słów o: 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 nie jest już jedynie statyczną kopią danych źródłowych wymagającą cyklicznych przeładowań, a jedynie 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żeni 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

Get data from SQL Server

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

DirectQuery5

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.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s