Suche

PowerFx – Variabeln

Themen

Einstieg

Variablen spielen eine entscheidende Rolle bei der Verwaltung und Speicherung von Daten in PowerApps. Als Entwickler hast du zwei zentrale Funktionen zur Verfügung, um Variablen zu definieren und zu ändern: Set() und UpdateContext(). Beide Funktionen dienen zwar dazu, Werte zu speichern und zu manipulieren, aber es gibt wichtige Unterschiede in ihrer Anwendung und Reichweite, die du kennen solltest.

Mit Set() kannst du globale Variablen erstellen und ändern, die in der gesamten App verfügbar sind. Diese Funktion ist ideal, wenn du Werte brauchst, die über mehrere Bildschirme hinweg genutzt werden sollen.

UpdateContext() hingegen ist für kontextuelle oder lokale Variablen gedacht, die nur innerhalb eines bestimmten Bildschirms verfügbar sind. Das ist praktisch, wenn du Daten nur innerhalb eines bestimmten Bereichs deiner App verwenden möchtest.

Wenn du den Überblick über deine Variablen behalten möchtest, kannst du die Ansicht „Variablen“ in der Erstellungsumgebung nutzen. Dort kannst du alle Werte und Verwendungen deiner Variablen überprüfen und verwalten.

Set()

Globale Variablen in Power Apps speichern vorübergehende Informationen, wie Ergebnisse von Datenoperationen, und sind auf allen Bildschirmen Deiner App verfügbar. Du erstellst sie mit der Set-Funktion, ohne dass eine explizite Deklaration nötig ist. Diese Variablen aktualisieren sich automatisch, wenn sie sich ändern. Falls sich jedoch die zugrunde liegende Formel ändert, musst Du sie manuell aktualisieren. Beim Schließen der App geht der Wert globaler Variablen verloren und muss neu erstellt werden.

Wichtig: Globale Variablen dürfen nicht denselben Namen wie Sammlungen oder Steuerelemente haben. Du kannst ihnen jedoch denselben Namen wie einer Kontextvariablen geben, indem Du einen Operator zur Mehrdeutigkeitsvermeidung verwendest. Beachte auch, dass die Set-Funktion keinen Rückgabewert hat und innerhalb von Verhaltensformeln verwendet wird.

Set(
    varTglBoolean,
    !Coalesce(
        varTglBoolean,
        false
    )
)
Set(
    varIncrementInteger,
    Coalesce(
        varIncrementInteger + 1,
        1
    )
)
Set(
    varRecord,
    ThisItem
);
Set(
    varRecordComboBox,
    ComboBox1.Selected
)

UpdateContext()

die UpdateContext-Funktion nutzt du, um Kontextvariablen zu erstellen oder zu aktualisieren. Kontextvariablen sind bildschirmbezogen, ähnlich wie lokale Variablen in anderen Programmiersprachen. Anders als normale Formeln in Power Apps, werden Kontextvariablen nicht automatisch neu berechnet. Das kann manchmal das Erstellen und Verstehen deiner Apps ein bisschen komplizierter machen. Deshalb empfehle ich dir, vorher den Artikel „Arbeiten mit Variablen“ durchzulesen.

Kontextvariablen referenzierst du über ihren Spaltennamen. Hier ein Beispiel:

UpdateContext( { ShowLogo: true } )

Das erstellt eine Kontextvariable „ShowLogo“ mit dem Wert „true“. Diese Variable kannst du dann in deinen Formeln nutzen, zum Beispiel um die Sichtbarkeit eines Bildsteuerelements zu steuern. Diese Variablen behalten ihren Wert, bis du die App schließt.

Wenn du eine Kontextvariable auf einem anderen Bildschirm ändern willst, brauchst du entweder die Navigate-Funktion oder eine globale Variable. Übrigens, die UpdateContext-Funktion hat keinen Rückgabewert und wird nur in Verhaltensformeln verwendet.

UpdateContext(
    {
        conTglContainer: !Coalesce(
            conTglContainer,
            false
        )
    }
)
UpdateContext(
    {
        varIncrementInteger: !Coalesce(
            varIncrementInteger + 1,
            1
        )
    }
)
//Varibale erstellen
UpdateContext(
    {
        varRecord: {
            artikelNr: 1,
            menge: 10,
            einheit: "stück"
        }
    }
);
//Variable updaten
UpdateContext(
    {
        varRecord: Patch(
            varRecord,
            {
                menge: 5
            }
        )
    }
)

Fazit

Das Verstehen und richtige Anwenden von Variablen in PowerApps ist essenziell für die Entwicklung effizienter und gut strukturierter Anwendungen. Durch die Nutzung von Set() für globale Variablen kannst du sicherstellen, dass wichtige Daten und Zustände über verschiedene Bildschirme hinweg verfügbar bleiben. Dies ist besonders nützlich für Werte, die zentral für die gesamte App sind, wie Benutzereinstellungen oder zentrale Datenpunkte.

Auf der anderen Seite ermöglichen dir Kontextvariablen, die mit UpdateContext() erstellt werden, eine feinere Kontrolle über Daten und Zustände innerhalb einzelner Bildschirme. Dies ist ideal für lokale Daten, die nicht über die Grenzen eines Bildschirms hinaus benötigt werden. Der gezielte Einsatz von Kontextvariablen kann die Komplexität deiner App verringern und die Performance verbessern, da diese Variablen nur dort existieren, wo sie gebraucht werden.

Zusammengefasst:

  • Set() als Globale Variable : Nützlich für Werte, die app-weit zugänglich sein müssen.
  • UpdateContext() als Kontextvariablen : Ideal für bildschirmbezogene Werte, die lokal und kontextsensitiv sind.

Die Wahl zwischen hängt letztendlich von deinem spezifischen Anwendungsfall ab. Ein bewusster und gut geplanter Einsatz beider Typen von Variablen trägt entscheidend zur Lesbarkeit, Wartbarkeit und Effizienz deiner PowerApps bei. Nutze die „Variablen“-Ansicht in der Erstellungsumgebung, um den Überblick über alle verwendeten Variablen zu behalten und ihre Werte und Anwendungen effizient zu verwalten.

Mit diesem Wissen bist du nun bestens gerüstet, um sowohl globale als auch lokale Variablen in deinen PowerApps sinnvoll einzusetzen und dadurch leistungsstarke und flexible Anwendungen zu entwickeln.

noch mehr interessante Beiträge

Nach oben scrollen