Collect-, Clear- und ClearCollect-Funktionen in Power Apps

Erstellt und löscht Sammlungen und fügt Datensätze zu einer beliebigen Datenquelle hinzu.

Beschreibung

Collect

Die Collect -Funktion fügt Datensätze zu einer Datenquelle hinzu. Die hinzuzufügenden Elemente können sein:

  • Ein einzelner Wert: Der Wert befindet sich im Value -Feld eines neuen Datensatzes. Alle anderen Eigenschaften bleiben blank.
  • Ein Datensatz: Jede benannte Eigenschaft wird in der entsprechenden Eigenschaft des neuen Datensatzes eingefügt. Alle anderen Eigenschaften bleiben leer.
  • Ein Tabelle: Jeder Datensatz der Tabelle wird als ein separater Datensatz der Datenquelle hinzugefügt, wie oben beschrieben. Die Tabelle wird nicht als geschachtelte Tabelle zu einen Datensatz hinzugefügt. Umschließen Sie zu diesem Zweck zuerst die Tabelle in einem Datensatz.

Bei Verwendung mit einer Sammlung werden bei Bedarf zusätzliche Spalten erstellt. Die Spalten für andere Datenquellen werden von der Datenquelle vordefiniert, und neue Spalten können nicht hinzugefügt werden.

Wenn die Datenquelle nicht bereits vorhanden ist, wird eine Sammlung erstellt.

Sammlungen werden manchmal verwendet, um globale Variablen zu halten oder eine temporäre Kopie einer Datenquelle zu erstellen. Canvas-Apps basieren auf Formeln, die automatisch neu berechnet werden, während der Benutzer mit einer App interagiert. Sammlungen haben diesen Vorteil nicht und ihre Verwendung kann das Erstellen und Verstehen Ihrer App erschweren. Lesen Sie vor dem Verwenden einer Sammlung auf diese Weise Working with Variables (Mit Variablen arbeiten).

Sie können auch die Patch -Funktion für die Erstellung von Datensätzen in einer Datenquelle verwenden.

Collect gibt die geänderte Datenquelle als Tabelle zurück. Collect kann nur in einer behavior formula (Verhaltensformel) verwendet werden.

Clear

Die Clear -Funktion löscht alle Datensätze einer Sammlung. Die Spalten der Sammlung bleiben erhalten.

Beachten Sie, dass Clear nur bei Sammlungen und nicht bei anderen Datenquellen angewendet wird. Für diesen Zweck können Sie RemoveIf( DataSource , TRUE) verwenden. Seien Sie vorsichtig, da dies alle Datensätze aus dem Speicher der Datenquelle entfernt und Auswirkungen auf andere Benutzer haben kann.

Sie können die Remove -Funktion verwenden, um Datensätze gezielt zu entfernen.

Clear hat keinen Rückgabewert. Es kann nur in einer Verhaltensformel verwendet werden.

ClearCollect

Die ClearCollect -Funktion löscht alle Datensätze aus einer Sammlung. Anschließend werden der gleichen Sammlung andere Datensätze hinzugefügt. Mit einer einzelnen Funktion bietet ClearCollect die Kombination von Clear und anschließend Collect.

ClearCollect gibt die geänderte Sammlung als Tabelle zurück. ClearCollect kann nur in einer Verhaltensformel verwendet werden.

Stellvertretung

Diese Funktionen können bei Verwendung einer Datenquelle nicht delegiert werden. Nur der erste Teil der Datenquelle wird abgerufen, bevor die Funktion angewendet wird. Das Ergebnis stellt möglicherweise nicht alles dar. Bei Erstellungszeit erinnert möglicherweise eine Warnung an diese Einschränkung und schlägt den Wechsel zu delegierbaren Alternativen vor, sofern diese bestehen. Weitere Informationen finden Sie unter Überblick über Delegation.

Syntax

Collect ( Datenquelle , Element , ... )

  • DataSource – Erforderlich. Die Datenquelle, in die Sie Daten hinzufügen möchten. Wenn nicht bereits vorhanden, wird eine neue Sammlung erstellt.
  • Element(e) : Erforderlich. Eine oder mehrere Datensätze oder Tabellen, die der Datenquelle hinzugefügt werden sollen.

Clear ( Auflistung )

  • Auflistung : Erforderlich. Die Sammlung, die Sie löschen möchten.

ClearCollect ( Auflistung , Element , ... )

  • Auflistung : Erforderlich. Die Sammlung, die Sie löschen und zu der Sie dann Daten hinzufügen möchten.
  • Element(e) : Erforderlich. Eine oder mehrere Datensätze oder Tabellen, die der Datenquelle hinzugefügt werden sollen.

Beispiele

Löschen und Hinzufügen von Datensätzen zu einer Datenquelle

In diesen Beispielen löschen und fügen Sie Daten zu einer Sammlung mit dem Namen IceCream hinzu. Die Datenquelle beginnt mit dem folgenden Inhalt:

Beispieldatenquelle

Formel Beschreibung Ergebnis
ClearCollect( IceCream, { Flavor: "Strawberry", Quantity: 300 } ) Löscht alle Daten aus der Sammlung IceCream , und fügt anschließend einen Datensatz hinzu, der eine Menge von Erdbeereis enthält. Tabelle mit einem Datensatz

Die Sammlung IceCream wurde auch geändert.
Collect( IceCream, { Flavor: "Pistachio", Quantity: 40 }, { Flavor: "Orange", Quantity: 200 } ) Fügt zwei Datensätze zur Sammlung IceCream hinzu, die eine Menge von Pistazien- und Orangeneis enthält. Tabelle mit zwei Datensätzen

Die Sammlung IceCream wurde auch geändert.
Clear( IceCream ) Entfernt alle Datensätze aus der Sammlung IceCream. Leere Tabelle

Die Sammlung IceCream wurde auch geändert.

Schritt-für-Schritt-Beispiele zum Erstellen einer Sammlung finden Sie unter Erstellen und Aktualisieren einer Sammlung.

Datensätze und Tabellen

In diesen Beispielen wird untersucht, wie Datensatz- und Tabellenargumente für Collect und ClearCollect behandelt werden.

Formel Beschreibung Ergebnis
ClearCollect( IceCream, { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) Löscht alle Daten und fügt der Sammlung IceCream dann zwei Datensätze hinzu, die eine Menge von Schokoladen- und Vanilleeis enthalten. Die hinzuzufügenden Datensätze werden als einzelne Argumente für die Funktion bereitgestellt. Schokoladen- und Vanilledatensätze wurden zur Sammlung hinzugefügt

Die Sammlung IceCream wurde auch geändert.
ClearCollect( IceCream, Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) ) Wie im vorherigen Beispiel, außer dass die Datensätze in einer Tabelle zusammengefasst und über ein einzelnes Argument übergeben werden. Der Inhalt der Tabelle wird Datensatz für Datensatz extrahiert, bevor er zur Sammlung Eis hinzugefügt wird. Schokoladen- und Vanilledatensätze wurden zur Sammlung hinzugefügt

Die Sammlung IceCream wurde auch geändert.
ClearCollect( IceCream,
{ MyFavorites: Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) } )
Wie im vorherigen Beispiel, außer dass die Tabelle in einen Datensatz eingeschlossen ist. Die Datensätze der Tabelle werden nicht extrahiert und stattdessen wird die gesamte Tabelle als Zelle des Datensatzes hinzugefügt. Schokoladen- und Vanilledatensätze wurden zur Sammlung hinzugefügt

Die Sammlung IceCream wurde auch geändert.