Funzioni Collect, Clear e ClearCollect
Creano e cancellano raccolte e aggiungono record a qualsiasi origine dati.
Collect
Si applica a: app Canvas Schede Dataverse plug-in con poco codice Power Platform CLI Desktop flussi
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.
Collect restituisce il origine dati modificato come tabella. Collect può essere utilizzato solo in una formula comportamentale.
Clear
Si applica a: App Canvas
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 ha alcun valore di ritorno. Può essere usata solo in una formula di comportamento.
ClearCollect
Si applica a: App Canvas App basate su modello
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 utilizzato solo in una formula comportamentale.
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
Raccogli( Origine dati, Elemento, ... )
- DataSource – Obbligatorio. L'origine dati a cui si vuole aggiungere dati. Se non esiste già, viene creata una nuova raccolta.
- Elementi - Obbligatori. Uno o più record o tabelle da aggiungere all'origine dati.
Cancella( Raccolta )
- Raccolta – Obbligatorio. La raccolta che si vuole cancellare.
ClearCollect( Raccolta, Oggetto, ... )
- Raccolta – Obbligatorio. La raccolta che si vuole cancellare e a cui aggiungere dati.
- Elementi - Obbligatori. 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:
Formula | Descrizione | Risultato |
---|---|---|
ClearCollect(Gelato, { Gusto: "Fragola", Quantità: 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). | Anche la raccolta IceCream è stata modificata. |
Raccogli(Gelato, { Gusto: "Pistacchio", Quantità: 40 }, { Gusto: "Arancia", Quantità: 200 } ) | Aggiunge due record alla raccolta IceCream che includono una quantità per il gelato (Ice cream) al pistacchio (pistachio) e all'arancia (orange). | Anche la raccolta IceCream è stata modificata. |
Chiaro (gelato) | Rimuove tutti i record dalla raccolta IceCream. | 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, { Gusto: "Cioccolato", Quantità: 100 }, { Gusto: "Vaniglia", Quantità: 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. | Anche la raccolta IceCream è stata modificata. |
ClearCollect( IceCream, Table( { Gusto: "Cioccolato", Quantità: 100 }, { Gusto: "Vaniglia", Quantità: 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. | Anche la raccolta IceCream è stata modificata. |
CancellaRaccogli(Gelato, { 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. | Anche la raccolta IceCream è stata modificata. |