unity wiedza

Czas czytania: 6 minut

Jak efektywnie wdrożyć Power BI? Modele działania

Dynamicznie rozwijający się system

Power BI jest obecnie jednym z najbardziej popularnych systemów self-service Business Intelligence. Swą popularność zawdzięcza między innymi bardzo intensywnemu rozwojowi. Co miesiąc Microsoft wypuszcza kolejne funkcjonalności swojego produktu. Użytkownicy mogą dowiedzieć się  o nich bezpośrednio na blogu usługi.

Bardzo często nowe funkcje dodawane są, na wyraźną prośbę społeczności użytkowników. Każdy może zgłosić swój pomysł lub zagłosować na pomysły zgłoszone przez innych.

Podstawowy model działania Power BI oparty jest o dwa główne komponenty, czyli aplikację desktopową oraz usługę w chmurze. Użytkownicy aplikacji desktopowej mogą raz w miesiącu pobrać jej nową wersję i zainstalować na swoich urządzeniach. Ponadto Microsoft aktualizuje usługę chmurową w analogicznym cyklu. Model ten daje największe możliwości rozwijania systemu przez dostawcę i dodawania do niego nowych funkcji.

Import danych

Wdrożenie Power BI w firmie w podstawowym modelu sprowadza się do zaimportowania danych z systemów źródłowych do pliku Power BI Desktop (na potrzeby pracy indywidualnej z danymi lub budowy raportów) lub do usługi chmurowej, za pośrednictwem narzędzia jakim jest brama danych (data  gateway). Więcej o niej na stronie producenta.

W takim przypadku w naszym pliku PBIX lub w chmurze przechowywana jest kopia wszystkich danych z plików źródłowych. Import odbywa się na żądanie użytkownika lub zgodnie ze zdefiniowanym harmonogramem (dotyczy wyłącznie usługi Power BI). Dane przechowywane są w strukturach zoptymalizowanych do tworzenia raportów, przetwarzane są w pamięci operacyjnej komputera, dzięki czemu czas generowania raportów jest bardzo krótki. Ponadto użytkownicy przeglądając raporty nie obciążają systemów, z których dane pochodzą. Ten model daje też pełną elastyczność w tworzeniu własnych kolumn i miar przy użyciu możliwości oferowanych przez język DAX.

Zapytanie bezpośrednie (Direct Query)

Są jednak przypadki, w których podstawowy model wdrożenia może nie spełniać naszych wymagań. Może to nastąpić gdy:

1. Rozmiar analizowanych danych przekracza limit pojedynczego zestawu danych, który w przypadku Licencji Power BI Pro wynosi 1 GB a w przypadku Power BI Premium 10 GB. Należy też tutaj dodać, że dane zaimportowane do aplikacji Power BI Desktop, które w chmurze przekładają się na wielkość zestawu danych (dataset) są kompresowane w stosunku około 10:1. Plik 100 MB po zaczytaniu do Power BI powinien zajmować zatem około 10 MB.

2. Potrzebujemy mieć wgląd w dane „na żywo”. Import danych z systemu źródłowego do chmury zawsze zabiera jakiś czas. Jeśli potrzebujemy śledzić dane aktualne (bieżącą temperaturę, kursy akcji czy walut, aktualne stany magazynowe lub inne bieżące dane) wówczas import może wprowadzać dodatkowe niepożądane opóźnienie w dostępie do danych.

3. Z jakichś powodów (np. prawnych) nie chcemy lub nie możemy tworzyć kopii danych i wysyłać jej do chmury.

W takim przypadku możemy zastosować przy łączeniu się ze źródłem opcję zapytania bezpośredniego (ang. Direct Query). Dzięki niej, dane pozostają w systemie źródłowym a każde wyświetlenie raportu spowoduje wygenerowanie zapytania do bazy źródłowej i przesłanie z niej jedynie wyników do Power BI.

Pracując z tego typu połączeniem należy szczególnie ostrożnie podchodzić do budowy raportów w kontekście wydajności. Jeśli strona z raportami będzie zawierała dużo elementów wizualnych, to każdy z nich wygeneruje zapytanie do naszej lokalnej bazy danych. Może to spowodować istotne obciążenie naszych systemów oraz kłopoty wydajnościowe.

