Ako premigrovať dátový model z Power BI do Azure Analysis Services

Pred nejakým časom som tu písal o metóde, ako premigrovať dátový model z Power BI do SSAS Tabularu, napr. ak narazíte na veľkostné limity Power BI, alebo ak chcete mať dátový model u seba na serveri. Ak by ste však len kvôli tomu mali kupovať SQL Server, tak to nie je zrovna lacné a ani pohodlné riešenie. Preto si ukážeme, ako to jednoducho spraviť celé v cloude a za zlomok pôvodnej ceny.

SSAS Tabular zabezpečuje v Power BI Desktope na pozadí funkciu dátového modelu (PowerPivotu) aj Power Query. Problém je však v tom, že v Power BI je tak nová verzia SSAS Tabularu, ktorú ešte minimálne niekoľko mesiacov neuvidíte v oficiálnom SSAS Tabulare. A ani v tom oficiálnom SSAS Tabulare nie sú pozapínané všetky veci, ktoré v tej dobe podporoval Power BI Desktop. Čo veľakrát spôsobuje obrovské množstvo komplikácií pri migrácii dátového modelu na SSAS Tabular.

Našťastie však existuje aj cloudová verzia SSAS Tabularu, nazývaná Azure Analysis Services (AAS). A tá sa stará o funkcionalitu Power Query aj PowerPivotu v cloudovom Power BI. Super vec na tom je to, že táto verzia SSAS Tabularu podporuje všetko čo podporuje najnovšie Power BI, je automaticky aktualizovaná najmenej raz za mesiac, a najmä sa dá prenajať doslova za pár eur denne. Čo je v porovnaní s licenčnými a administratívnymi nákladmi klasického SQL Servera takmer zadarmo. Nehovoriac o tom, že nemusíte kvôli tomu nastavovať bránu Power BI Gateway, či riešiť všemožné problémy pri integrácii cloudu s vašimi vnútrofiremnými systémami. Takže sa pozrieme, ako na to.

Dátový model z Power BI Desktopu viete premigrovať do AAS až extrémne jednoducho. Stačí si otvoriť webový dizajnér AAS v cloude, nahrať tam súbor PBIX, počkať pár minút, a nastaviť zabezpečenie výsledného dátového modelu. Nič viac, nič menej. A potom môžete vytvárať reporty Power BI voči tomuto modelu.

Otvorte si teda dizajnér AAS v cloude. Postup je popísaný v tomto článku. Tam vyberte naľavo svoj server, potom kliknite v zozname dátových modelov na tlačítko Add, a v treťom paneli zadajte názov nového modelu a kliknite na “Power BI Desktop file”:

Vo štvrtom paneli potom vyberte súbor PBIX, a kliknite na tlačítko Import:

Potom počkajte pár sekúnd až pár minút, kým sa tomu podarí premigrovať dátový model, a práca je hotová 🙂 Otvorí sa vám dizajnér AAS, kde napravo uvidíte štruktúru svojho dátového modelu:

Teraz už stačí nastaviť iba zabezpečenie dátového modelu, či ostatnú funkcionalitu AAS. To nastavíte tak, že si cez úvodnú obrazovku AAS stiahnete projekt do Visual Studia, resp. najnovších SQL Server Data Tools, alebo sa cez SSDT priamo pripojíte do AAS a necháte ich stiahnuť si projekt. V ňom budete musieť povoliť prístup aspoň na čítanie pre všetkých užívateľov, ktorí budú neskôr prezerať reporty Power BI. A prípadne nastaviť aj riadkovú bezpečnosť (row-level security). To je však už téma, ktorá patrí medzi témy SSAS Tabularu.

Keď to máte, tak zmeny nasadíte na server AAS, a máte hotovo. Prípadne potom ešte nastavte automatickú aktualizáciu údajov v AAS, aby dátový model reflektoval zmeny v podkladových databázach.

Teraz už len stačí vytvoriť nový report Power BI, kde sa pripojíte v režime Live/Naživo k tomuto serveru, buď cez konektor “Databáza služby SQL Server Analysis Services”, alebo “Databáza Azure Analysis Services”. Pre väčšinu scenárov fungujú obe. Po pripojení nemusíte vytvárať reporty odznova. Jednoducho si popri novom reporte otvorte aj starý report, a z toho starého reportu skopírujte vizuály pomocou Ctrl+C a Ctrl+V do nového reportu. Musíte mať však vydanie Power BI Desktopu aspoň z novembra 2018, ktorý to podporuje. A ak ste medzičasom nemenili názvy objektov v dátovom modeli AAS, tak by vám to aj malo zbehnúť.

Takto jednoducho teda viete premigrovať dátový model z Power BI Desktopu do AAS. Nie je v tom žiadna mágia, a ako vidíte, tak s príslušnými znalosťami je to záležitosť na pár minút 🙂