Globale Variablen

Abgeschlossen

Globale Variablen sind aufgrund ihrer Flexibilität die am häufigsten verwendeten Variablen. Nachdem Sie die Variable festgelegt haben, können Sie in Ihrer App auf sie verweisen oder sie aktualisieren. Auf diese Weise können Sie eine wiederholte Abfrage nach denselben Informationen vermeiden, um die von Ihnen benötigten Informationen zwingend oder manchmal nur als Platzhalter zusammenzustellen.

Informationen für Ihre Benutzer speichern

Ein häufiges Entwurfsmuster in Apps ist die Personalisierung der App. Dies kann auf sehr einfache Weise erfolgen, indem der Benutzer begrüßt und sein Name auf jedem Bildschirm der App angezeigt wird. Mit Power Apps können Sie eine Begrüßungsnachricht anzeigen und den Namen des Benutzers auf deklarative Weise abrufen, indem Sie die folgende Formel in einem Bezeichnungssteuerelement verwenden.

"Welcome " & User().FullName

Diese Formel zeigt die Zeichenfolge „Willkommen“ an und fragt dann Azure Active Directory nach der DisplayName-Eigenschaft des Benutzers ab und zeigt sie als Text an. Wenn Sie diese Funktion jedoch auf jedem Bildschirm einbeziehen, muss Power Apps bei jedem Öffnen eines Bildschirms diese Daten direkt bei Microsoft Entra ID abfragen. Dadurch werden wiederholte Anrufe im Netzwerk verursacht, die Ihre App verlangsamen.

Ein besserer Ansatz wäre es, diese Informationen beim Öffnen der App in einer globalen Variablen zu speichern und dann in Ihrer App auf diese Variable zu verweisen. Sie können dazu die OnStart-Eigenschaft der App mit der folgenden Formel ändern.

Set(varUserDisplayName, User().FullName)

Für Ihr Bezeichnungssteuerelement würden Sie die Formel jetzt wie folgt ändern.

"Welcome " & varUserDisplayName

Screenshot des Codes und der entsprechenden Nachricht aus dem vorherigen Schritt

Durch diese Formel erhalten Sie dieselbe Ausgabe wie bei der vorherigen Formel, aber anstatt auf jedem Bildschirm zu Microsoft Entra ID zurückzukehren, kann Power Apps auf den in der Variablen gespeicherten Wert verweisen.

Den Status in einer Variablen nachverfolgen

Bei einer deklarativen Mentalität können Sie Steuerelemente basierend auf einer Datenabfrage ein‑ oder ausblenden. Wenn Sie z. B. eine App zur Verwaltung von Kundenaufträgen verwenden, können Sie z. B. ein Warnsymbol einsetzen, das nur angezeigt wird, wenn der Kunde mehr als drei ausstehende Rechnungen hat. Zusätzlich zur Warnung könnte es erforderlich sein, dass Sie die Genehmigung eines Vorgesetzten einholen müssen, wenn der Kunde eine neue Bestellung aufgeben möchte, aber mehr als drei ausstehende Rechnungen hat. Dieser Genehmigungsworkflow beginnt damit, dass der Benutzer eine Genehmigungsschaltfläche auswählt.

Mit einer deklarativen Einstellung würden Sie die Visible-Eigenschaft für das Warnsymbol auf Folgendes festlegen.

CountRows(Filter(InvoiceEntity, CustomerNumber = ThisCustomersNumber 
And Status = "Outstanding")) > 3

Bei „True“ wird das Symbol angezeigt, während es bei „False“ nicht angezeigt wird. Sie würden dann dieselbe Formel für die Visible-Eigenschaft der Genehmigungsschaltfläche wiederholen.

Das Problem ist, dass dies zu einer komplexen Formel führt, die Sie an zwei verschiedenen Stellen verwalten. Dadurch generiert diese Abfrage doppelten Netzwerkdatenverkehr, die Verarbeitung in der App als auch die Verarbeitung in der Datenquelle.

Ein besserer Ansatz ist es, den komplexen Aufruf nur einmal auszuführen, das Ergebnis in einer Variablen zu speichern und dann diese Variable zu verwenden, um die Visible-Eigenschaft jedes Steuerelements zu steuern.

Konfigurieren Sie dazu die Eigenschaft OnVisible des Bildschirms, um die Variable festzulegen.

Set(varOustandingExceeded, CountRows(Filter(InvoiceEntity, CustomerNumber = 
ThisCustomersNumber And Status = "Outstanding")) > 3)

Die Variable varOutstandingExceeded ergibt aufgrund des Ergebnisses der Formel entweder „true“ (wahr) oder „false“ (falsch). Legen Sie jetzt die Visible-Eigenschaft des Icon‑ und Button-Steuerelements auf varOutstandingExceeded fest.

Es sind keine zusätzlichen Formeln oder Funktionen erforderlich. Dies liegt daran, dass diese Steuerelemente für die Visible-Eigenschaft entweder „True“ oder „False“ akzeptieren und die Variable entweder wahr oder falsch ist. Basierend auf Ihrer Set-Funktion in der OnVisible-Eigenschaft des Bildschirms legt Power Apps den Typ der Variablen auf „Boolean“ und den Wert basierend auf dem Ergebnis der Formel auf „true“ oder „false“ fest.

Kleine Änderungen wie diese gestalten Ihre App leistungsfähiger und vereinfachen die Wartung. Sie sollten Variablen immer dann einbeziehen, wenn Sie wiederholt Informationen abrufen, die sich während der Verwendung nicht ändern werden.