Die Funktion „Patch“ zum Erstellen und Bearbeiten von Datensätzen verwenden

Abgeschlossen

Die Funktion Patch wird verwendet, um Datensätze in einer Datenquelle zu erstellen und zu bearbeiten, wenn durch die Verwendung eines Formular-Steuerelements nicht die gewünschten Ergebnisse erzielt werden. Patch wird am häufigsten verwendet, wenn Sie wiederholt auf Daten reagieren müssen, ohne dass der Benutzer eingreifen muss. Zudem wird es verwendet, wenn Ihr App-Design die Verwendung von Formularen nicht zulässt.

Die Funktion „Patch“ zum Erstellen eines Datensatzes verwenden

Die Funktion Patch kann verwendet werden, um einen neuen Datensatz in Ihrer Datenquelle zu erstellen. Die Formel zum Erstellen eines neuen Datensatzes besteht aus drei Bestandteilen.

  1. Fügen Sie den Namen der Datenquelle hinzu, die Sie bearbeiten möchten. Es kann sich dabei beispielsweise um eine Quelle von Tabellendaten (wie Microsoft Dataverse oder SharePoint) oder eine Sammlung handeln. Sie können der Datenquelle z. B. den Namen CustomerOrders geben.

  2. Die Funktion Defaults gibt einen Datensatz mit den Standardwerten der Datenquelle zurück. Wenn es für eine Spalte innerhalb der Datenquelle keine Standardwerte gibt, ist diese Eigenschaft nicht vorhanden. Wenn Sie die Funktion „Defaults“ mit der Datenquelle verwenden, wird die Funktion „Patch“ verwendet, um einen neuen Datensatz zu erstellen.

  3. Fügen Sie die Spalten hinzu, die im neuen Datensatz aufgefüllt werden sollen. Geben Sie dabei den Namen der Spalte, die aktualisiert werden soll, sowie den Wert an, der in diese Spalte geschrieben werden soll. Aktualisieren Sie in diesem Beispiel die Spalte für Region und Country mit einem Zeichenfolgenwert.

Die Beispielformel sieht wie folgt aus:

Patch(CustomerOrders, Defaults(CustomerOrders), {Region: "Americas", Country: "Canada"})

Mithilfe dieser Formel wird ein neuer Datensatz in der Datenquelle CustomerOrders angezeigt und Region auf „Americas“ und Country auf „Canada“ festgelegt. Beachten Sie aber, dass Sie hierbei keine Informationen zum Primärschlüssel (die ID-Spalte) definieren, die gemäß den Einstellungen der Datenquelle von dieser aktualisiert werden.

Die Funktion „Patch“ zum Bearbeiten eines Datensatzes verwenden

Sie können Datensätze auch in der Datenquelle bearbeiten. Die Formel zum Bearbeiten eines einzelnen Datensatzes besteht aus drei Bestandteilen.

  1. Fügen Sie den Namen der Datenquelle hinzu, die Sie bearbeiten möchten. Es kann sich dabei beispielsweise um eine Quelle von Tabellendaten (wie Dataverse oder SharePoint) oder eine Sammlung handeln. Sie können der Datenquelle z. B. den Namen CustomerOrders geben.

  2. Der Datensatz, den Sie in der Datenquelle bearbeiten möchten. Normalerweise wird dieser Datensatz mithilfe der Funktion LookUp angegeben, die den Datensatz aus der Datenquelle abruft. Wenn Sie einen Katalog verwenden und den Datensatz aktualisieren möchten, können Sie stattdessen auch die Funktion ThisItem verwenden, um auf den Datensatz zu verweisen. Verwenden Sie in diesem Beispiel die Funktion „LookUp“.

  3. Fügen Sie die gewünschten Änderungen hinzu. Geben Sie dabei den Namen der Spalte, die aktualisiert werden soll, sowie den Wert an, der in diese Spalte geschrieben werden soll. Aktualisieren Sie in diesem Beispiel die Spalte für Region und Country mit einem Zeichenfolgenwert.

Die Beispielformel sieht wie folgt aus:

Patch(CustomerOrders, LookUP(CustomerOrders, ID = 1), {Region: "Asia", Country: "China"})

Mithilfe dieser Formel wird der Datensatz in der Tabelle CustomerOrders mit der ID „1“ aktualisiert, indem die Spalte „Region“ auf „Asia“ und in die Spalte „Country“ auf „China“ eingestellt wird. Werte, die bereits in diesen Feldern eingetragen sind, werden überschrieben.

Spalten mithilfe der Funktion „Patch“ aktualisieren

Die primäre Logik der meisten Patch-Funktionen ist das Aktualisieren der richtigen Spalten mit passenden Informationen. Dies ist die Quelle für die meisten Ihrer Fehlerbehebungen bei der Patch-Funktion. Gehen Sie wie folgt vor, um die Funktion „Patch“ zu überprüfen.

  • Vergewissern Sie sich, dass Sie alle erforderlichen Spalten aus Ihrer Datenquelle aktualisieren.

  • Sie können beliebig viele der optionalen Spalten aktualisieren.

  • Stellen Sie sicher, dass die Namen Ihrer Spalten richtig geschrieben sind. Bei Spaltennamen wird zwischen Groß‑ und Kleinschreibung unterschieden.

  • Achten Sie darauf, dass Sie den richtigen Datentyp eintragen. Wenn es sich bei der Spalte in der Datenquelle beispielsweise um einen Zahlentyp handelt, können Sie hier keinen Zeichenfolgenwert eingeben – auch nicht, wenn diese Zeichenfolge eine Zahl enthält.

