
Jak pobrać definicje miar i inne metadane z modelu Power BI?

Cześć,
Witaj po świąteczno- noworocznej przerwie! Cieszę się, że jesteś na moim blogu.
Dzisiaj pokażę jak Ci jak pobrać definicje miar z Twojego modelu. Eksploracja metadanych (czyli danych opisujących dane) jest bardzo ciekawa i możesz znaleźć bardzo wiele cennych informacji na temat swojego rozwiązania. Co ciekawe, możesz pobierać metadane z modeli w ramach Power BI, Fabric ale też w przypadku rozwiązań Analysis Services, zarówno SSAS i AAS.
Zapraszam do lektury!
DMV – co to jest?
Skąd brać metadane? O czym mowa? O tabelach systemowych – Dynamic Management Views (DMVs). Są to obiekty, które zawierają informacje, opisujące Twój model. Znajdziesz tam np. dane dotyczące miar, tabel, kolumn, partycji. To tylko niektóre, podstawowe informacje, zachęcam do zgłębienia w wolnej chwili dokumentacji, którą znajdziesz tutaj.
Po co mi metadane?
Często zdarza się, że Twój model semantyczny (źródło dla raportu) jest używany przez Inny Zespół. Być może ktoś z Organizacji pobiera dane z Twojego modelu i potem w dalszy sposób wykorzystuje je po swojej stronie. Być może Użytkownicy Biznesowi, z którymi pracujesz mają zacięcie techniczne i znają DAX’a.
Prędzej czy później, trafisz na pytanie: „W jaki sposób wyliczana jest ta miara?” Udostępnienie takich informacji (metadanych) może oszczędzić sporo czasu Tobie i Odbiorcom Twoich rozwiązań.
Warto też wykorzystywać metadane do tworzenia dokumentacji rozwiązania. (Pamiętajcie, żeby tworzyć dokumentację! 🙂 ).
Przegląd definicji miar z Poziomu PBI Desktop
Jakiś czas temu do PBI Desktop została dodana opcja [Widok zapytań w języku DAX] ang. [DAX Query View].
Z tego właśnie poziomu możesz podejrzeć tabelkę z metadanymi dotyczącą miar.
Wystarczy, że z lewej strony wybierzesz właśnie wspomnianą wyżej funkcjonalność. Następnie uruchom poniższy kod:
EVALUATE(
INFO.MEASURES()
)

W wynikach zobaczysz tabelkę, która będzie zawierała informacje dotyczące miar, które są w Twoim rozwiązaniu.
Warto zwrócić uwagę na pola np. [Expression] – zawierające DAX-ową definicję, [IsHidden] ukazującą informację, czy miara jest ukryta, a także np. [Modified Time] wskazującą datę i godzinę modyfikacji.

Wynik zapytania możesz np. skopiować i przesłać zainteresowanemu.
Zachęcam do eksploracji tabelek INFO, które zawierają wiele ciekawych metadanych. Koniecznie zajrzyj tu i tu.
Eksploracja metadanych z poziomu DAX Studio
Kolejny sposób to podejrzenie miar z poziomu DAX Studio.
Jest to zewnętrzna aplikacja, która jest bardzo przydatna przy pracy związanej
z o którym pisałem już wcześniej tutaj.
W DAX Studio wybieramy [Connect] i odpowiednio łączymy się do naszego lokalnego modelu (1) lub przez XMLA Endpoint (2) do modelu semantycznego opublikowanego w usłudze PBI Online.
W ramach opcji numer (2) możecie też łączyć się do serwerów SSAS (SQL Server Analysis Services) czy AAS (Azure Analysis Services) i do konkretnych modeli tabularycznych tam umieszczonych. Możesz też spotkać się z określeniem „kostka”. Tak często nazywane są modele tabelaryczne. Co ważne, żeby odpytywać DMV z poziomu DAX Studio musisz mieć uprawnienia Administratora, czyli np. być właścicielem modelu.

Po podłączeniu do naszego rozwiązania (w moim przypadku lokalny plik PBI) przechodzimy do zakładki [DMV] (od Dynamic Management Views, o których pisałem we wstępie). Interesuje nas obiekt [TMSCHEMA_Measures]. Możemy kliknąć i przenieść go myszką na prawą stronę, na zasadzie Drag & Drop.
Pojawi się zapytanie:
select * from $SYSTEM.TMSCHEMA_MEASURES

Jeśli będziesz eksplorował obiekty DMV, skup swoją uwagę na tych, które mają przedrostek TM (od Tabular Model). Są też takie z przedrostkiem MD, ale one dotyczą starszych modeli (Multidimensional) i nie możesz ich odpytać.
Wygenerowane zapytanie to zapytanie MDX-owe. Nie będę teraz wchodził w szczegóły, ale lubię dawać takie ciekawostki, żebyś dobrze rozumiał co się dzieje 😊
Klikamy [Run] i w zakładce [Results] naszym oczom ukazuje się tabelka z wynikiem zapytania przedstawiającym informacje odnośnie miar w naszym rozwiązaniu.
Wynik zapytania możesz również oczywiście skopiować i wysłać.

Dynamiczne pobieranie metadanych z modelu
Zastanawiasz się pewnie, czy możliwe jest dynamiczne pobieranie miar i innych metadanych z modelu Power BI? Oczywiście, że tak! Już za tydzień, zbudujemy rozwiązanie, które w dynamiczny sposób umożliwi Ci pobieranie interesujących Cię danych odnośnie Twojego modelu. Stworzę też i udostępnię Ci plik – raport zawierający informacje o modelu – np. ostatnie czasy odświeżenia, jego wielkość itp. W jednym z projektów, w których pracowałem budowałem takie rozwiązanie i było bardzo przydatne pod kątem obserwacji modeli. Ale to już za tydzień! Daj znać, czy takie rozwiązanie wydaje się dla Ciebie interesujące!😊
Drobne ogłoszenia
W styczniu pojawią się też kolejne 2 odcinki podcastu, jeśli nie słuchałeś jeszcze wcześniejszych odcinków, to zachęcam do nadrobienia, znajdziesz je np. tutaj 😊
Gościnią jednego z odcinków była Klaudia Stano, która prowadzi Bloga Język Danych, rozmawialiśmy między innymi o akcji #BI_NGO. W najbliższą niedzielę (12.01.2025), o 19:00, na YT będzie podsumowanie akcji i prezentacja wybranych prac. Być może brałaś/ brałeś udział w akcji. Zachęcam do obejrzenia wydarzenia na YouTube, link znajdziesz tutaj.