Funzioni Collect, Clear e ClearCollect in Power Apps

Creano e cancellano raccolte e aggiungono record a qualsiasi origine dati.

Descrizione

Collect

La funzione Collect aggiunge record a un'origine dati. Gli elementi da aggiungere possono essere:

  • Un valore singolo: il valore viene inserito nel campo Value di un nuovo record. Tutte le altre proprietà vengono lasciate blank.
  • Un record: ogni proprietà denominata viene inserita nella proprietà corrispondente di un nuovo record. Tutte le altre proprietà vengono lasciate blank.
  • Una tabella: ogni record della tabella viene aggiunto come record separato dell'origine dati, come descritto in precedenza. La tabella non viene aggiunta come tabella annidata in un record. A tale scopo, eseguire prima il wrapping della tabella in un record.

Quando si usa una raccolta, verranno create colonne aggiuntive, se necessario. Le colonne per le altre origini dati sono definite dall'origine dati e non è possibile aggiungere nuove colonne.

Se l'origine dati non esiste già, viene creata una raccolta.

Le raccolte vengono talvolta usate per contenere le variabili globali o creare una copia temporanea di un'origine dati. Le app canvas sono basate su formule che eseguono calcoli automatici durante l'interazione con un'app. Le raccolte non offrono questo vantaggio e la loro applicazione può rendere la creazione e l'uso dell'app più complessi. Prima di usare una raccolta in questo modo, vedere Utilizzo delle variabili.

È anche possibile usare la funzione Patch per creare record in un'origine dati.

La funzione Collect restituisce l'origine dati modificata come tabella. Collect può essere usata solo in una formula comportamento.

Clear

La funzione Clear elimina tutti i record di una raccolta. Le colonne della raccolta verranno mantenuti.

Si noti che Clear opera solo su raccolte e non su altre origini dati. A questo scopo, è possibile usare RemoveIf( DataSource, true ). Prestare attenzione in quanto questa operazione rimuove tutti i record dall'archivio dell'origine dati e può influire sulle operazioni di altri utenti.

È possibile usare la funzione Remove per rimuovere i record in modo selettivo.

Clear non restituisce alcun valore. Può essere usata solo in una formula di comportamento.

ClearCollect

La funzione ClearCollect elimina tutti i record in una raccolta. Quindi aggiunge un diverso set di record alla stessa raccolta. Con una singola funzione, ClearCollect offre la combinazione di Clear e Collect.

ClearCollect restituisce la raccolta modificata come tabella. ClearCollect può essere usata solo in una formula di comportamento.

Delega

Quando viene utilizzata con un'origine dati, queste funzioni non possono essere delegate. Solo la prima parte dell'origine dati verrà recuperata e la funzione applicata. Il risultato potrebbe non rappresentare la storia completa. Un avviso potrebbe apparire al momento della creazione per ricordarti questo limite e per suggerire di passare ad alternative delegabili quando possibile. Per ulteriori informazioni, consultare panoramica delega.

Sintassi

Collect( DataSource, Item, ... )

  • OrigineDati: obbligatorio. L'origine dati a cui si vuole aggiungere dati. Se non esiste già, viene creata una nuova raccolta.
  • Item(s): obbligatorio. Uno o più record o tabelle da aggiungere all'origine dati.

Clear( Collection )

  • Collection: obbligatorio. La raccolta che si vuole cancellare.

ClearCollect( Collection, Item, ... )

  • Collection: obbligatorio. La raccolta che si vuole cancellare e a cui aggiungere dati.
  • Item(s): obbligatorio. Uno o più record o tabelle da aggiungere all'origine dati.

Esempi

Cancellazione e aggiunta di record a un'origine dati

In questi esempi, verrà eseguita la cancellazione e l'aggiunta di record a una raccolta denominata IceCream. L'origine dati di partenza ha il contenuto seguente:

Origine dati di esempio

Formula Descrizione Risultato
ClearCollect( IceCream, { Flavor: "Strawberry", Quantity: 300 } ) Cancella tutti i dati della raccolta IceCream e quindi aggiunge un record che include una quantità per il gelato (Ice cream) alla fragola (Strawberry). Tabella con un record

Anche la raccolta IceCream è stata modificata.
Collect( IceCream, { Flavor: "Pistachio", Quantity: 40 }, { Flavor: "Orange", Quantity: 200 } ) Aggiunge due record alla raccolta IceCream che includono una quantità per il gelato (Ice cream) al pistacchio (pistachio) e all'arancia (orange). Tabekka con due record

Anche la raccolta IceCream è stata modificata.
Clear( IceCream ) Rimuove tutti i record dalla raccolta IceCream. Tabella vuota

Anche la raccolta IceCream è stata modificata.

Per esempi dettagliati su come creare una raccolta, vedere Creare e aggiornare una raccolta.

Record e tabelle

Questi esempi esaminano il modo in cui record e argomenti della tabella Collect e ClearCollect sono gestiti.

Formula Descrizione Risultato
ClearCollect( IceCream, { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) Cancella tutti i dati e quindi aggiunge due record alla raccolta IceCream che include una quantità per il gelato (Ice cream) al cioccolato (chocolate) e alla vaniglia (vanilla). I record da aggiungere sono forniti come singoli argomenti alla funzione. I record di cioccolato e vaniglia aggiunti alla raccolta

Anche la raccolta IceCream è stata modificata.
ClearCollect( IceCream, Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) ) Come nell'esempio precedente, tranne per il fatto che i record vengono combinati in una tabella e passati attraverso un singolo argomento. Il contenuto della tabella viene estratto record per record prima di essere aggiunto alla raccolta IceCream. I record di cioccolato e vaniglia aggiunti alla raccolta

Anche la raccolta IceCream è stata modificata.
ClearCollect( IceCream,
{ MyFavorites: Table( { Flavor: "Chocolate", Quantity: 100 }, { Flavor: "Vanilla", Quantity: 200 } ) } )
Come nell'esempio precedente, tranne per il fatto che la tabella è racchiusa in un record. I record della tabella non vengono estratti e l'intera tabella viene aggiunta come cella del record. I record di cioccolato e vaniglia aggiunti alla raccolta

Anche la raccolta IceCream è stata modificata.