Power BI Analyzer v. 1.13 – postupnosť výpočtov a ďalšie novinky

V predchádzajúcom článku som predstavil prvú verziu Power BI Analyzera. A ako som sľúbil, tak nezostáva len pri jeho prvej verzii. Pridal som doňho podporu na interaktívne sledovanie postupnosti výpočtov medzi vypočítanými stĺpcami, merítkami a vypočítanými tabuľkami. A vďaka tomu ide jeho využiteľnosť ďaleko za hranice dokumentácie dátového modelu.

Aktuálna verzia v tomto momente je 1.13, a môžete si ju stiahnuť z tohto odkazu. Návod na použitie je rovnaký, ako je popísané v predchádzajúcom článku. Preto tu popíšem iba novinky.

Pridaná funkcionalita

Oproti prvej verzii pribudla táto funkcionalita:

  1. nová strana reportu nazvaná Postupnosť výpočtov, určená na sledovanie závislostí medzi vzorcami a štruktúrami v dátovom modeli (viď nižšie),
  2. na stranu Tabuľky pribudli medzi ostatné tabuľky aj vypočítané tabuľky, spolu s ich vzorcom (radšej ani nechcite vedieť, ako strašne je to uložené v zdrojových DMV, a ako sa to muselo upraviť, aby to fungovalo aj s ostatnými vecami v reporte), plus počet riadkov pre každú tabuľku:
  3. na stranu Stĺpce pribudol nový stĺpec “Zoradený podľa”, kde je názov stĺpca, podľa ktorého je daný stĺpec zoradený (funkcionalita Zoradiť podľa stĺpca v dátovom modeli),
  4. na stranu Prepojenia pribudlo zobrazovanie typu prepojenia nad danou šípkou v grafe,
  5. na stranu Tabuľky pribudol preklik na prepojenia zo zoznamu tabuliek (pravý klik na tabuľku => Podrobná analýza => Prepojenia),
  6. mierne upravené formátovanie údajov na všetkých stranách reportu, aby to vyzeralo lepšie, resp. aby sa s tým lepšie pracovalo,
  7. od tejto verzie nie je potrebné zadávať parameter s názvom databázy – šablóna si ho zistí sama. Takisto parameter Port je nepovinný (okrem Power BI Desktopu). Zároveň sa výrazne zjednodušil postup použitia šablóny, a zvyčajne netreba pri tom ísť ani do Power Query. Upravený návod na použitie nájdete v predchádzajúcom článku,
  8. pribudla podpora pre Azure Analysis Services,
  9. bolo zjednodušené a centralizované pripájanie sa na dátový zdroj v Power Query.

Opravená funkcionalita

Táto funkcionalita bola opravená, resp. upravená tak, aby obchádzala bugy v Power Query a v Power BI:

  • opravená štatistika spotreby pamäte a kardinality stĺpcov, pre niektoré špecifické prípady,
  • odstránené automatické rušenie niektorých prepojení medzi textovými stĺpcami v šablóne pri úrovni kompatibility 1400 – v najnovšej 1455 sa už nevyskytuje, ale tú momentálne majú iba tí, ktorí majú zapnuté funkcie Preview v Power BI Desktope, takže preto je to tam zatiaľ potrebné,
  • odstránenie občasného zacyklenia sa pri väčších dátových modeloch, pri príprave dát pre postupnosť výpočtov, a optimalizácia rýchlosti a pamäťovej náročnosti tohto kroku.

Ako analyzovať postupnosť výpočtov v dátovom modeli

Túto funkcionalitu si už dávno pýtali užívatelia Excelu, ktorí sú zvyknutí na to, že si vedia zapnúť v Exceli také čierne/farebné šípočky, ktoré ukazujú postupnosť výpočtu vzorca medzi jednotlivými bunkami Excelu. A keďže to vie interne robiť PowerPivot a tým pádom aj Power BI – lebo inak by nevedeli správne prepočítavať dátový model či report po aktualizácii dát – tak som prijal výzvu rozbehať to voči Power BI (a vlastne voči všetkému, čo používa PowerPivot).

Problém číslo jedna bol ten, že som na to nevedel nájsť iné nástroje, ktoré by to vedeli zobraziť. Máme síce DAX Studio, ale to vie zobraziť len jeden krok výpočtu, a aj to len pre merítka. A musí sa inštalovať, čo vo väčšine firiem len tak hneď nedovolia… Takže som to celé musel tentokrát vykoumať sám.

Údaje z interných DMV bolo ale potrebné nielen upraviť, ale aj upratať. Lebo najmä pri špecialitách ako vypočítané tabuľky či vypočítané stĺpce v rámci nich, to je už na pozadí uložené dosť hrozne. Snáď to raz v MS upracú do rovnakého formátu, aký má zvyšok dátového modelu. Na nejaký čas ale budeme musieť fungovať takto.

Takže výzva je zvládnutá, a poďme sa pozrieť, ako sa s tým pracuje. Dáme si v našom vzorovom súbore Power BI zobraziť napr. zoznam merítok v tabuľke Objednávky (na strane reportu s tabuľkami dajte pravý klik na danú tabuľku => Podrobná analýza => Merítka). Rovnaký postup potom funguje aj pre vypočítané stĺpce:

A teraz nás zaujíma, ako sa počíta merítko [% obratu]. Na obrázku vyššie síce vidíte jeho vzorec, ale v ňom sú použité iné merítka, a treba preto pátrať ďalej. S našom novou analýzou postupnosti výpočtov je to však ľahké ako vyprať zažrané škvrny v teleshoppingu. Stačí kliknúť na dané merítko pravým tlačítkom myši, a potom dať Podrobná analýza => Postupnosť výpočtov:

Preklikne vás to na stranu reportu, ktorá slúži na túto analýzu, a kde zobrazí vybrané merítko. Prípadne vypočítaný stĺpec, ak ste to zavolali zo zoznamu stĺpcov. Tam je to zobrazené vo formáte hierarchického slicera, ktorý si môžete rozklikávať. Lepší vizuál zdarma som jednoducho nenašiel – aj keď viem hneď o jednom, ktorý je platený, ale ten do verejného reportu nemôžem dať.

Keď teda chcete vidieť, z čoho sa počíta toto merítko, tak rozkliknite tú šípočku naľavo od neho:

…a rozklikne sa to na zoznam objektov v dátovom modeli, z ktorých sa toto počítalo:

To si samozrejme môžete rozklikávať po jednom, až dokým nenájdete to čo ste hľadali, alebo dokým vás to neomrzí. V tom druhom prípade – ak chcete vidieť rovno celý strom závislostí – kliknite na to mikroskopické znamienko “+” v pravom hornom rohu vizuálu. Pozor, zobrazí sa iba vtedy, keď ste myšou vo vnútri vizuálu, inak je skryté. Keď teda naňho kliknete:

…tak dostanete komplet celý strom postupnosti počítania, až ku zdrojovým stĺpcom/tabuľkám:

A takto viete za pár sekúnd dohľadať aj v komplikovanom dátovom modeli, z čoho sa počíta X, ak závisí od A, B a C a je tam ešte niekoľko medzikrokov. Momentálne je podporovaných iba 9 úrovní rozkliku, ale časom tam pribudnú ďalšie. A ak nemáte naozaj čo s časom, tak si môžete pozrieť v Power Query, ako bolo potrebné celú tú maškarádu namodelovať, aby sa to takto ľahko dalo používať 🙂

Takže to je na dnes všetko, a opäť – píšte dole do komentárov alebo do mailu, čo by ste tam chceli mať. Budúci vývoj závisí aj od toho, čo mi napíšete 😉