Ako upravovať dáta v reportoch Power BI pomocou PowerApps

Jednou z najčastejších otázok, ktorú mi ľudia kladú, keď vidia, že v Power BI ide spraviť všetko, je to, že ako vedia pomocou reportu upravovať dáta v databázach či Exceli. Na prvý pohľad nechápete, prečo by to chcel niekto robiť, keď reporty Power BI sú navrhnuté ako koncový nástroj na analýzu a reporting, a nemajú zabudovanú možnosť aktualizácie dát. Teda, nemajú, dokým sa s tým krkolomne nevyhráte. Pozrieme sa teraz teda na to, prečo je táto požiadavka legitímna aj vo svete Business Intelligence, a hlavne – ako to spraviť rýchlo a jednoducho.

Keď sa pozriete na definíciu Business Intelligence, tak je to v skratke súbor nástrojov a procesov, ktoré slúžia na podporu rozhodovania. A po rozhodnutí musí vždy nasledovať akcia, pretože bez toho je to iba konštatovanie, resp. želanie. Každý veľký nástroj, či už od Microsoftu, Oraclu, IBM a pod., mal nejakú spôsob, ako vykonať akciu. Pri zápise dát do dátového zdroja však všetky zlyhávali, a writeback nefungoval vo všeobecnosti nikde. Obchádzalo sa to rôznymi webovými aplikáciami a preklikami cez URL, ale zasa – bolo potrebné to navrhnúť, naprogramovať, nasadiť a zaplatiť. A preto sa to skoro nikde nepoužívalo.

Power BI je však po novom súčasťou Power platformy od Microsoftu, ktorá svojou geniálnou jednoduchosťou a možnosťami kombinácií vie vyriešiť takéto veci za pár minút. A samozrejme bez programovania. A hneď si aj ukážeme, ako na to.

Aké sú však tie dôvody, prečo by užívateľ chcel upravovať dáta pomocou reportu? Je ich hneď viacero:

  • oprava dát, ktoré pomocou reportu našiel,
  • využitie reportu ako centralizovanej “aplikácie” na zber ďalších dát, z ktorých sa ten report aj vykresľuje,
  • rôzne analýzy scenárov, kedy si užívateľ potrebuje zadať hodnotu parametra a na základe toho spraviť prepočet (aj keď tu je zvyčajne lepší DAX alebo Power Query),
  • a kopec ďalších prípadov.

Takže dôvody máme, a ideme sa teda pozrieť na riešenie.

Pred niekoľkými rokmi Microsoft uviedol novú webovú službu Power Apps. Ide o možnosť vytvárať jednoduché aplikácie priamo cez webový prehliadač či samostatnú aplikáciu, ktoré potom automaticky fungujú na PC aj v mobiloch. Podstata je rovnaká ako pri Power BI – všetko sa vytvára ľahko a intuitívne, nič sa neprogramuje, a stále tam pribúda tona novej funkcionality. A keď potrebujete spraviť jednoduchú aplikáciu na zber dát, prípadne ju integrovať cez pracovné postupy s inými aplikáciami, tak to viete spojiť cez službu Power Automate. Je to niečo podobné, ako bol v minulosti SharePoint, ale toto je jednoduchšie, modernejšie, svižnejšie, a najmä tisíckrát použiteľnejšie. Keď som prvýkrát videl PowerApps po tom, čo vyšli, tak som si povedal – “zasa ďalší pokus od MS, keď im to už 10x nevyšlo?”. Veď predsa boli aj predtým nástroje, ako napr. Visual Studio LightSwitch, Xamarin a podobne, ale nič z toho sa masovo neuchytilo. Preto som sa o to ani veľmi nezaujímal. Tento rok však MS prepol na vyššie obrátky, a z Power Apps sa stala veľmi použiteľná platforma. A čo je bomba – má priamu integráciu s reportami Power BI. Okrem iného aj na to, aby ste vedeli upravovať dáta priamo z reportu Power BI. Preto si to teraz aj pozrieme.

Nasledujúci postup bude predpokladať, že už viete pracovať s Power Apps. Ak neviete, tak si tento článok prejdite aspoň pre predstavu, ako “náročné” to celé je. Prípadne si pozrite tento webinár, kde som okrem iného krok po kroku demonštroval, ako nastaviť okamžitý, interaktívny write-back pomocou Power Apps do reportu Power BI.

Ideme si teda spraviť nový report Power BI, ktorý bude ťahať dáta z excelovského súboru na OneDrive, a ktorý bude mať možnosť upravovať dáta priamo aj cez tento report. Budete na to potrebovať:

  • predplatné Power BI Pro,
  • predplatné Power Apps,
  • predplatné Office365, v ktorom sa nachádza služba OneDrive.

Použijeme najprv tento excelovský súbor, z ktorého budeme ťahať dáta:

Uploadneme ho na OneDrive, a dáme ho vyzdieľať.

Potom vytvoríme novú aplikáciu Power Apps, cez ktorú sa budú dať upravovať dáta, a ktorá bude mať 2 obrazovky:

  1. prvá obrazovka bude slúžiť na úpravu vybraného záznamu,
  2. druhá obrazovka bude zobrazovať potvrdenie o uložení dát.

