W jednym z artykułów, który ukazał się pod koniec stycznia na blogu erpnav.pl, znalazła się krótka informacja o możliwości wykorzystania Power BI w najnowszej wersji systemu Microsoft Dynamics NAV 2018. Faktycznie, wraz tą wersją systemu NAV, Power BI stał się jeszcze bardziej integralną jego funkcją. Warto jednak zauważyć, że nie jest to pierwsza, a na pewno nie jedyna opcja wykorzystania Power BI w ramach ekosystemu Dynamics (Microsoft Dynamics NAV, AX i 365). W dalszej części artykułu postaram się przybliżyć dostępne opcje, jak również wskazać, do realizacji jakich scenariuszy nadają się one najlepiej.
Ta znajomość trwa już kilka lat
Rozwiązania z rodziny Dynamics to przykład bardzo ścisłej integracji systemów transakcyjnych z platformą raportową. Pierwotnie elementy obszaru raportowania i analizy danych gromadzonych w systemach Dynamics bazowały na dobrze znanym i sprawdzonym mechanizmie raportowania, którego sercem był (i nadal jest) Report Server. Zgadza się, to właśnie SQL Server Reporting Services służyło pierwotnie za mechanizm umożliwiający tworzenie predefiniowanych, a także mniej standardowych raportów. Wykorzystanie Report Buildera do budowy raportów stało się dość powszechne, powstały nawet "paczki" raportów, które można dodać do swojego środowiska (niestety w momencie publikacji tego artykułu linki do tych paczek na stronach Microsoft nie są już dostępne). Nie ma jednak sensu ukrywać, że podejście to było dalekie od doskonałości w zakresie raportowania dla tak potężnego rozwiązania, jakim jest rodzina Dynamics. Warto też pamiętać, że wraz z rozwojem tych systemów pojawiały się również nowe możliwości integracji, także w obszarze raportowym.
Open Data Protocol i następstwa jego użycia
Microsoft Dynamics żył (i nadal żyje) w głębokiej symbiozie ze światem Web Service'ów w oparciu o SOAP (przyp. Simple Object Access Protocol). Dość dużą zmianą, a jednocześnie ułatwieniem w obszarze raportowania, było wprowadzenie OData począwszy od Microsoft Dynamics 2013. OData czyli Open Data Protocol to protokół sieciowy, który służy do pobierania i aktualizowania danych. Jego budowę dość dobrze opisuje równanie (zaczerpnięte z historycznych, ale wciąż wartościowych zasobów MSDN):
OData = HTTP/ATOM + Query + JSON + Metadane
W odniesieniu do rozwiązań Dynamics olbrzymią zaletą wykorzystania OData jest również to, że protokół ten jest niezależny od źródła danych oraz dane publikowane z jego wykorzystaniem mogą w pełni respektować logikę biznesową narzuconą przez aplikację oraz kontekst uwierzytelnionego użytkownika. Oczywiście, aby korzystać ze wszystkich zalet OData należy dokonać odpowiedniej konfiguracji. Pierwszy krok – to działania po stronie NAV, dzięki, którym publikowane dane będą dostępne poprzez OData.
Jakie dane są dostępne przez OData
W zasadzie nie jesteśmy tutaj specjalnie ograniczani. Chcąc dostać się do określonych danych wystarczy opublikować je poprzez OData. Może to być strona (Page), czy też zapytanie (Query), a dostęp realizowany jest poprzez określony URL. Do budowy zapytań korzystamy z Query Designer'a (Tools->Object Designer->Query->Design / New) lub też wskazujemy wybraną stronę (Page):

W kolejnym kroku należy zapewnić, że efekt zapytania widoczny jest jako OData URL:


Czy to wszystko? W zasadzie tak, pozostaje teraz wykorzystać stworzone źródła w ramach Power BI. W tym miejscu istotna jest jedna uwaga. Powyższe przykłady opisują przygotowanie Microsoft Dynamics NAV do pracy z Power BI. W przypadku Dynamics AX proces konfiguracji wygląda nieco inaczej, jednak w efekcie również uzyskujemy dostęp do danych poprzez OData. Kroki konfiguracji realizowane są z poziomu ustawień administracyjnych organizacji: Organisational Administration \ Setup \ Document Management \ Document Data Sources

