PowerAppsilla voi tehdä oman visualisoinnin PowerBI -raportille (PowerApps Custom Visual). Esittelin aihetta lyhyesti aiemmassa kirjoituksessa, mutta tämä on niin mahtava juttu että sille täytyy pyhittää aivan omansa.
Lyhyesti. PowerApps-visualisointi mahdollistaa toiminnallisten raporttien rakentamisen.
PowerApps-visualisointi toimii kuten kaikki muutkin visualisoinnit. Sen esittämä tietojoukko suodattuu käyttäjän tehdessä raportilla valintoja.
Kuvan raportille on lisätty PowerApps-visualisointi. Siinä on lista myymälöistä (samat kuin kartalla), sekä myymälöiden lukumäärän.
Käyttäjän valittua kunnaksi Espoon, päivittyy myös PowerApps-visualisoinnin sisältö.
PowerAppsin esittämä lista suodattuu. Ihan kiva. Miksi tästä pitäisi olla innoissaan?
Koska PowerApps tarjoaa lukemattomia mahdollisuuksia tehdä kaikkea kivaa (ja hyödyllistä). Esimerkiksi:
- Lukea dataa eri tietolähteistä (SQL, SharePoint, MySQL, Oracle Database, Dynamics 365, Salesforce, SAP…)
- Kirjoittaa dataa samaisiin tietolähteisiin
- Lähettää sähköpostia
- Postata Yammeriin / Teamsiin
- Käynnistää työnkulkuja (Flow)
- Tehdä Rest API -kutsuja
Ja toiminnoissa voit hyödyntää Power BI:stä saamaasi datajoukkoa.
Avataan mahdollisuuksia muutaman esimerkin avulla.
Tehtävien jakaminen
Kuvan raportilla esitetään myymälöitä, joihin tarkastajat tekevät tarkastuksia. Myymälöistä nähdään
- kenelle se on annettu tarkastettavaksi
- onko se jo tarkastettu
Suodatetaan raporttia siten että punaiset myymälät ovat tarkastamattomia, eikä niille ole määritelty tarkastajaa.
Mitä jos raportilta voisi suoraan määritellä, kuka tarkastaa nämä myymälät?PowerAppsilla tämä onnistuu.
Suodatetaan kartta näyttämään ainoastaan tarkastamattomat myymälät. Tarkastajaksi asetan itseni ja tyhjän (=tarkastajaa ei ole määritelty).
Nyt kartalta voi helposti valita myymälöitä, jotka ovat lähellä niitä joita olen menossa tarkastamaan.
Lopuksi poimitaan nimeni PowerApps-visualisoinnin tarkastaja (inspector) kenttään ja painetaan Assign -painiketta. PowerApps päivittää tietokantaan minut tarkastajaksi valitsemillemme myymälöille.
Power BI -raportti muuttuikin työnohjauksen työkaluksi.
Tarkemman kuvauksen esimerkin PowerAppsin toteutuksesta löydät täältä.
Lisätietopyyntö
Joskus olisi kätevää lähettää viestejä suoraan raportilta. Tämäkin onnistuu. Tietenkin.
Minua kiinnostaa miksi jotkut myymälät ovat saaneet siisteydestä arvosanaksi ykkösen.
Valitsen visualisoinnista nämä myymälät ja kirjoitan tarkastajille viestin.
Tarkastajien saama viesti näyttää tältä.
Viestin ei tarvitse olla sähköposti. PowerAppsilla voi lähettää viestejä vaikka Yammeriin tai Teamsiin.
Toteutus
Kurkataan varsinaista PowerAppsia. Miten se on tehty?
PowerApps on luotu Power BI -raportilta. Oletuksena syntyvä Galleria -kontrolli on piilotettu.
Tilalle on luotu:
- Tekstikenttä (text label), joka kertoo montako myymälää on valittuna (= montako sähköpostia lähtee)
- Tekstilaatikko (text input), johon käyttäjä syöttää viestin
- Painike (button), joka lähettää sähköpostit
Tämän jälkeen on lisätty tarvittavat toiminnallisuudet. Valittujen myymälöiden määrä saadaan selville lauseella Count(Gallery1.AllItems.Id).
Lähetä -painike on jo piirun monimutkaisempi. Ensin lisätään tietolähteeksi Office 365 Outlook.
Nyt voimme käyttää käyttäjän Outlookia. Lähettää sähköpostia, tehdä kalenterivarauksia jne.
Lähetä -painikkeen painamisen määritellään tekemään seuraavaa:
- Lähetetään jokaista gallerian riviä kohden sähköpostiviesti. Rivit käydään läpi ForAll -komennolla ja sähköposti lähtee Office365.SendEmail -komennolla.
- Tyhjennetään lomakkeen syöttökenttä (Reset(tb_message))
- Näytetään Notify -komennolla käyttäjälle lähteneiden sähköpostien lukumäärä
Ja siinä se. Ei kovin vaikeaa.
Tietojen päivittäminen
Lukuja on joskus tarpeen päivittää suoraan raportilta. Kuvassa olen valinnut raportilta kaikki myymälät, jotka ovat saaneet tuotteiden näkyvyydestä arvosanaksi ykkösen.
Arvosanat ovat mielestäni vääriä ja päätän korjata ne. Päivitän oikean reunan PowerAppsissa uusiksi arvosanoiksi kolmosen ja painan Update -painiketta.
Ja kas! Murheelliset ykköset katosivat.
Toteutus
Onko tällaisen tekeminen vaikeaa? Katsotaan.
Muokataan gallerian rivit näyttämään:
- Otsikot tuotteiden näkyvyydelle ja siisteydelle
- Tekstikenttä tuotteiden näkyvyydelle. Oletusarvoksi asetetaan ThisItem.’visibility of Products’
- Tekstikenttä myymälän siisteydelle. Oletusarvoksi asetetaan ThisItem.cleanliness
Visibility of Products ja Cleanliness ovat PowerBI:stä tulevia kenttiä.
Update -painikketta painamalla käynnistyy jokaisen rivin kohdalla Flow -työnkulku. Tässä käytetään jälleen kätevää ForAll -komentoa.
Flow saa parametriksi myymälän id:n, sekä arvot siisteydelle ja tuotteiden näkyvyydelle.
Käynnistettävä Flow näyttää tältä. Se päivittää saamaansa id:tä vastaavan rivin tietokannassa.
Tällainen Flow:n käyttön ei ole erityisen järkevää. Generoimme pahimmillaan hirmuisen määrän Flow:n käynnistyksiä. Mutta menkööt tällä kertaa. Kesälomat painaa päälle.
Yhteenveto
PowerApps Custom Visual on aivan huikea. Ja tässä oli vain muutama esimerkki herättämään ajatuksia. Voisiko PowerAppsilla syöttää ensi kuun ennusteet? Mitä jos raportilta voisi päivittää tai lisätä tietoja Dynamics 365:een?
PowerAppsin tarjoamat mahdollisuudet saattavat jäädä valitettavasti raportointiratkaisuissa hyödyntämättä. PowerApps -osaajat kun eivät välttämättä ole kiinnostuneita Power BI:stä. Eivätkä Power BI -asiantuntijat taas vastaavasti PowerAppsista.
Tämä on kuitenkin vasta esikatseluvaiheessa (preview). Vielä on aikaa opetella.