De functies Collect, Clear en ClearCollect

Maakt en wist verzamelingen en voegt records toe aan elke gegevensbron.

Collect

Is van toepassing op: Canvas-apps kaarten Dataverse low-code invoegtoepassingen Power Platform CLI Bureaubladstromen

De functie Collect voegt records toe aan een gegevensbron. De volgende items kunnen worden toegevoegd:

  • Een enkele waarde: de waarde wordt geplaatst in het veld Value van een nieuwe record. Alle andere eigenschappen blijven leeg.
  • Een record: elke benoemde eigenschap wordt in de bijbehorende eigenschap van een nieuwe record geplaatst. Alle andere eigenschappen blijven leeg.
  • Een tabel: elke record van de tabel wordt toegevoegd als een afzonderlijke record van de gegevensbron, zoals hierboven beschreven. De tabel wordt niet als een geneste tabel aan een record toegevoegd. Om dit te doen, pakt u de tabel eerst in een record in.

Wanneer gebruikt in combinatie met een verzameling, worden er indien nodig aanvullende kolommen gemaakt. De kolommen voor andere gegevensbronnen worden vastgezet door de gegevensbron en er kunnen geen nieuwe kolommen worden toegevoegd.

Als de gegevensbron nog niet bestaat, wordt er een verzameling gemaakt.

Verzamelingen worden soms gebruikt om globale variabelen te bewaren of een tijdelijke kopie van een gegevensbron te maken. Canvas-apps zijn gebaseerd op formules die automatisch opnieuw worden berekend terwijl de gebruiker de app gebruikt. Verzamelingen hebben dit voordeel niet en het gebruik ervan kan uw app moeilijker te ontwikkelen en te begrijpen maken. Raadpleeg Werken met variabelen voordat u een verzameling op deze manier gebruikt.

U kunt ook de functie Patch gebruiken om records in een gegevensbron te maken.

Collect retourneert de gewijzigde gegevensbron als een tabel. Collect kan alleen worden gebruikt in een gedragsformule.

Clear

Van toepassing op: Canvas-apps

De functie Clear verwijdert alle records van een verzameling. De kolommen van de verzameling blijven behouden.

Clear werkt alleen bij verzamelingen en niet bij andere gegevensbronnen. U kunt hiervoor RemoveIf( DataSource, true ) gebruiken. Wees voorzichtig met deze formule. Hiermee worden alle records uit de opslag van de gegevensbron verwijderd, wat van invloed kan zijn op andere gebruikers.

U kunt de functie Remove gebruiken om specifieke records te verwijderen.

Clear heeft geen retourwaarde. Het kan alleen worden gebruikt in een gedragsformule.

ClearCollect

Van toepassing op: Canvas-apps Modelgestuurde apps

De functie ClearCollect verwijdert alle records uit een verzameling. En voegt vervolgens een andere set records toe aan dezelfde verzameling. ClearCollect combineert de werking van Clear en Collect in één functie.

ClearCollect retourneert de gewijzigde verzameling als een tabel. ClearCollect kan alleen worden gebruikt in een gedragsformule.

Delegering

Als deze functies worden gebruikt met een gegevensbron, kunnen ze niet worden overgedragen. Alleen het eerste deel van de gegevensbron wordt opgehaald en vervolgens wordt de functie toegepast. Het resultaat is mogelijk niet volledig. Tijdens het schrijven ziet u mogelijk een waarschuwing om u te herinneren aan deze beperking en om u erop te wijzen dat u waar mogelijk kunt overschakelen naar alternatieven met overdrachtmogelijkheden. Zie het overdrachtoverzicht voor meer informatie.

Syntaxis

Collect( DataSource, Item, ... )

  • DataSource: vereist. De gegevensbron waaraan u gegevens wilt toevoegen. Als deze nog niet bestaat, wordt er een nieuwe verzameling gemaakt.
  • Item(s): vereist. Een of meer records of tabellen die u wilt toevoegen aan de gegevensbron.

Clear( Collection )

  • Collection: vereist. De verzameling die u wilt wissen.

ClearCollect( Collection, Item, ... )

  • Collection: vereist. De verzameling die u wilt wissen en vervolgens gegevens aan wilt toevoegen.
  • Item(s): vereist. Een of meer records of tabellen die u wilt toevoegen aan de gegevensbron.

Voorbeelden

Records wissen en toevoegen aan een gegevensbron

In deze voorbeelden gaat u records wissen en toevoegen aan een verzameling met de naam IceCream. De gegevensbron begint met deze inhoud:

Voorbeeldgegevensbron.

Formule Beschrijving Resultaat
ClearCollect( IceCream, { Flavor: "Strawberry", Quantity: 300 } ) Hiermee wist u alle gegevens uit de verzameling IceCream en voegt u vervolgens een record toe die een hoeveelheid voor aardbeienijs bevat. Tabel met één record.

De verzameling IceCream is ook gewijzigd.
Collect( IceCream, { Flavor: "Pistachio", Quantity: 40 }, { Flavor: "Orange", Quantity: 200 } ) Hiermee worden twee records toegevoegd aan de verzameling IceCream die hoeveelheden voor pistache- en sinaasappelijs bevatten. Tabel met twee records.

De verzameling IceCream is ook gewijzigd.
Clear( IceCream ) Hiermee verwijdert u alle records uit de verzameling IceCream. Lege tabel.

De verzameling IceCream is ook gewijzigd.

Stapsgewijze voorbeelden van het maken van een verzameling vindt u in Een verzameling maken en bijwerken.

Records en tabellen

Deze voorbeelden onderzoeken hoe record- en tabelargumenten voor Collect en ClearCollect worden behandeld.

Formule Beschrijving Resultaat
ClearCollect( IceCream, { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) Hiermee wist u alle gegevens en voegt u vervolgens twee records aan de verzameling IceCream toe die een hoeveelheid voor chocolade- en vanille-ijs bevat. De toe te voegen records worden geleverd als afzonderlijke argumenten voor de functie. Records Chocolate en Vanilla toegevoegd aan verzameling.

De verzameling IceCream is ook gewijzigd.
ClearCollect( IceCream, Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) ) Hetzelfde als in het vorige voorbeeld, behalve dat de records nu zijn gecombineerd in een tabel en worden doorgegeven via één argument. De inhoud van de tabel wordt record voor record uitgepakt voordat deze aan de verzameling IceCream wordt doorgegeven. Records Chocolade en Vanille toegevoegd aan verzameling en gewijzigd.

De verzameling IceCream is ook gewijzigd.
ClearCollect( IceCream,
{ MyFavorites: Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) } )
Hetzelfde als in het vorige voorbeeld, behalve dat de tabel is verpakt in een record. De records van de tabel worden niet uitgepakt, maar in plaats daarvan wordt de hele tabel toegevoegd als een cel van de record. Records Chocolade en Vanille toegevoegd aan collectie gewijzigd met tabel verpakt in record.

De verzameling IceCream is ook gewijzigd.