PowerAppsilla luot applikaation ilman koodia: Case SQL-taulun ylläpito

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

Helppo ratkaisu yksinkertaisiin toteutuksiin

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.

Case SQL Server -taulun ylläpito

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:

PowerAppsScreenshotKantarakenne

Applikaation luominen ja objektien lisääminen

Lisätään Gallery ja asetetaan sille tietolähde, sekä valitaan tietolähteestä ylläpidon kohteeksi haluttu taulu.

PowerAppsScreenshotApplikaatioObjektit

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.

PowerAppsScreenshotGallerynObjektit

"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

PowerAppsScreenshotKoodaus

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:

PowerAppsScreenshotKappalesyöte

Lopputulos

Lopputuloksena syntyy yksinkertainen ylläpitolomake tiedoille.

PowerAppsScreenshotLopputulos

PowerAppsin hinta

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

 


SINUSTAKO DIGITAALISUUDEN ARKKITEHTI?

Haluatko olla mukana toteuttamassa haastavia ja mielenkiintoisia projekteja uusinta Azure-teknologiaa hyödyntäen? Katso avoimet tehtävämme.

 

Katso kaikki työpaikat

 

Kirjoittaja
Picture of Marko Oja
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ä.

Uusimmat

Tilaa blogi