Prvá obrazovka bude brať údaje z toho excelovského súboru, a zároveň bude zapisovať údaje doňho. Normálne by ste to nečakali, ale Power Apps vie aj modifikovať excelovské súbory na OneDrive, a nielen tam… Po zapísaní zobrazí hlásenie o úspechu na druhej obrazovke. Prvá obrazovka aplikácie bude vyzerať povedzme takto:

Potom dáme aplikáciu uložiť a vypublikovať, a zatvoríme Power Apps.

Potom vytvoríme nový report Power BI. Povedzme, že takýto jednoduchý, kde budú zobrazené všetky dáta z toho excelovského súboru:

Potom tento report vypublikujeme do cloudu.

Teraz by sme chceli medzi sebou previazať Power BI a Power Apps, aby sme priamo z reportu Power BI mohli upravovať dáta.

Potom report v cloude ho otvoríme v režime na úpravu. Nezabudnite ho otvoriť v prehliači Chrome alebo Edge, pretože tento postup nefunguje v iných prehliadačoch (ani v ich vlastnom Internet Exploreri, zjavne je už na odpis, hehe).

Potom do reportu pridáme novú vizualizáciu zo služby Marketplace, nazvanú Power Apps (momentálne je ešte stále vo verzii Preview):

Následne vytvoríme nový vizuál z tejto novej vizualizácie, a pridáme doňho všetky polia zo zdrojovej excelovskej tabuľky (resp. tie, ktoré chcete, aby sa prenášali do PowerApps):

V tom okienku vizuálu potom vyberieme možnosť “Choose app”, vyberieme našu aplikáciu, a stlačíme tlačítko “Add”:

…a potom prejdeme do Power Apps Studia, kde dokončíme integráciu s Power BI:

Otvorí nám to našu aplikáciu, ktorú sme vytvorili na začiatku, ale tentokrát tam už bude pridaný integračný objekt s Power BI. Tam zadáme tomu prvému formuláru napr. takýto vzorec, pomocou ktorého zobrazí údaje pre vybraný záznam z reportu Power BI, podľa priezviska:

First(Filter(Tabuľka1; If(!IsBlank(First(PowerBIIntegration.Data).__PowerAppsId__); First(PowerBIIntegration.Data).Priezvisko in Priezvisko; 0=1)))

Keď to máme, dáme našu aplikáciu znova uložiť a vypublikovať.

Keď teraz prejdete naspäť do cloudového reportu Power BI, tak si dajte v prehliadači Ctrl+F5, aby vám obnovilo obrazovku. Od tohto momentu to bude fungovať aj v Power BI Desktope, keď si dáte stiahnuť toto PBIX k sebe. Malo by to teraz vyzerať takto:

Teraz povedzme, že chceme upraviť záznam pre Juraja Jánoszýka. Klikneme naň teda v tabuľke, a hneď na to sa tento záznam zobrazí vedľa v aplikácii vo vizuále Power Apps:

Vidíte, že aplikácia nám zobrazila vybraný záznam. Teraz v ňom len upravte, čo potrebujete, a v pravom hornom rohu kliknite na fajku, čím potvrdíte zmenu:

Po úspešnom uložení zmien sa zobrazí to, čo ste nakonfigurovali v aplikácii Power Apps – v našom prípade 2. obrazovka, ktorá obsahuje potvrdenie o úspechu:

A teraz si dajte obnoviť dáta v reporte, a tešte sa z výsledku 🙂

Takto jednoducho sa dajú teda po novom meniť dáta v reporte aj cez samotný report. Zmenu aj logiku ukladania síce vykonávajú Power Apps, ale keďže je to vizuál v rámci reportu Power BI, tak užívateľ o tom ani nemusí vedieť. Vašou starosťou je zvyčajne iba vytvoriť dostatočne interaktívnu aplikáciu, udeliť prístupy a vyzdieľať report. Čo je všetko otázka pár minút, ak už viete pracovať s Office 365, Power BI aj Power Apps.

Tento príklad nebol zrovna ideálny, ale bol zjednodušený tak, aby ste videli tie možnosti. Samozrejme, že nám tam vo formulári chýbalo napr. ID záznamu, či ďalšie obrazovky/akcie, aby sa dali pohodlnejšie upravovať viaceré záznamy, ale pre ukážku to takto stačí. To by sme tu mali len ďalší tutoriál s Power Apps 🙂

Ak chcete presný návod a demo, krok po kroku, tak si ho pozrite na tomto webinári. Tam nájdete názorne ukázané plné možnosti write-backu do reportu Power BI pomocou Power Apps.

A týmto to pri Power Apps nekončí. Viete si tam nadefinovať celé aplikácie, a integrovať ich s kadečím vo firme. A najmä z pohľadu Power BI sa vám tým otvárajú exponenciálne ďalšie možnosti, ako veci medzi sebou integrovať, alebo ako dorobiť do reportov kopec ďalšej funkcionality, ktorú si užívatelia vymyslia, ale v priamo v Power BI nie je. Pretože na takéto veci, ako je napr. upravovať dáta, je vhodnejšie použiť Power Apps či Power Automate. Napríklad tak, ako to učím na kurze Power Apps. Prípadne si pozrite, čo môžete očakávať od Power Apps, na tomto nádhernom webinári 🙂