Ako sa pripojiť z Excelu k Power BI

Už dávnejšie som na blogu PowerPivot.sk písal v jednom staršom článku, ako sa pripojiť z Excelu k Power BI. Malo to však jednu nevýhodu – museli ste ísť cez cloud, a to si nie vždy môžete dovoliť. Najmä ak máte zakázané dávať dáta do cloudu. Čo ale robiť v prípade, že si potrebujete rýchlo skontrolovať komplikované výpočty v DAXe excelovskou kontingenčkou? Existuje pomerne ľahký trik, ako sa pripojiť z Excelu k Power BI Desktopu, a ktorý je známy snáď každému profíkovi v DAXe. A na ten sa teraz pozrieme.

Najprv zopár slov o tom, ako vlastne funguje Power BI Desktop. Keď ho spustíte, tak v skutočnosti sa na pozadí spúšťa ďalší proces, kvôli ktorému to trvá tak dlho. Tým procesom sú Analysis Services v powerpivotovom móde, resp. serverový PowerPivot, ktorý obsahuje dátový model a všetky transformácie Power Query, a vykonáva všetky výpočty v Power BI Desktope. Nemôžete ho síce používať samostatne, ale viete sa k nemu pripojiť, ak potrebujete napr. overiť správnosť výpočtov. Trik je v tom, že potrebujete vedieť číslo portu, na ktorom daný server načúva, a tento port sa mení pri každom štarte Power BI Desktopu na náhodné číslo. Na webe existuje niekoľko spôsobov, ako si tento port dohľadať, ale pre väčšinu užívateľov je to príliš komplikované – napr. dohľadanie cez temp adresárovú štruktúru, alebo cez netstat v príkazovom riadku…

Existuje však aj oveľa jednoduchší spôsob – cez DAX Studio. Tento nástroj vyvinula komunita v USA združená okolo PowerPivotu a s ním súvisiacich technológiách, a slúži primárne na dotazovanie sa na dátové modely v jazyku DAX, a pre tých skúsenejších aj na optimalizáciu výkonu modelov. Je zadarmo, a dá sa stiahnuť na www.daxstudio.org. A vie sa pripojiť na dátový model Power BI Desktopu, a zobraziť port, ktorý hľadáme.

Postup pripojenia bude potom nasledovný:

  1. Spustite Power BI Desktop a vytvorte, resp. otvorte si v ňom svoj report
  2. Spustite DAX Studio a zistite si port analytického servera
  3. Pripojte sa z Excelu podľa inštrukcií nižšie

Najprv si teda otvorte report v Power BI Desktope. V tomto článku sme použili náš vzorový súbor Power BI. Potom spustite DAX Studio. V ňom vyberte voľbu “PBI / SSDT“, a stlačte tlačidlo Connect:

DAX Studio sa pokúsi pripojiť k dátovému modelu. Ak je úspešné, tak naľavo sa zobrazí Váš dátový model – rovnaké tabuľky ako vidíte v Power BI Desktope, plus nejaké naviac. Nás ale zaujíma viac informácia v pravom dolnom rohu – je tam uvedené “localhost:XXXXX“, kde XXXXX je číslo portu, ktoré hľadáme:

Nezabúdajte, že je vždy iné. V mojom prípade mi to dalo číslo 49361, a to použijeme v ďalšom kroku.

Nechajte Power BI Desktop otvorený, a otvorte si nový excelovský zošit. V hornom menu vyberte Údaje -> Z iných zdrojov -> Zo služby Analysis Services:

V okne, ktoré sa otvorí, zadajte ako názov servera to, čo ste videli v DAX Studio vpravo dole – čiže v našom prípade “localhost:49361“, a kliknite na Ďalej:

…a v ďalšom okne kliknite na Dokončiť:

No a v poslednom okne si vyberiete, že to chcete zobraziť ako kontingenčnú tabuľku, a kliknete na OK:

A voiláááá – zobrazí sa kontingenčná tabuľka, pomocou ktorej si môžete analyzovať dáta:

Nezabudnite však, že ide o neoficiálnu funkcionalitu, aj keď široko známu v DAXových kruhoch. Takže nie je garantované, že to bude fungovať aj do budúcnosti. A takisto, že keď vypnete a zapnete Power BI Desktop, tak musíte celé kolečko zopakovať odznova. Je to však fajn trik, ako využiť silu Excelu, a ako sa pripojiť z Excelu k Power BI, ak sa nemôžete pripojiť do cloudu. Najmä ak potrebujete expresne skontrolovať správnosť svojich výpočtov. A takýchto trikov skrýva Power BI ešte viac 🙂

Aktualizácia 5.10.2018: Táto funkcionalita je už oficiálna, a nazýva sa diagnostický port. Viac o nej, aj o všetkých technikách na jeho zistenie, nájdete v tomto článku.