Liczba źródeł, do których możemy się połączyć w tym modelu jest również mniejsza niż w przypadku tradycyjnego modelu importu danych. Obsługiwane źródła danych wymienione są tutaj.

Warto dodać, że w modelu zapytań bezpośrednich możliwości języka DAX są ograniczone. Nie będą np. działały funkcje z grupy Time Intelligence, które oferują sporo ciekawych możliwości związanych choćby z generowaniem porównań rok do roku/ miesiąc do miesiąca itp. Te funkcje nie mają swoich odpowiedników w języku SQL, stąd ich brak przy bezpośrednim połączeniu do bazy.

Co ważne, możemy zbudować hybrydowy model danych, który dane z części źródeł importuje a do innej części łączy się bezpośrednio. W ten sposób, możemy starać się ominąć ograniczenia obu z przedstawionych modeli.

Połączenie na żywo (Live Connection)

Power BI korzysta z silnika przechowywania i agregacji danych pochodzącego z serwerowego rozwiązania OLAP jakim jest Analysis Services. Jeśli zatem te systemy są bliźniacze, to można zbudować rozwiązanie, w którym Power BI będzie stanowił jedynie interfejs użytkownika a dane będą przechowywane i przetwarzane na serwerze. Połączenie na żywo jest dostępne zatem jedynie dla źródła danych jakim jest Analysis Services. Łącząc się z tym źródłem możemy co prawda zaimportować cały model do Power BI, ale korzystanie z połączenia na żywo spowoduje, że:

• Omijamy potencjalne limity wielkości zbioru danych (ogranicza nas tutaj rozmiar i wydajność naszej własnej infrastruktury).

• Sami decydujemy gdzie przechowywane są dane. Mogą być w naszym centrum danych lub w chmurze w usłudze Azure Analysis Services.

• Zadajemy zapytania do struktury przygotowanej pod kątem raportowym – ryzyko problemów wydajnościowych jest zdecydowanie mniejsze niż w przypadku Direct Query.

• Po stronie serwerowej możemy korzystać z pełni możliwości języka DAX.

W tym modelu tracimy samoobsługowość Power BI wyrażoną możliwością rozwoju modelu danych przez użytkowników. Jeśli dane będą przechowywane w Analysis Services to zarządzanie rozwojem modeli danych musi mieć charakter centralny. Tutaj co ważne nie zbudujemy modelu hybrydowego, gdzie część danych mogłaby być przechowywana w samym Power BI a część w Analysis Services. Tych modeli po prostu nie będzie się dało połączyć.\

Serwer raportów (report server)

Power BI istnieje również w postaci serwera raportów możliwego do uruchomienia w środowisku lokalnym. Nie jest to dokładnie to samo rozwiązanie co tradycyjny Power BI, choć wywodzi się z tego samego konceptu. Serwer raportów dostępny jest razem z licencją na Power BI Premium a także jest on częścią MS SQL Server w edycji Enterprise.

Jeśli chcemy używać lokalnego serwera raportów to musimy pobrać wersję aplikacji Power BI Desktop, która będzie dostosowana do niego. Więcej informacji na ten temat tutaj.

Z tej aplikacji będziemy mogli publikować raporty na serwerze znajdującym się w naszym centrum danych.

Z naturalnych względów ten model Power BI nie może się rozwijać tak szybko jak edycja chmurowa. Przyjmuje się, że nowa wersja report serwera wychodzi raz na 4 miesiące. Nowe funkcje i poprawki są dodawane najpierw do usługi Power BI. Są też funkcje, które z założenia przeznaczone są wyłącznie do usługi chmurowej Power BI i nigdy nie pojawią się w serwerze raportów.

Szczegółowe porównanie funkcji obu rozwiązań znajduje się tutaj.

Podsumowanie

Power BI jest jednym z najpopularniejszych systemów z klasy Self Service Business Intelligence. Jego najbardziej efektywny model działania to połączenie aplikacji desktopowej z usługa chmurową. Ten model ma jednak pewne ograniczenia, które można ominąć używając mechanizmów opisanych w tym artykule.

Wyrażam zgodę na przetwarzanie danych osobowych na zasadach określonych w polityce prywatności. Jeśli nie wyrażasz zgody na wykorzystywanie cookies we wskazanych w niej celach, w tym do profilowania, prosimy o wyłącznie cookies w przeglądarce lub opuszczenie serwisu. więcej

Akceptuj