ALM Toolkit i Power BI – praktyczne scenariusze użycia

Dzisiejszy artykuł dotyczy jednego z narzędzi zewnętrznych – ALM Tooklit. Wydaje mi się, że warto skorzystać z niego, przy okazji pracy z rozwiązaniami budowanymi w środowisku Power BI. Sam mam do niego spory sentyment i korzystałem z niego bardzo dużo w jednym z projektów. Zapraszam do lektury – ALM Toolkit praktyczne scenariusze użycia!

ALM Toolkit – co to jest?

ALM Toolkit to narzędzie zewnętrzne, które możesz zintegrować ze środowiskiem Power BI i korzystać z niego ramach w swojej pracy. W dalszej części artykułu przedstawię Ci kilka scenariuszy jego użycia.
Narzędzie znajdziesz na githubie autora (link tutaj). Wystarczy, że pobierzesz i zainstalujesz plik z rozszerzeniem *.msi.

Na moment tworzenia artykułu, aktualna wersja to 5.1.11. Sama instalacja jest bardzo prosta, posiada interfejs, gdzie wybieramy po prostu opcje [Next]. Po instalacji, ALM Toolkit jest dostępny w Systemie jak zwykła aplikacja.

Scenariusze użycia ALM Toolkit

W jednym z projektów dla bardzo dużej organizacji, w którym miałem przyjemność pracować bardzo często korzystaliśmy z ALM Toolkita przy okazji pracy w fazie POC (Proof Of Concept) nad jednym z rozwiązań.

Oczywiście zasadność użycia ALM Toolkit jest zależna od dojrzałości procesu wgrywania zmian (czy np. korzystasz z repozytoriów, pipeline’ów itp.).
Na pewno jest to bardzo fajna opcja przy pracy przy mniejszych rozwiązaniach, gdzie proces wgrywania zmian nie jest super dojrzały. Warto też korzystać z ALM Toolkita przy okazji tworzenia POCów.

Śledzenie zmian i ich scalanie – praca wielu osób nad jednym plikiem

Pierwszy i najprostszy scenariusz, do jakiego możesz użyć ALM Toolkit dotyczy porównywania rozwiązań i możliwości szybkiej edycji/ integracji zmian. Załóżmy, że 2 osoby rozwijają ten sam raport w Power BI Desktop, pracując równolegle na 2 różnych kopiach docelowego pliku. Dzięki temu, że ALM Toolkit w najnowszych wersjach wspiera TMDL (Tabular Model Definition Language, w skrócie, to taki język, który definiuje Twoje rozwiązanie) łatwo można scalić zmiany.

Załóżmy, że mam mój plik, z poprzedniego artykułu. Pracowałem sobie na jego kopii, równolegle, ponieważ dodawałem nowe miary [Wczoraj] i [Najstarsze odświeżenie], zmieniłem logikę miary [Ilość miar], żeby pokazywała tylko nieukryte miary, a także dodałem nową kartę na samym raporcie, pokazującą w formie karty wartość miary [Wczoraj].

Teraz chciałbym scalić zmiany z oryginalnym plikiem, który zawsze publikuję na usłudze Power BI Service.

Po odpaleniu ALM Toolkit wybierz opcję [Compare], w następnym kroku zaznacz w grupie [Source] opcję [Power BI Desktop] i wybierz interesujące Cię pliki (Musisz je mieć otwarte w Power BI Desktop). Analogicznie zrób w grupie [Target].


Source, to plik który chcemy porównać z innym rozwiązaniem. Kierunek zmian jest z opcji [Source] do opcji [Target]. Czyli w moim przypadku będę scalał zmiany z pliku [MetadaneModelu – development] z plikiem [MetadaneModelu], który służy za moje główne rozwiązanie.

Na koniec wybierz opcję [OK].

ALM Toolkit porówna nasze rozwiązania i wygeneruje tabelę jak poniżej.

