Diagnostický port Power BI Desktopu

V jednom staršom článku som písal o tom, ako sa pripojiť z Excelu priamo na dátový model v Power BI Desktope pomocou informácií z DAX Studia. To samozrejme funguje aj doteraz. Čo však v prípade, keď nemáte možnosť nainštalovať si DAX Studio? Alebo keď vám to vo firme nepovolia? Preto sa teraz pozrieme na všetky možnosti, ako sa pripojiť na tento tzv. diagnostický port v Power BI Desktope.

Diagnostický port je oficiálny názov techniky, ktorú som popisoval už v hore uvedenom staršom článku. Vtedy sa to však tak ešte nevolalo, a až do mája 2018 to nebola oficiálna možnosť. Princíp techniky je taký, že Power BI Desktop používa na spracovanie a hostovanie dátového modelu PowerPivot, ktorý sa spúšťa ako SSAS Tabular v powerpivotovom móde na pozadí. Tento server počúva na nejakom porte, a je možné sa k nemu pripojiť z ľubovoľného OLAP alebo DAX klienta. Problém je však v tom, že tento port sa mení pri každom štarte Power BI Desktopu, a je to náhodné číslo. Preto si ho potrebujeme predtým nejako zistiť – ak teda neinštruujeme Power BI Desktop, že sa má spustiť na statickom porte (viď nižšie).

Existujú 3 metódy, ako sa zistiť číslo portu, na ktorom načúva diagnostický port Power BI Desktopu:

  1. cez DAX Studio,
  2. cez Prieskumníka vo Windows,
  3. cez príkazový riadok.

Tieto možnosti vám tiež nemusia byť všetky prístupné, ale minimálne tá cez príkazový riadok by mala zafungovať všetkým. Preto si ich teraz všetky rozoberieme.

1) Pripojenie na diagnostický port cez DAX Studio

Toto som už popisoval v staršom článku.

2) Pripojenie na diagnostický port cez Prieskumníka vo Windows

Nasledujúci postup závisí od toho, či máte Power BI Desktop nainštalovaný cez klasický inštalátor (ako klasickú aplikáciu), alebo cez Microsoft Store.

Power BI Desktop nainštalovaný cez klasický inštalátor

Otvorte si Prieskumníka vo Windows, alebo ľubovoľný prehliadač adresárovej štruktúry (kľudne aj Poznámkový blok). Potom choďte do adresára, ktorý  máte nastavený v systémovej premennej prostredia, nazývanej “LOCALAPPDATA”. Tú zistíte cez príkazový riadok tak, že zavoláte nasledujúci príkaz:

echo %localappdata%

Výsledok v mojom prípade vyzerá takto:

Tento adresár cez Prieskumníka pravdepodobne neuvidíte, pretože ide o skrytý systémový adresár. Takže v tom prípade si ho prepíšte hore do adresného riadku v Prieskumníkovi (treba tam kliknúť do toho políčka na konci za poslednou časťou cesty, aby ste tam mohli písať):

Keď sa vám podarí dostať do tohto adresára, tak choďte do podadresára Microsoft => Power BI Desktop => AnalysisServicesWorkspaces. Keď sa tam dostanete, tak malo by to vyzerať nejako takto:

Tam uvidíte toľko adresárov, koľko máte práve otvorených Power BI Desktopov. Každý z nich obsahuje pomocné súbory pre 1 dátový model. Keď si otvoríte ten adresár, tak tam choďte do podadresára Data, a tam si nájdite súbor s názvom msmdsrv.port.txt:

Je to klasický textový súbor, preto ho otvorte, napr. cez Poznámkový blok, a voalááá – máme číslo portu, kde počúva náš diagnostický port:

Len nezabúdajte, že po každom vypnutí/zapnutí Power BI Desktopu to budete musieť celý tento postup zopakovať odznova, pretože aj číslo portu bude iné, aj jeden z podadresárov bude mať v sebe vygenerované iné GUID dátového modelu.

Power BI Desktop nainštalovaný cez Microsoft Store

Otvorte si Prieskumníka vo Windows, alebo ľubovoľný prehliadač adresárovej štruktúry (kľudne aj Poznámkový blok). Potom choďte do adresára, ktorý  máte nastavený v systémovej premennej prostredia, nazývanej “USERPROFILE”. Tú zistíte cez príkazový riadok tak, že zavoláte nasledujúci príkaz:

echo %userprofile%

Výsledok v mojom prípade vyzerá takto:

C:\Users\Student

Tento adresár cez Prieskumníka možno neuvidíte, pretože niekedy ide o skrytý systémový adresár. Takže v tom prípade si ho prepíšte hore do adresného riadku v Prieskumníkovi (treba tam kliknúť do toho políčka na konci za poslednou časťou cesty, aby ste tam mohli písať).

Keď sa vám podarí dostať do tohto adresára, tak choďte do podadresára Microsoft => Power BI Desktop Store App => AnalysisServicesWorkspaces. Keď sa tam dostanete, tak malo by to vyzerať nejako takto:

Tam uvidíte toľko adresárov, koľko máte práve otvorených Power BI Desktopov. Každý z nich obsahuje pomocné súbory pre 1 dátový model. Keď si otvoríte ten adresár, tak tam choďte do podadresára Data, a tam si nájdite súbor s názvom msmdsrv.port.txt:

