Power Automate ja Power BI ovat keskeisiä Power Platform -alustan osia. Mutta liittyvätkö nämä palvelut mitenkä toisiinsa? Miten Power BI -asiantuntija voisi hyödyntää Power Automatea omassa työssään?
Selvitetään.
Hälytykset (Alerts)
Power BI -palvelussa on mahdolista asettaa dashboardilla oleville tiilille hälytyksiä. Kuvassa hälytys, joka laukeaa Canvasien lukumäärä noustessa yli 30:n.
Hälytyksestä saa halutessaan sähköposti-ilmoituksen. Mutta sen saa ainoastaan hälytyksen tekijä.
Entä jos haluaisin käynnistää jonkun monimutkaisemman tapahtumaketjun hälytyksen lauetessa?
Tämä onnistuu Flow:lla.
Luodaan Flow, joka käynnistyy aina hälytyksen lauetessa.
Reagoimme hälytyksiin vain arkipäivisin. Selvitetään siis ensin onko arkipäivä. DayOfWeek-funktio paljastaa viikonpäivän numeron.
dayOfWeek(utcNow())
Jonka jälkeen tarkistamme ettei päivä ole lauantai (0) tai sunnuntai (6).
Mikäli kyseessä on arkipäivä, läheteään IT:n teamsiin viesti.
Valmis Flow näyttää tältä.
Ja viesti Teamsissa tältä.
Vaikka esimerkki on yksinkertainen, ovat mahdolisuudet todellisuudessa huikeat. Voit esimerkiksi
- Tehdä erilaisia toimenpiteitä riippuen siitä paljonko raja-arvo on ylittynyt
- Lähettää arkipäivänä viestin yleiseen Teams-kanavaan, mutta viikonloppuna henkilökohtaisen Teams-viestin päivystysvuorossa olevalle asiantuntijalle (tai tekstiviestin päivystyspuhelimeen)
- jne
Tietojoukon (dataset) päivittäminen
Power BI:n tietojoukon voi päivittää Flow:sta käsin (Refresh a dataset -toiminto).
Mihin tätä ominaisuutta voisi käyttää?
Seuraava idea on lainattu Chris Webb:in blogista. Kirjoituksen ajatuksena on hallita tietojoukkojen päivittämistä Power BI -palvelun ajastettujen päivitysten sijaan Outlookin kalenterilla ja Power Automatella.
Tuumasta toimeen.
Luodaan päivitysaikataulua varten kalenteri, johon lisätään kutakin tietojoukkoa kohden omat kalenterimerkinnät. Kuvassa on aikataulutettuna kahden tietojoukon päivitys
- CoE päivittyy maanantaina, keskiviikkona ja perjantaina
- Devices päivittyy tistaina ja torstaina
Power BI:n omaan ajastukseen nähden ratkaisussa on kaksi etua.
- Kalenterimerkinnöille voi määritellä monipuolisesti erilaisia toistuvuuksia
- Päivityksistä syntyy helposti hahmotettava visuaalinen näkymä
Kalenterimerkintöjen pihvi on kommenttikenttään tallennettava tietojoukon id.
Nyt voimme luoda Flow:n, joka käynnistyy kun päivityskalenterimme tapahtuma on alkamassa.
Kommenttikenttä on html-muotoinen, joten muutetaan ensin sinne tallennettu tietojoukon id tekstimuotoon.
Lopuksi käynnistämme kalenterimerkintää vastaavan tietojoukon päivityksen.
Helppoa!
Huomaa että voit ainoastaan käynnistää päivityksen. Flow:ssa et saa koskaan tietoa siitä onnistuiko päivitys vaiko ei.
Rivin lisääminen (Stream) tietojoukkoon
Flow:ssa on ollut jo pitkään mahdollista lisätä rivejä tietojoukkoon.
Koukku on siinä, että tämä on mahdollista ainoastaan ns streaming datasettiin. Kuvassa streaming dataset, johon voi tallentaa erilaisia säätietoja.
Tällaiseen tietojoukkoon on helppoa lisätä rivejä vaikka tasatunnein käynnistyvällä Flow:lla. Esimerkkimme hakee Espoon ja Turun säätiedot Microsoftin sääpalvelusta ja tallentaa ne datasettiin.
Varsinainen tietojen lisäys on hyvin yksinkertaista. Ei tarvitse edes osata JSON:ia.
Ppix-tiedoston muuttaminen ppit-tiedostoksi (UI Flow)
Olemme käyneet läpi kaikki Flow:sta löytyvät Power BI -toiminnot (actions). Entä jos haluaisit tehdä Power BI:hin liittyvää automaatiota, mutta tarvittavia toimintoja ei Flow:ssa ole?
Sitä varten on UI Flow.
UI Flow:n avulla voit tallentaa työasemasovelluksella (tai verkkosivulla) tekemiäsi toimenpiteitä ja suorittaa niitä automatisoidusti uudelleen ja uudelleen.
Yksinkertainen esimerkki tästä on tarve muuntaa olemassaoleva ppix-tiedosto ppit-muotoon. Tätä varten voi tehdä UI Flow:n, joka
- saa parametrina ppix-tiedoston polun
- avaa Power BI desktopin
- avaa parametrina saamansa ppix-tiedoston
- tallentaa ppix-tiedoston ppit-mudossa
- sulkee Power BI desktopin
Valmis UI Flow näyttää seuraavalta (kaikki vaiheet eivät näy kuvassa).
UI Flow:ta kutsutaan flow:sta kuin mitä tahansa toimintoa. Kuvan toiminto luo devices.pbix-tiedoston pohjalta devices.ppit-tiedoston.
Yhteenveto
Power Automaten avulla kuka tahansa voi automatisoida rutiinitehtäviään. Mutta se ei ole koko tarina. Sillä voi mainiosti automatisoida myös tiimin, osaston tai vaikka koko organisaation prosesseja.
Eikö ne kannata toteuttaa Logic Appsilla?
Ei aina. Power Apps on tietyiltä osin kyvykkäämpi kuin Logic Apps (ja päin vastoin). Esimerkiksi mikäli prosessi sisältää sähköisen hyväksynnän (Approval Flow) tai jos osa prosessista sähköistetään RPA-työkalun (UI Flow) avulla. Näitä ei löydy Logic Appsista.
Hei,
Mielestäni tämä toiminto toimii oikein vain jos locale-asetukset ovat oikeat. Power BI: ssä tämän kohdan locale -asetukset todennäköisesti asetetaan sovelluksen määrityksiin, joten veikkaisin että tämä toimii oikein vaikka selailijan kieliasetukset olisi suomenkieliset (nämä asetukset ovat en-US):
dayOfWeek(utcNow()) – Jonka jälkeen tarkistamme ettei päivä ole lauantai (0) tai sunnuntai (6).
lauantai = 6, sunnuntai = 0 tai 7 asetuksista riippuen
Suosittelisin lisäämään kuitenkin parametrin tähän, joka varmistaa että lokaalista riippumatta viikonpäivien numerointi on näin tai käsittelemään myös sunnuntain vaihtoehtoisen arvon eli 7:n.
TykkääLiked by 1 henkilö
Erinomainen huomio!
Flow:ssa voi määritellä mitä aika- ja päivä asetuksia se käyttää (rattaan takaa: view all power automate settings). Kokeilin ajaa samaa komentoa sekä suomi, english uk ja english usa päivämääräasetuksilla. Kaikilla palauttaa saman numeron viikonpäivälle.
TykkääTykkää