W kolumnie [Status] widzisz zmiany, które zostały wykryte. Miary [Najstarsze odświeżenie] oraz [Wczoraj] dostały status [Missing in Target]. Z kolei miara [Ilość miar] ma status [Different Definitions], ponieważ w niej zmieniłem definicję i funkcją CALCULATE() zmieniłem kontekst, żeby zliczała tylko miary, które nie są ukryte.

Co ważne, zauważ, że ALM Toolkit działa na danych powiedzmy Backendowych. Wykrywa różnice w metadanych modelu, w używanych komponentach jak miary czy tabele. Nie wykrywa jednak zmian w samej warstwie wizualizacyjnej (Pamiętasz, dodawałem nową kartę z miarą [Wczoraj]).

W kolejnym kroku warto z menu [Select Actions] opcję [Hide skip objects]. Dzięki temu schowają się obiekty, które mają te same definicje, a my nie dostaniemy oczopląsu 😊

Bardzo cenię ALM Toolkit za elastyczność. Nie muszę scalać wszystkich zmian. Załóżmy, że ostatecznie chcę, żeby do mojego modelu trafiła miara [Wczoraj], miara [Ilość miar] została podmieniona, a ostatecznie nie chcę wgrywać miary [Najstarsze odświeżenie].

Wybieram sobie odpowiednie opcje w polu [Action], jak na poniższym obrazku i następnie wybieram opcję [Validate selection]:

Wyskoczy nam podsumowanie zmian.

Na górnym pasku odblokują się opcje [Update] i [Generate script].


Użyj opcji [Update], która automatycznie wykona wybrane przez Ciebie zmiany. W kolejnym kroku wyskoczy okno z pytaniem, czy na pewno chcesz wgrać zmiany, wybierz oczywiście opcję [Yes].

Zmiany zostały scalone, gratulacje!

Po otworzeniu pliku wybranego w zakładce [Target] są dostępne zmiany. Widzę nową miarę [Wczoraj], miara [Ilość miar] została podmieniona. Tak jak wspominałem, nie są jednak dostępne zmiany na samej kwestii wizualizacyjnej raportu – nie mam karty z wynikiem miary [Wczoraj].

Wgrywanie zmian do Power BI Service przy użyciu ALM Toolkit

Jeśli działasz z obszarem roboczym usługi Power BI Online przypisanym do Premium Capacity lub korzystasz z licencji Premium Per User (PPU), to ten scenariusz może Ci się przydać. Pamiętaj jednak, że obszar roboczy, z którym chcesz pracować, musi mieć włączoną opcję Read/ Write dotyczącą komunikacji przez XMLA Endpoint. Instrukcję jak to zrobić, znajdziesz tutaj. Jeśli nie zarządzasz usługą Power BI Online, poproś Administratora, żeby zrobił to dla Ciebie.

Przy pomocy ALM Toolkit możesz porównywać swoje lokalne rozwiązanie rozwijane w Power BI Desktop, z tym, które jest aktualnie opublikowane w usłudze Power BI Service.

Aby to zrobić, w ramach obszaru roboczego, który spełnia powyższe wymagania, przejdź do ustawień obszaru roboczego i z zakładki [Informacje o licencji] skopiuj wartość, którą znajdziesz w opcji [Link połączenia].

Aby porównać nasze rozwiązanie lokalne, z tym opublikowanym w usłudze Power BI Online w ramach opcji [Compare] wybieramy następującą konfigurację:

Jak widzisz w moim przypadku lokalnie stworzyłem miarę [Sprzedaż Kowalski] (abstrahując od jej sensu, to na potrzeby artykułu 😊 ) i skasowałem z modelu miarę [Liczba Klientów].

Wybierając w [Action] opcje, jak poniżej dokonam wgrania na model semantyczny w PBI Service zmian w tym zakresie (pochodzących z lokalnego pliku rozwijanego w Power BI Desktop).

W kolejnych krokach działamy, tak jak poprzednio czyli [Validate Selection] i [Update].

Pamiętaj jednak, że update dokonuje trwałych zmian na rozwiązaniu wskazanym jako [Target].