Es gibt vier Quellen, mithilfe derer Sie Werte in Ihrer Formel an die Funktion „Patch“ für Ihre Datenquelle übergeben können:

  • Sie können einen Wert hartcodieren. Wenn Sie beispielsweise die Funktion „Patch“ auf den Status „Ausstehend“ des Datensatzes ausführen möchten, sieht Ihre „Patch“-Formel wie folgt aus:

    Patch(CustomerOrders, Default(CustomerOrders), {Status: "Pending"})
    

    Mithilfe dieser Formel wird ein neuer Datensatz erstellt, und die Spalte „Status“ erhält den Zeichenfolgenwert „Ausstehend“.

  • Sie können auf eine Variable verweisen. Beispielsweise können Sie die Zeichenfolge „Wird überprüft“ in der Variable varStatus mithilfe der folgenden Formel speichern.

    Set(varStatus, "Under Review")
    

    In diesem Fall sollten Sie die folgende „Patch“-Formel verwenden:

    Patch(CustomerOrders, Default(CustomerOrders), {Status: varStatus})
    

    Mithilfe dieser Formel wird ein neuer Datensatz erstellt, und die Spalte „Status“ erhält den Zeichenfolgenwert „Wird überprüft“.

  • Sie können über die Eigenschaft eines Steuerelements einen Verweis auf den Wert herstellen. Beispielsweise können Sie den Wert über ein Dropdownmenü mit dem Namen „Dropdown1“ für die Regionen festlegen. Ihre „Patch“-Formel sieht dann wie folgt aus:

    Patch(CustomerOrders, Default(CustomerOrders), {Status: Dropdown1.Selected.Value})
    

    Mithilfe dieser Formel wird ein neuer Datensatz erstellt, und die Spalte „Status“ erhält den Wert des im Dropdownmenü ausgewählten Elements.

  • Sie können die Ausgabe einer Formel verwenden. Sie können beispielsweise mithilfe des Elements „FullName“ der Funktion User() den Wert der Spalte Owner festlegen. Ihre „Patch“-Formel sieht dann wie folgt aus:

    Patch(CustomerOrders, Default(CustomerOrders), {Owner: User().FullName})
    

    Mithilfe dieser Formel wird ein neuer Datensatz erstellt, und die Spalte Owner wird auf das FullName-Element des aktuellen Benutzers für Microsoft Entra ID festgelegt.

„Patch“-Beispiel

Sehen wir uns ein anderes Beispiel an. In diesem Beispiel versuchen Sie, eine Lösung zu erstellen, mit der Benutzer beim Ankommen bei der Klasse angemeldet werden können. Diese Art von Power Apps-Lösungen wird oft verwendet, und die Patch-Funktion hilft Ihnen dabei, schnell Ergebnisse zu erzielen.

Screenshot mit Beispiel eines Power Apps-Lösungs-Patch

Lösungsaufschlüsselung

Hier haben wir eine einfache Canvas-App, die mit unserer Datenquelle (Anmeldung bei der Schulungsklasse) verbunden ist. Die Datenquelle enthält die folgenden Spalten: Schulungsklasse, Vorname, Nachname, E-Mail-Adresse, Anmeldestatus. Dies sind die Informationen, die wir erfassen möchten, wenn ein Benutzer die Schaltfläche Sign In auswählt. Auf der Bearbeitungsleiste wird folgender Code angezeigt:

Patch(TrainingClassSignIn,Defaults(TrainingClassSignIn),{TrainingClass:TrainingClassDD.Selected.Value, FirstName:FirstNameInput.Text, LastName:LastNameInput.Text, EmailAddress:EmailAddressInput.Text, SignInStatus:"Attended"})

Power Apps schreibt einen neuen Datensatz in die Datenquelle TrainingClassSignIn, um zu erarbeiten, wann immer jemand die Schaltfläche Sign In auswählt. In Bezug darauf, welche Daten für die Benutzeranmeldung zurückgeschrieben werden, können Sie sehen, dass diese Informationen von den von uns hinzugefügten verschiedenen Steuerelementen abgerufen werden (in der Formel farblich gekennzeichnet). Möglicherweise stellen Sie auch fest, dass der Code den SignInStatus jedes Mal für jeden neuen übermittelten Datensatz auf „Beaufsichtigt“ setzt.

Die Funktion „Patch“ ist also sehr flexibel einsetzbar und sehr wirkungsvoll. Patch hat sogar noch mehr Funktionen und kann z. B. mehrere Datensätze gleichzeitig aktualisieren und zusammenführen. Weitere Informationen über diese Szenarios finden Sie unter Funktion „Patch“ in Power Apps.