Marko Oja
Data-arkkitehti, joka auttaa asiakasta ymmärtämään tekniikan mahdollisuudet ja muuntaa innovatiiviset ideat teknisiksi ratkaisuiksi. Ketterät kehitysmenetelmät ja kehitystyötä tukevat prosessit ovat lähellä Markon sydäntä.
PowerApps on Microsoftin pilvipohjainen lomaketyökalu. Sen ideana on mahdollistaa yksinkertaisten applikaatioiden tuottaminen ilman koodaamista. Tuotteen etuihin kuuluvat vuonhallinta ja kohtuulliset integraatiot Microsoftin järjestelmiin, kuten SharePointiin. Työkalun hienouksia ovat lisäksi mahdollisuus upottaa toiminnallisuutta Power BI -raporteille, sekä luoda mobiililaitteille yhteensopivia käyttöliittymiä. Kaiken kaikkeaan siis erittäin mielenkiintoinen työväline!
Data-arkkitehtina oma mielenkiintoni kuitenkin kohdistuu työkalun valmiuksiin tiedon ylläpitämisessä ja jalostamisessa. Dataprojekteissa on usein tarve luoda yksinkertaisia ylläpitonäyttöjä tietokannassa sijaitsevalle tiedolle. Perinteisesti nämä tarpeet on ratkaistu syöttämällä tieto esimerkiksi käyttäjien ylläpitämiin Excel-tiedostoihin tai koodaamalla web-lomakkeet esimerkiksi Reactia tai Angularia hyödyntäen.
DataHub -konseptimme tarjoaa keskitetyn tiedon muokkaukseen tarkoitetun rajapinnan, jossa tiedon muokkauksen pystyy hoitamaan PowerAppsilla helposti ja kustannustehokkaasti. Mikäli haluat kuulla lisää modernin tietoalustan tarjoamista mahdollisuuksista, ota yhteyttä!
PowerApps mahdollistaa yksinkertaisten ja toimivien applikaatioiden tuottamisen ilman koodausta. Se kuitenkin tarjoaa myös koodatun lomakkeen edut, kuten tietokannasta haettavan ja tallennettavan datan, sekä tiedon validoinnin. Monimutkaisempiin toteutuksiin joudumme yhä käyttämään koodattuja toteutuksia, mutta data-alustalla tarve on usein todellista toiminnallista järjestelmää huomattavasti yksinkertaisempi. Esimerkiksi tiedon luokittelu on tällainen yleinen tarve. PowerAppsilla näiden ylläpitojen luominen onnistuukin erittäin helposti. Kunhan vain ensin tietää mitä tekee, lomakkeen saa luotua muutamassa tunnissa – joskus jopa minuuteissa.
Lisäksi PowerApps tarjoaa design first -tyyppisen lähestymisen applikaatioiden suunnitteluun ja toteuttamiseen. Liiketoiminnan kanssa voidaan ideoida lomakkeen rakenne yhdessä, jonka jälkeen kehittäjä voi palata työpisteelleen ja yhdistää lomakkeen tietoalustassa sijaitsevaan dataan. Tällä tavalla on paljon helpompaa ymmärtää, millaista tietoa lomake tarvitsee toimiakseen, ja iteroinnin (lue uudelleen tekemisen) määrä saadaan pysymään huomattavasti vähäisempänä.
Luontivelholla pystyy luomaan lomakkeen muutamassa minuutissa, mutta se ei välttämättä vielä palvele käyttäjää kovin hyvin. PowerAppsilla voi automaattisesti luoda yleiskäyttöisen applikaation, jonka ensimmäisellä näytöllä näkyy kaikki tietueet ja toisella näytöllä niitä pystyy muokkaamaan. Tämä ei kuitenkaan ole aivan se lopputulos, jota toivomme. Tavoiteltu rakenne on yhden näytön applikaatio, jossa tietoja pystyy muokkaamaan taulukossa hieman Excelin tapaan. Kun on tarve ylläpitää kerralla useita kymmeniä rivejä, ei ruudun vaihto jokaisen tietueen kohdalla ole toimiva vaihtoehto.
Miten tällainen yksinkertainen ylläpitolomake sitten luodaan? Tässä lyhyt esimerkki ylläpitolomakkeesta SQL-tietokannan taululle.
Kantarakenne
PowerApps on aika tarkka kannan rakenteesta, kun applikaatiota luodaan taulun ylläpitoon. Hyvänä sääntönä on luoda tauluun aina primääri avain (PK), joka on integer-muotoinen, automaattisesti täyttyvä kenttä (IDENTITY). Esimerkissä käytetyn taulun rakenne on seuraavanlainen:
Applikaation luominen ja objektien lisääminen
Lisätään Gallery ja asetetaan sille tietolähde, sekä valitaan tietolähteestä ylläpidon kohteeksi haluttu taulu.
Lisätään Galleryn objektit:
- Nimi (vain näytettävälle kentälle)
- Avattava luettelo (alasvetovalikko)
- Tekstisyöte (kirjoittamalla syötettävä tieto)
Lopuksi asetellaan objektit taulukkomaiseen muotoon ja muokataan ulkoasumääritykset.
"Koodaus"
Jotta objektit saadaan näyttämään ja päivittämään tietolähteen tietoja, tulee niille asettaa toimintoja:
- Items määrittää objektissa saatavissa olevat tietueet (esimerkiksi alasvetovalikon valinnat)
- Default määrittää, mikä arvo solussa näytetään
- OnChange kohdalle määritellään päivitysrutiini, joka tallentaa solun tiedon takaisin tietolähteeseen
Tuottajaluettelo
- Items: Distinct(Sort('[dbo].[pa_products]';provider_name);provider_name)
- Default: ThisItem.provider_name
- OnChange: Patch('[dbo].[pa_products]'; LookUp('[dbo].[pa_products]'; bk=Gallery1.Selected.bk); {provider_name:ValmistajaDropdown.Selected.Value})
Kappalesyöte
- Default: ThisItem.stock_amount
- OnChange: Patch('[dbo].[pa_products]';LookUp('[dbo].[pa_products]'; bk=Gallery1.Selected.bk);{stock_amount:Value(KplTextInput.Text)})
Määrittelyjen ymmärtämisen helpottamiseksi kuva applikaation rakenteesta:
Lopputulos
Lopputuloksena syntyy yksinkertainen ylläpitolomake tiedoille.
PowerApps on ilmainen, jos käytössäsi on sopiva Office 365 -lisenssi (E1-E5, Business Essentials/Premium jne.). Yksittäisen tuotteen hinta on 5,90 euroa kuukaudessa per käyttäjä.
Haluatko olla mukana toteuttamassa haastavia ja mielenkiintoisia projekteja uusinta Azure-teknologiaa hyödyntäen? Katso avoimet tehtävämme.
Data-arkkitehti, joka auttaa asiakasta ymmärtämään tekniikan mahdollisuudet ja muuntaa innovatiiviset ideat teknisiksi ratkaisuiksi. Ketterät kehitysmenetelmät ja kehitystyötä tukevat prosessit ovat lähellä Markon sydäntä.