Funksjonene Collect, Clear og ClearCollect

Oppretter og tømmer samlinger og legger til poster i valgt datakilde.

Collect

Gjelder: Lerretsapper Kort lavkodebaserte Dataverse-programtillegg Power Platform CLI Skrivebordsflyter

Collect-funksjonen legger til poster i en datakilde. Elementene som skal legges til, kan være:

  • En enkeltverdi: Verdien legges inn i Value-feltet i en ny post. Alle de andre egenskapene forblir blank.
  • En post: Hver navngitt egenskap legges inn i den tilsvarende egenskapen til en ny post. Alle de andre egenskapene forblir tomme.
  • En tabell: Hver post i tabellen legges til som en separat post i datakilden som beskrevet ovenfor. Tabellen legges ikke inn som en nestet tabell i en post. Hvis du vil gjøre dette, må du sette inn tabellen i en post først.

Når funksjonen brukes med en samling, legges ekstra kolonner til etter behov. Kolonnene for andre datakilder er fast for datakilden, og nye kolonner kan ikke legges til.

Hvis datakilden ikke allerede finnes, oppretter funksjonen en samling.

Samlinger brukes noen ganger til å holde globale variabler eller til å lage en midlertidig kopi av en datakilde. Lerretsapper er basert på formler som automatisk beregnes på nytt når brukeren samhandler med en app. Samlinger har ikke denne fordelen, og hvis du bruker samlinger, kan det gjøre appen vanskeligere å opprette og forstå. Les om å jobbe med variabler før du bruker samlinger på denne måten.

Du kan også bruke Patch-funksjonen til å opprette poster i en datakilde.

Collect returnerer den endrede datakilden som en tabell. Collect kan bare brukes i en formel for virkemåte.

Clear

Gjelder: Lerretsapper

Clear-funksjonen sletter alle postene i en samling. Kolonnene i samlingen blir værende.

Legg merke til at Clear bare fungerer på samlinger og ikke på andre datakilder. Du kan bruke RemoveIf( DataSource, true) til dette. Vær forsiktig, ettersom dette vil fjerne alle postene som er lagret for datakilden, og kan påvirke andre brukere.

Du kan bruke Remove-funksjonen til å fjerne poster selektivt.

Clear har ingen returverdi. Funksjonen kan bare brukes i en formel for virkemåte.

ClearCollect

Gjelder: Lerretsapper Modelldrevne apper

ClearCollect-funksjonen sletter alle postene fra en samling. Deretter legges det til et annet sett med oppføringer i den samme samlingen. ClearCollect fungerer som en kombinasjon av Clear og deretter Collect i én enkelt funksjon.

ClearCollect returnerer den endrede samlingen som en tabell. ClearCollect kan bare brukes i en formel for virkemåte.

Delegering

Disse funksjonene kan ikke delegeres når de brukes med en datakilde. Bare den første delen av datakilden hentes, og deretter brukes funksjonen. Resultatet representerer kanskje ikke den fullstendig historikken. Det vises kanskje en advarsel i redigeringsmodus for å minne deg på denne begrensningen, og for å foreslå at du bytter til alternativer som kan delegeres, der det er mulig. Hvis du vil ha mer informasjon, kan du se delegeringsoversikten.

Syntaks

Collect( DataSource, Item, ... )

  • DataSource – obligatorisk. Datakilden som du vil legge til data i. Hvis den ikke allerede finnes, opprettes en ny samling.
  • Item(s) - obligatorisk. Én eller flere poster eller tabeller som skal legges til i datakilden.

Clear( Collection )

  • Collection – obligatorisk. Samlingen som du vil tømme.

ClearCollect( Collection, Item, ...)

  • Collection – obligatorisk. Samlingen som du vil tømme og legge til data i.
  • Item(s) - obligatorisk. Én eller flere poster eller tabeller som skal legges til i datakilden.

Eksempler

Fjerne og legge til poster i en datakilde

I disse eksemplene tømmer du en samling som heter IceCream, og legger til data. Datakilden begynner med dette innholdet:

Eksempeldatakilde.

Formel Beskrivelse Resultat
ClearCollect( IceCream, { Flavor: "Strawberry", Quantity: 300 } ) Fjerner alle dataene fra samlingen IceCream og legger til en post som inneholder et antall jordbæris. Tabell med én oppføring.

Samlingen IceCream har også blitt endret.
Collect( IceCream, { Flavor: "Pistachio", Quantity: 40 }, { Flavor: "Orange", Quantity: 200 } ) Legger til to poster i IceCream-samlingen med et antall iskrem med pistasj- og appelsinsmak. Tabell med to oppføringer.

Samlingen IceCream har også blitt endret.
Clear( IceCream ) Fjerner alle postene fra IceCream-samlingen. Tom tabell.

Samlingen IceCream har også blitt endret.

Hvis du vil ha trinnvise eksempler på hvordan du oppretter en samling, kan du se Opprette og oppdatere en samling.

Poster og tabeller

Disse eksemplene undersøker hvordan oppførings- og tabellargumenter for Collect og ClearCollect håndteres.

Formel Beskrivelse Resultat
ClearCollect( IceCream, { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) Fjerner alle data og legger til to poster i IceCream-samlingen som inneholder et antall sjokalade- og vaniljeis. Oppføringene som skal legges til, leveres som enkeltargumenter i funksjonen. Sjokolade- og vaniljeoppføringer lagt til i samling.

Samlingen IceCream har også blitt endret.
ClearCollect( IceCream, Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) ) Samme som forrige eksempel bortsett fra at oppføringene kombineres i en tabell og sendes via et enkelt argument. Innholdet i tabellen blir pakket ut oppføring etter oppføring før det blir lagt til i IceCream-samlingen. Chocolate- og Vanilla-oppføringer lagt til i samlingen og endret.

Samlingen IceCream har også blitt endret.
ClearCollect( IceCream,
{ MyFavorites: Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) } )
Samme som forrige eksempel bortsett fra at tabellen pakkes inn i en oppføring. Oppføringene i tabellen trekkes ikke ut, og i stedet blir hele tabellen lagt til som en celle i oppføringen. Chocolate- og Vanilla-oppføringer lagt til i samling og endret med tabell pakket inn i en oppføring.

Samlingen IceCream har også blitt endret.