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.

powerapps visual 1.png

Käyttäjän valittua kunnaksi Espoon, päivittyy myös PowerApps-visualisoinnin sisältö.

powerapps visual 2.png

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.

powerapps visual 3.png

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.

powerapps visual 4.png

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.

powerapps visual 5.png

Valitsen visualisoinnista nämä myymälät ja kirjoitan tarkastajille viestin.

powerapps visual 6.png

Tarkastajien saama viesti näyttää tältä.

powerapps visual 7.png

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

powerapps visual 8.png

Tämän jälkeen on lisätty tarvittavat toiminnallisuudet. Valittujen myymälöiden määrä saadaan selville lauseella Count(Gallery1.AllItems.Id).

powerapps visual 9.png

Lähetä -painike on jo piirun monimutkaisempi. Ensin lisätään tietolähteeksi Office 365 Outlook.

powerapps visual 11.png

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ä

powerapps visual 10.png

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.

powerapps visual 12.png

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.

powerapps visual 13.pngJa kas! Murheelliset ykköset katosivat.

powerapps visual 14.png

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ä.

powerapps visual 18.png

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.

powerapps visual 16.png

Käynnistettävä Flow näyttää tältä. Se päivittää saamaansa id:tä vastaavan rivin tietokannassa.

powerapps visual 17.png

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.