Formule kolom: het einde van workflows?

Door Dynamic Hands op

Toen Power Automate zijn intrede maakte, viel er gelijk een groot hiaat op: Power Automate werkt alleen asynchroon! Een doorn in het oog van velen, want zolang dat niet veranderde, zou de ouderwetse (synchrone) workflow nog niet vervangen zijn.

Wellicht vanwege performance overwegingen is dit de afgelopen jaren nog niet veranderd,

echter, een nieuwe, synchrone ster aan het firmament dient zich aan in de preview fase: de formule kolom! Het oogt soms wat krampachtig, maar om onze taal in ere te houden, zullen wij de Nederlandse terminologie gebruiken, voor zover dat de leesbaarheid niet negatief beïnvloedt.

Deze functie doet niets minder dan wat de naam belooft, namelijk de inhoud van de kolom laten bepalen door een formule. Dit maakt ons wel een stuk flexibeler in het samenstellen van ons datamodel en het zal op termijn heel wat (work)flows overbodig kunnen gaan maken.

Formule kolommen stellen ons in staat om complexe berekeningen met en afvragingen omtrent andere kolommen uit de tabel uit te voeren en de resultaten daarvan synchroon in de formule kolom (dus ook op een formulier) weer te geven.

Leuk, maar we hebben toch al sinds jaar en dag de beschikking tot calculated fields?

Klopt als een zwerende vinger! Maar Microsoft is met een queeste bezig om Power FX op steeds meer onderdelen van het powerplatform terug te laten komen. Zoals het ooit begon als de formule taal voor canvas apps, zal die olievlek in rap tempo groeien.

Dat speelt enerzijds steeds meer uniformiteit in de kaart en anderzijds ook de flexibiliteit van de verschillende onderdelen.

Ook hier helpt Intelligence ons om het bakken van de formule tot een goed einde te brengen. Bovendien zegt Microsoft zelfs, dat de invoer lijkt op die van Excel formules. Dat vinden wij persoonlijk wat te ver gaan. Power FX lijkt wel wat op de syntax van Excel, maar uiteindelijk is het toch echt een andere taal. Vergelijk Duits en Nederlands. De talen lijken op elkaar, maar als je Duits spreekt, betekent dat niet gelijk dat je Nederlands spreekt.

Bij het samenstellen van een voorwaarde voor een calculated field, kun je kiezen uit AND of OR voor álle voorwaarden. Groeperen kan hier gewoon niet. Met de intrede van de formule kolom behoort dit tot het verleden, omdat je de IF voorwaarde zo uitgebreid kunt maken als gewenst.

Eindelijk wordt ook afgerekend met de onhebbelijkheid van calculated fields dat (bijvoorbeeld) de som van een paar verschillende kolommen altijd op NULL uitkomt als één van die kolommen leeg is. De formule kolom behandelt NULL als 0.

En last, maar zeker not least: er zijn veel (echt veel) meer functies beschikbaar voor de power FX formules (te vinden op https://learn.microsoft.com/en-us/power-apps/maker/data-platform/formula-columns#function-types) waardoor de voorsprong op calculated fields zienderogen toeneemt.

Beperkingen

Deze functionaliteit staat nog in preview, wellicht komt dat door deze beperkingen?

  • Nog niet alle bekende functies, die we uit power FX kennen, zijn beschikbaar voor de formule kolom.
  • Je blijft binnen de context van de tabel. Wilde optellingen van (niet) gerelateerde kolommen uit andere tabellen is nog geen optie en rollup velden worden dus nog niet vervangen.
  • Rollup velden van een bovenliggende tabel kunnen nog niet om gaan met formule kolommen. Mocht je dat proberen krijg je een best vieze foutmelding.

Om kort te gaan

Dit is een vreselijk nuttige toevoeging en gaat veel javascript en (realtime) workflows schelen. Uiteindelijk kan dat zelfs het definitief verdwijnen van de klassieke workflows gaan betekenen.

Het heeft er alle schijn van dat Microsoft hard bezig is om Power FX naar Model Driven Apps te krijgen en, laten we eerlijk zijn, dat zal tijd worden. De scheidslijn tussen toen en later is nog steeds veel te dominant aanwezig en er is veel behoefte aan convergentie.

Stap voor stap

Om kennis te kunnen maken met deze functionaliteit, kun je gebruik maken van de preview maker portal of zelf de preview features activeren. Momenteel maakt het nog niet zo heel veel verschil, want deze functionaliteit is dus nog in preview en kan (en naar verwachting zal) nog veranderen. Helaas dus nog geen solide basis om je eigen productie systeem mee te verbouwen.

Case:

We willen graag onze accounts classificeren naar aanleiding van een score van de accountmanager (classificatie 1 t/m 5) en het aantal medewerkers:

De kolommen “Classification” (choice) en “Employees” had ik al gemaakt, dus ik maak een nieuwe kolom “Type” aan en geef als Data type “Formula (Preview)” mee:

Vervolgens wordt een invoerveld getoond voor de Formule. Hier voer ik de volgende tekst in:

If(Employees > 100 And (Classification=’Classification (Accounts)’.’1′ Or Classification=’Classification (Accounts)’.’2′),”Gold”, Employees > 50 And (Classification=’Classification (Accounts)’.’3′ Or Classification=’Classification (Accounts)’.’4′),”Silver”,”Bronze”)

Sla het veld op en voeg de benodigde velden toe aan het account formulier:

Tijd voor een testrit!

Reactie op “Formule kolom: het einde van workflows?

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.