Oczywiście można też dokonać zmian, w drugą stronę. Tzn. np. uspójnić plik, który masz lokalnie z wersją opublikowaną w usłudze PBI Online. Wówczas należy po prostu podmienić odpowiednio obiekty w ramach [Source] i [Target].

ALM Toolkit i podgrywanie zmian w modelu bez konieczności jego przeliczania

Dlaczego ta funkcjonalność jest taka super? Pomyśl sobie, że tak jak ja w jednym z projektów, jesteś w fazie koncepcyjnej i codziennie dogrywasz zestaw miar do swojego rozwiązania, na którym masz już załadowane dane do ogromnej tabeli faktów. Jeśli robiłbyś to z poziomu PBI Desktop i opcji „publikuj”, wówczas po przeniesieniu zmian do usługi nastąpi odświeżenie wszystkich tabel. W przypadku dużej tabeli faktów może to być bardzo zasobo- i czasochłonne. Dlatego właśnie tak bardzo polubiłem się z ALM Toolkit w tamtym projekcie 😊 Mogłem sobie szybko podgrywać zmiany w modelu, bez konieczności przeliczania wszystkich tabel, co zajęłoby dużo czasu.

Oczywiście możliwa jest też zmiana obiektów jak np. tabele (dodanie nowej kolumny itp.). Wówczas, żeby było to tak szybkie, jak w przypadku miar, trzeba by odświeżać obiekty bezpośrednio przez XMLA Endpointy. Mam w planach opisać taki scenariusz na blogu 😊

UWAGA!

Pamiętaj, że obiekty zmienianie z poziomu XMLA Endpointów (to taki interfejs, w jaki narzędzia zewnętrzne komunikują się z Twoim modelem) nie mogą być pobrane z usługi PBI Online. Zobaczysz poniższy komunikat.

Miej to na uwadze pracując np. z ALM Toolkit czy innymi narzędziami, które dokonują zmian z poziomu Write (Zapisu) na obiektach dostępnych w ramach Twoich obszarów roboczych . Pliki z modelami trzeba wówczas trzymać lokalnie/ na repozytorium.

ALM Toolkit i dokumentowanie różnic

Kolejną ciekawą funkcją, której możesz użyć przy pracy z ALM Toolkit to tworzenie dokumentacji różnic.

Na pasku znajdziesz ikonkę, po kliknięciu której zostanie wygenerowana dokumentacja z różnicami. (Wygląda jak tabela z różnicami, którą widzisz normalnie w aplikacji). Być może przyda Ci się to podczas pracy czy listowania różnic między rozwiązaniami dla drugiej osoby. Czasem łatwiej wygenerować takiego Excela, niż opowiadać „słownomelodycznie” 😊

ALM Toolkit – podsumowanie

Jedną z zewnętrznych aplikacji, która w ciekawy sposób integruje się ze środowiskiem Power BI’owym jest ALM Toolkit. Zachęcam Cię do zgłębienia tego narzędzia. W artykule przedstawiłem Ci kilka scenariuszy, które mogą usprawnić i znacząco przyspieszyć pracę z rozwiązaniami. Ciekawą opcją jest możliwość porównywania rozwiązań między sobą i ich scalania, gdy wiele osób pracuje nad plikiem i na końcu chcemy je zmerge’ować razem do jednego pliku. Pamiętaj jednak, że ALM Toolkit nie obsługuje zmian w kwestii wizualizacji i samego raportu. Sam bardzo chętnie korzystałem z ALM Toolkita w jednym z projektów w fazie POC, gdzie mogłem szybko podgrywać nowe obiekty bez konieczności przeliczania całego modelu, który posiadał wiele danych. Kombinacja ALM Toolkit i XMLA Endpointów daje naprawdę dużą moc! Daj znać, czy korzystasz z narzędzia lub czy spróbujesz jednego z opisanych scenariuszy.

Dane są wszędzie, wiesz?

Zapisz się, jeśli interesujesz się Power BI'em i danymi. Co jakiś czas odezwę się z ciekawymi materiałami.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *