Moni suhtautuu PowerAppsiin edelleen epäillen. Tähän on syynsä. Ensimmäiset versiot olivat vähintäänkin bugisia. Tilanne tänään on toinen ja onkin korkea aika korjata käsityksiään.

PowerAppsilla tullaan tekemään paljon hyödyllisiä sovelluksia.

Yritetään avata hieman PowerAppsin vahvuuksia. Tehdään ratkaisu, jossa

  • käytetään PowerAppsissa hyväksi mobiililaitteen sijaintietoa
  • hyödynnetään Power BI:n uutta PowerApps-visualisointia

Esimerkkisovellus – Myymälöiden tarkastus

Kuvitellaan yritys, jonka tuotteita myydään lukuisissa myymälöissä pääkaupunkiseudulla. Yritys on tarkka brändistään ja haluaa säännöllisesti tarkistaa, missä kunnossa heidän tuotteitaan kaupittelevat myymälät ovat.

Tehdään myymälöiden tarkastukseen mobiilisovellus. Tietenkin PowerAppsilla.

Myymälät

Ensimmäiseksi tarvitsemme listan tarkistettavista myymälöistä. Käytetään HSL:n myyntipisteitä, sillä niiden tiedot on saatavilla netistä. Mikä parasta, aineistoissa on mukana myyntipisteiden tarkat sijainnit (latitude + longitude).

Lisätään exceliin uusi sarake (tarkastettu = false) ja muodostetaan sen pohjalta SharePoint-lista (Export Table to SharePoint list…).

myymalalista

Lisätään luotuun SharePoint-listaan vielä sarakkeet tarkastaja, siisteys sekä tuotteiden näkyvyys. myymalalista sps

PowerApps

Luodaan PowerApps-sovellus käyttäen tietolähteenä Myymälät-listaa. Valitaan listalla näytettäväksi myymälän nimi + kaupunki.

powerapps step1

Tarkastajan tehtävänä on tarkistaa myymälän yleinen siisteys sekä miten hyvin yrityksen tuotteet ovat näkyvillä. Viilataan PowerAppsia hieman.

  • Muokataan aloitusnäyttöä siten että riviä klikkaamalla siirrytään suoraan muokkausnäyttöön
  • muokkausnäytössä vaihdetaan
    • myymälän nimi ja osoite kentiksi joita ei voi muokata
    • siisteys ja tuotteiden näkyvyys kentät tähtiluokituksiksi (asteikko 1-5)
    • tarkastettu -kentän arvoksi true
  • Poistetaan yksittäisen rivin katselunäyttö kokonaan

powerapps step4

Nyt meillä on sovellus, jolla tarkastaja voi

  1. valita myymälän jossa on
  2. kirjata kyseisen myymälän siisteyden ja tuotteiden näkyvyyden

Helppoa!

Sijaintitiedon hyödyntäminen PowerAppsissa

Myymälöitä on 500. Tarkastettavan myymälän valitseminen listalta ei vaikuta kovin kätevältä. Tiedämme tarkastajan olevan myymälässä käyttäessään sovellusta. Helpotetaan hänen työtään hieman. Muokataan aloitusnäytön lista näyttämään kaikkien myymälöiden sijasta tarkastajan lähellä olevat myymälät. Tämä onnistuu hyödyntämällä mobiililaitteen paikannustietoa, jonka PowerApps meille tarjoaa.

powerapps step3

Ratkaisumme on erittäin suoraviivainen. Suodatetaan listaan ainoastaan myymälät joiden sijainnin leveys- ja pituusaste poikkeaa max 0,001 astetta käyttäjän sijainnista.

Myymäläseuranta – Power BI

Yritystä kiinnostaa kovasti tarkastuskäyntien tuottama tieto. Tehdään Power BI -raportti, joka käyttää lähdetietona samaa SharePoint-listaa PowerAppsin kanssa.

Isolla kartalla näkyvät kaikki myymälät. Tarkastetut myymälät tummalla ja tarkastamattomat vaalealla värillä. Palkit esittävät miten arvostelut jakautuvat siisteyden ja tuotteiden näkyvyyden osalta (asteikolla 1-5). Oikean alakulman punaisesta ympyrästä näemme miten vähän myymälöitä on tarkastettu.

myymalatarkastus powerbi1

Power BI:ssä visualisointeja voi käyttää suodattimina. Klikkaamalla Tuotteiden näkyvyys = 5 -palkkia, näytetään kartalla ainoastaan myymälät joissa tuotteiden näkyvyys on arvioitu kiitettäväksi.

Tarkastuskäyntien työnohjaus – Power BI:n PowerApps -visualisointi

Myymälöitä on paljon ja tarkastajia on useita. Olisi kätevää jos Power BI:stä voisi ohjata tarkastamattomia myymälöitä tarkastettavaksi eri tarkastajille.

Tehdään tätä varten oma raportti, jossa tarkastellaan ainoastaan tarkastamattomia myymälöitä. Niitä voi suodattaa kartalle kunnan, postinumeron tai tarkastajan (kenelle myymälä on määrätty tarkastettavaksi) mukaan.

myymalatarkastus powerbi2