Analiza danych z poziomu Power BI
Biorąc pod uwagę, że proces udostępnienia danych został zaadresowany z poziomu Dynamics, korzystając z OData, tego samego rodzaju źródła musimy szukać po stronie Power BI. Otwieramy PowerBI, a tam... mamy kilka możliwości.
1. Źródło OData
Źródło OData to najbardziej generyczny konektor, jaki można wykorzystać, aby zapewnić sobie dostęp do opublikowanych danych. Co ważne w zależności od systemu źródłowego, adres wykorzystywany do połączenia wygląda nieco inaczej.
W Dynamics AX:
http://<Server Name>:8101/DynamicsAx/Services/ODataQueryService/
W Dynamics NAV:
https://instance.navserver.com:7048/DynamicsNAV90_Instance1/OData/Company('CRONUS%20International%20Ltd.'), gdzie:
- "instance.navserver.com" – nazwa serwera NAV,
- "DynamicsNAV90_Instance1" – nazwa instancji NAV,
- "Company('CRONUS%20International%20Ltd.')" – nazwa firmy.
W Dynamics 365:
Dla wdrożeń wewnętrznych (non-IFD) https://server/crmorganization/api/data/vn.0, gdzie:
- server/crmorganization to ścieżka aplikacji sieci Web dla organizacji Microsoft Dynamics 365,
- vn.0 to wersja Microsoft Dynamics 365, taka jak v8.0 dla Microsoft Dynamics 365.
Na przykład https://contoso1/contosocrm/api/data/v8.0.
W przypadku wdrożeń IFD https://[organization_URI]/api/data/vn.0, gdzie:
- organization_URI to pełna nazwa domeny dostępnej przez Internet,
- vn.0 to wersja Microsoft Dynamics 365, taka jak v8.0 dla Microsoft Dynamics 365.
Na przykład, organizacja Contoso ma następujący adres URL: https://crmweb.contoso.com/api/data/v8.0.
Jako, że do tworzenia raportu wykorzystywany jest generyczny konektor OData, niestety ta opcja tworzenia raportów wymaga od użytkownika końcowego samodzielnego budowania raportów krok po kroku. Oczywiście samo umieszczenie w raporcie odpowiednich atrybutów nie należy do najtrudniejszych, jednak w wielu przypadkach niezbędne będą także znacznie bardziej skomplikowane modyfikacje w obrębie raportu. Właśnie z myślą o takich potrzebach powstają dodatkowe konektory oraz szablony rozwiązań dostępne w Power BI Desktop, jak również w usłudze powerbi.com
2. Konektor Dynamics NAV
Konektor Dynamics NAV w momencie publikacji tego artykułu jest w wersji Beta. Konektor ten umożliwia w zasadzie natychmiastowy dostęp do pulpitu nawigacyjnego, zawierającego najbardziej istotne dane systemu NAV, zaprezentowane w dość przystępnej formie:

Dane prezentowane w ramach pulpitu pochodzą z następujących encji NAV:
- ItemSalesAndProfit
- ItemSalesByCustomer
- powerbifinance
- SalesDashboard
- SalesOpportunities
- SalesOrdersBySalesPerson
- TopCustomerOverview
Czy to wszystko?
Patrząc przez pryzmat możliwości Power BI Desktop – TAK. Jednak w tym miejscu dostrzec można prawdziwie możliwości usługi Power BI. Jeszcze do niedawna możliwości raportowe ograniczały się do szablonów rozwiązań (solution templates), które można było uruchomić i skonfigurować do działania. Obecnie szablony rozwiązań zastąpione zostały przez aplikacje dostępne w repozytorium aplikacji (App Source) pod hasłem Power BI Apps. Wśród wspomniany aplikacji znaleźć można zarówno gotowe pulpity nawigacyjne, jak i proste źródła/listy typu Lista zamówień/Lista dostawców. Co bardzo istotne, wspomniane aplikacje dotyczą wszystkich systemów z rodziny Dynamics.





Dzięki wykorzystaniu aplikacji uzyskujemy szybki dostęp do podsumowań, takich jak np.:
- Pulpit danych finansowych:

- Podsumowanie aktywności prowadzonych z klientami:

- Czy też aktywności marketingowych:

Dodatkowo w przypadku Dynamics 365 Online dostępne są również do pobrania szablony plików Power BI (pbix), wśród nich:
- Menedżer sprzedaży .PBIX Microsoft Dynamics CRM Online
- Menedżer działu obsługi klienta .PBIX Microsoft Dynamics 365 (online)
- Szablon raportu usługi Power BI dla rozwiązania Connected Field Service for Microsoft Dynamics 365
Kilka słów na koniec
Jako podsumowanie warto wskazać kilka elementów:
Najnowsze wersje produktów ekosystemu Dynamics umożliwiają ścisłą integrację z Power BI – dzięki czemu efekty w postaci tworzonych raportów mogą być osadzane bezpośrednio w Dynamics (artykuł opisujący, jak to zrobić dostępny na erpnav.pl).
Opisane podejście można stosować w najnowszych wersjach produktów Dynamics. Biorąc jednak pod uwagę, że pierwszy z opisanych sposobów bazuje na natywnym konektorze OData, można go stosować dla wszystkich wersji systemów, w których możliwy jest dostęp do danych w oparciu właśnie o ten protokół. W przypadku szablonów i aplikacji Power BI zastosowanych w starszych wersjach, mogą jednak występować różnice w dostępnych i publikowanych domyślnie obiektach oraz ich atrybutach, co uniemożliwi wykorzystanie predefiniowanych pulpitów.
Należy zwrócić również uwagę na zapisy licencyjne produktów Dynamics 365 czy też NAV, gdyż w przypadku najnowszych wersji określonych produktów, są one dostarczane z licencjami umożliwiającymi korzystanie z Power BI w formie osadzania raportów w ramach Dynamics. W przypadku pozostałych produktów należy zadbać o odpowiednie licencje dla użytkowników korzystających z raportów przygotowanych oparciu o Power BI. Dla przykładu Dynamics 365 Unified Operations Plan dostarczany jest wraz z licencją na osadzanie raportów Power BI w ramach interfejsu użytkownika – jednak bez prawa do użycia Power BI do celów innych niż związanych z Dynamics 365. Pozostałe Plany wymagają już licencji Power BI, niezależnie od formy jego użycia.
Podobnie w przypadku Dynamics NAV 2017/2018 – w ramach Starter Pack dostępna jest licencja Embedded Power BI, umożliwiająca wykorzystanie Power BI w ramach NAV.
Źródło zdjęć: https://msdn.microsoft.com/pl-pl/
Autor: