Zwei neue Features in der Powerplattform, die ich wirklich liebe

Mit den neuen Trigger Outputs und Named Formulas kann man die Wartbar- und Lesbarkeit von PowerPlattform Lösungen steigern

In den letzten Monaten sind zwei neue Funktionen zum Power Plattform Funktionsumfang hinzugefügt worden, die dem Low Code Entwickler das Leben stark vereinfachen können.

Power Automate: Trigger Outputs

Wenn Sie einen Flow erstellt haben, der sehr häufig ausgeführt wird, dann werden Sie dieses Problem wahrscheinlich kennen:

Die Flow-Historie läuft über und um einen speziellen Flow Run wiederzufinden, müssen Sie jeden einzelnen Run öffnen und die Parameter im Trigger prüfen.

trigger

Bei vielen Runs kann das recht lange dauern. Glücklicherweise lassen sich mittlerweile die "Trigger Outputs" als neue Spaten mit in die Flow-Run Tabelle aufnehmen.

Klicken Sie dazu oberhalb der Tabelle auf "Spalten bearbeiten"

runs

und fügen Sie dann die Spalten mit hinzu, die Sie interessieren.

ausfuehrungsverlauf

Die tauchen danach dann in der Flow-Run Tabelle auf

runsmitneuenSpalten

Hier können wir nun auf einen Blick erkennen, welche Paramater für die Flow Run benutzt wurden und welche der Flow Runs für uns relevant sind.

Power Apps: Benannte Formeln

Es kann gut sein, dass Sie in einer PowerApp dieselbe Formel immer und immer benutzen. Das kann zum Beispiel passieren, falls Sie mehrere Elemente abhängig von dem Wert in einen Formular sichtbar/unsichtbar machen wollen.

Typischerweise hätten Sie in dem Fall mehrere Einträge der Formel "Visble=myToggle.Value" an verschiedenen Elementen. Das ist ein sich wiederholende Formel, was im Bezug auf Wartbarkeit keine richtig gute Idee ist. Falls ich die Formel mal ändern muss, dann muss ich das zum Beispiel an vielen, vielen Stellen tun.

// Wiederholend in der Visible-Eigenschaft von vielen,vielen Elementen
=myToggle.Value

Besser wäre es, wenn wir hier eine Variable definieren würden, die wir im OnChange Elements des Toggles auf einen Wert setzten und diese Variable dann mit den Elementen zu benutzen, also etwa so

// im OnChange Event von MyToggle
Set(MyAdditionalFormDataVisible,myToggle.Value)

// In der Visible-Eigenschaft von vielen Elementen
=MyAdditionalFormDataVisible

Das ist dann in Bezug auf Anpassbarkeit der vielen Elemente mit den Visible-Eigenschaften schon viel besser, hat aber auf der OnChange-Seite auch ein paar Nachteile.

  • Zum einen sollte ich die Variable schon bei App.OnStart setzen, damit ich zum Start der App nicht in einem undefinierten Zustand starte. Damit setze ich die Variable schon wenigstens zweimal, mit im schlimmsten Fall sogar mit identischem Code.
  • Dann ist dieser Programmierstil imperativ (wenn etwas passiert, dann führe XYZ aus) und nicht deklarativ (Ich deklariere, dass der Wert von Feld X immer A+B ist und meine Applikation stellt das sicher) und entspricht damit nicht so richtig der generellen Struktur von PowerApps.
  • Und zum dritten explodiert die Komplexität dieses Ansatzes, sobald ich den Wert der Variablen nicht mehr nur durch ein einzelnes Toggle-Control berechnen kann, sondern sich der fachliche "Visible" Wert aus den Werten mehrerer Controls zusammensetzt. Dann habe ich in den OnChange Methoden jedes Controls die Anweisung zum Setzen der Variablen.

Besser wäre es, wenn wir zentral eine deklarative Formel definieren könnten, die wir dann bei vielen Elementen einfach benutzen können.

Das genau sind die neuen "Benannten Formeln"

Um diese Funktion zu benutzen zu können, müssen Sie sie aber zunächst in den Einstellungen unter "Bevorstehende Funktionen"/"Experimentelle"/"Benannte Formeln" aktivieren und die App einmal speichern und neu laden.

BevorstehendeFunktionen <>

Danach haben wir auf dem App-Element die neue Eigenschaft "Formulas"

Formulas <>

Hier kann ich nun meine Formeln definieren, indem ich einfach einen beliebigen Namen mit einer Formel gleichsetze.

// Unter App.Formulas
MyAdditionalFormDataVisible=myToggle.Value

// In der Visible-Eigenschaft von vielen Elementen
=MyAdditionalFormDataVisible

Diese Formel evaluiert sich nun automatisch zur Laufzeit immer von alleine. Falls sich also mal etwas an myToggle ändert, dann ändert sich sofort automatisch der Wert von "MyAdditionalFormDataVisible".

Falls ich später für die Sichtbarkeit ein weiteres Control mit einbeziehen muss, dann muss ich das nur einmal an dieser zentralen Stelle tun.

// Unter App.Formulas
MyAdditionalFormDataVisible=myToggle.Value && myOtherToggle.Value

// In der Visible-Eigenschaft von vielen Elementen
=MyAdditionalFormDataVisible

Das erleichtert Wartbarkeit und Lesbarkeit der PowerApp enorm.

Hat dir das gefallen? Vielleicht magst du auch...

Low-Code-Programmierung: Software selbst bauen

Was verbirgt sich hinter den Begriffen? Wann kann ich das benutzen und worauf muss ich achten?

Neue Governance Möglichkeiten für die PowerPlattform

Auf der Ignite wurden neue Möglichkeiten zur Kontrolle des Datenflusses in PowerApps Konnektoren vorgestellt.

SharePoint Virtual Tables

SharePoint Listen als virtuelle Tabellen im Dataverse