Raportilla valitaan joukko myymälöitä, jotka sitten annetaan tarkastettavaksi tarkastajalle.

Ladataan PowerApps -visualisointi marketplacesta (kolme pistettä Visualizations-osion lopussa) ja lisätään se raportille. Valitaan PowerAppsissa tarvittavat kentät visualisointiin (id ja title) ja painetaan Create new.

powerbi create powerapps

Pienen odottelun jälkeen PowerApps-pohja on luotu. Siinä on Gallery-kontrolli, jonka riveinä (Items) on PowerBIIntegration.Data. Voimme valita riveillä esitettäviksi tiedoiksi Titlen tai Id:n (jotka juuri äsken valitsimme mukaan Power BI:ssä).

powerapps for powerbi 1

Tallennetaan, julkaistaan ja jaetaan PowerApps ja palataan Power BI -raportille. Nyt oikeassa laidassa näkyy PowerApps-sovelluksemme. Valitsemme raportilla kunnaksi Espoon, jolloin PowerApps:ssa näkyy kaikki kaikki Espoossa sijaitsevat myyntipaikat.

powerapps for powerbi 2

Vaihtamalla kunnaksi Järvenpään ja valitsemalla kartalta kaksi myyntipaikkaa, näkyy PowerAppsissa ainoastaan nämä kaksi myyntipaikkaa.

powerapps for powerbi 3PowerAppsin gallery-kontrolli toimii siis samalla tavalla kuin muutkin Power BI:n visualisoinnit. Tämä alkaa vaikuttamaan mielenkiintoiselta.

Palataan takaisin PowerApps:iin ja lisätään

  • Tarkastaja -kenttä, joka on kytketty AzureAD käyttäjähakemistoon. Siihen kirjoittamalla on helppo poimia tarkastaja
  • Painike, jolla myymälät nakitetaan valitulle tarkastajalle

Painike kopioi myymälöiden Id:t kokoelmaan (Collect).

powerapps step5

PowerAppsissa tyypillisesti päivitetään yhtä tietovaraston riviä kerrallaan. Miten päivittäisimme usealle SharePoint -listan riville tarkastaja-kentän arvon?

PowerApps ja Flow

Tietenkin käynnistämällä työnkulun. Luodaan uusi työnkulku Action-osion alta.

powerapps step6

Työnkulku saa parametrina

  • merkkijonon, jossa on päivitettävien SharePoint-listan rivien id:t (pilkulla erotettuna)
  • tarkastajan sähköpostiosoitteen

Muodostetaan id:t sisältävästä merkijonosta taulukko (array) Split-toiminnolla. Tämän jälkeen käydään taulukon kaikki rivit läpi ja lisätään jokaista vastaavaalle SharePoint-listan riville tarkastajaksi saatu sähköpostiosoite.

powerapps step7 flow

Työnkulun suoritus kestää pienen hetken, joten tehdään käyttäjälle kuittausnäyttö, jossa kerrotaan toimenpiteen onnistuneen.

Näyttökuva 2018-3-11 kello 15.34.24.png

”Lisää tarkastajan työlistalle” -painikkeen OnSelect näyttää loppujen lopuksi seuraavalta.

Näyttökuva 2018-3-11 kello 15.33.40.png

Lisätään myymälöiden id:t kokoelmaan, käynnistetään Flow oikeilla parametreilla ja siirrytään kuittausnäyttöön.

Ratkaisumme ensimmäinen versio on valmis!

Voimme Power BI -raportilta valita kaikki Espoon Leppävaaran Sellon lähellä olevat myymälät ja laittaa ne vaikka minun työlistalleni.

Näyttökuva 2018-3-11 kello 15.38.45.png

Tarkastajan sovellus näyttää seuraavalta. Tällä kertaa olin kyseisen R-kioskin lähellä.

 

Yhteenveto

PowerAppsin vahvuus on ketteryys. Sen avulla saa nopeasti rakennettua ensimmäisen toimivan version ratkaisusta. Tämän jälkeen jatkokehitys on helppoa. Ratkaisua voidaan kokeilla kentällä, kerätä palautetta, tehdä parannuksia ja julkaista taas uusi versio kokeiltavaksi.

Käytössä on mahtava määrä liittimiä (connector) eri järjestelmiin. Mieti jos tämän ratkaisun taustajärjestelmänä olisi SharePoint -listan sijasta esimerkiksi Dynamics…

Toki PowerAppsissa on edelleen puutteita.

  • Mikäli sovelluksen ensimmäisellä näytöllä on johonkin taustajärjestelmän kiinnitetty lista, sen lataaminen todellakin kestää. Esimerkkimme myymälälistan ilmestyminen ruudulle otti noin 8 sekuntia.
  • PowerAppsista käynnistettävän Flow:n luominen ja muokkaaminen on tuskaista. Huomaat kun kokeilet. Omani lakkasi yllättäen kokonaan toimimasta.
  • SharePoint -listat ovat helppo tapa aloittaa. Tehtäessä kytköstä Power BI:hin kannattaa käyttää jotain direct query:a tukevaa tietolähdettä (esim Azure SQL DB). Silloin PowerAppsilla tehdyt päivitykset näkyvät heti Power BI -raporteilla.