Je to klasický textový súbor, preto ho otvorte, napr. cez Poznámkový blok, a voalááá – máme číslo portu, kde počúva náš diagnostický port:

Len nezabúdajte, že po každom vypnutí/zapnutí Power BI Desktopu to budete musieť celý tento postup zopakovať odznova, pretože aj číslo portu bude iné, aj jeden z podadresárov bude mať v sebe vygenerované iné GUID dátového modelu.

3) Pripojenie na diagnostický port cez príkazový riadok

Táto metóda je paradoxne najľahšia, ak sa vám chce napísať 2 príkazy. Otvorte si príkazový riadok (kliknite na tlačítko Štart a zadajte tam “cmd” a stlačte Enter), a napíšte tam tento príkaz:

TASKLIST /FI “imagename eq msmdsrv.exe” /FI “sessionname eq console”

Poznámka: Ak tento príkaz nič nevráti (pravdepodobne pri pripojení cez Remote Desktop, pri Terminal Services alebo pri niektorých inštaláciách Power BI Desktopu nainštalovaných z Microsoft Store), tak zavolajte jeho skrátenú verziu:

TASKLIST /FI “imagename eq msmdsrv.exe”

Výsledok bude vyzerať takto, a rovno si z neho poznamenajte to číslo, čo uvidíte v stĺpci nazvanom PID:

Poznámka: Ak to vrátilo viac riadkov, tak postupne skúšajte v ďalšom kroku PID zo všetkých riadkov.

Potom zadajte takýto príkaz, kde číslo 11111 nahraďte tým číslom z predchádzajúceho príkazu:

netstat /ano | findstr “11111”

V mojom prípade bude výsledok vyzerať takto:

Tam si nájdite to číslo v prvom riadku výsledkov, v druhom stĺpci, za tým reťazcom “127.0.0.1:”, tak ako je to podčiarknuté na obrázku. Teoreticky môže byť na inom riadku, ale mal by tam byť len jeden riadok začínajúci v tom stĺpci s hodnotou “127…”. A to je presne to, čo hľadáme 🙂

4) Bonus – ako naštartovať Power BI Desktop na statickom porte

O funkcii diagnostický port vie veľmi málo ľudí. Ešte menej ich však vie o tom, že sa Power BI Desktop dá spustiť tak, aby počúval na nami zvolenom porte. To sa dá využiť na veľmi veľa vecí, takže to používajte iba na diagnostiku a kontrolu výsledkov – a najmä rešpektujte licenčné podmienky Power BI Desktopu. Taktiež to nie vždy funguje s Power BI Desktopom nainštalovaným z Windows Store, iba s tým nainštalovaným klasicky.

Trik je v tom, že Power BI Desktop sa dá, tak isto ako ľubovoľná aplikácia, spustiť aj z príkazového riadku. Musíte však ísť najprv do inštalačného adresára Power BI Desktopu. Ten je za štandardných podmienok takýto, ak vám ho náhodou nenainštalovali inde:

  • ak máte 32-bitový Power BI Desktop, tak sa nachádza v adresári C:\Program Files (x86)\Microsoft Power BI Desktop\bin
  • ak máte 64-bitový Power BI Desktop, tak sa nachádza v adresári C:\Program Files\Microsoft Power BI Desktop\bin

Prejdite teda cez príkazový riadok do tohto adresára, cez príkaz “cd”. V mojom prípade so 64-bitovou verziou bude príkaz takýto:

cd C:\Program Files\Microsoft Power BI Desktop\bin

Tam spustite tento príkaz:

pbidesktop /diagnosticsport:5555

…kde to číslo 5555 môžete nahradiť takmer ľubovoľným 4- alebo 5- miestnym číslom, podľa typu operačného systému a v závislosti od toho, čo vám to dovolí a čo nie. Príkazový riadok teda bude vyzerať takto:

A po spustení Power BI Desktopu nám skúška správnosti cez DAX Studio vyjde tak, ako sme chceli:

Takže takto sa dá či už zistiť, alebo prípadne aj natvrdo nastaviť diagnostický port Power BI Desktopu. Buďte s tým ale opatrní, lebo táto funkcionalita je oficiálne podporovaná iba pre diagnostické účely. A aj keď funguje už od začiatku Power BI Desktopu, tak ju takto oficiálne pomenovali až v máji tohto roka. Preto ju používajte s rozumom, a najmä iba vtedy, keď to naozaj potrebujete 🙂

4 komentárov k “Diagnostický port Power BI Desktopu

  • 10. septembra 2019 at 10:01
    Permalink

    mám instalovaný Desktop ze STORE a zjištění portu žádnou metodou nefunguje na některých PC.
    Existuje nějaký postup i pro instalaci ze STORE?

    Odpovedať
    • 11. septembra 2019 at 12:01
      Permalink

      Áno, postup som doplnil do článku.

      Odpovedať
  • 16. novembra 2019 at 16:08
    Permalink

    Hi Michal, I saw you presenting at the recent Manchester Power BI meetup, and really interested in the template, have down loaded and using it, brilliant, Thank you for developing and sharing this.
    Craig

    Odpovedať
    • 16. novembra 2019 at 16:11
      Permalink

      I’m glad to hear that you liked it. Enjoy 🙂

      Odpovedať

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená.