Collections
Nelle unità precedenti si è appreso come le variabili globali e di contesto archiviano valori singoli. Il terzo tipo di variabile, raccolte, consente di archiviare una tabella di dati in memoria.
Le raccolte sono utili quando è necessario archiviare temporaneamente i dati strutturati per il riutilizzo all'interno dell'app. Questi dati possono provenire da un'origine dati, essere creati all'interno dell'app o essere una combinazione di entrambi.
Uso delle raccolte per migliorare le prestazioni
Un motivo comune per usare le raccolte consiste nel ridurre le chiamate ripetute alla stessa origine dati. Ad esempio, se l'app deve fare riferimento a un elenco di progetti attivi più volte, è possibile recuperare i dati una sola volta e archiviarla in una raccolta. Per archiviare una copia della tabella Projects in una raccolta denominata collectProjects, utilizzare la formula seguente:
Collect(collectProjects, Projects)
Verrà creata una raccolta denominata collectProjects con le stesse righe e colonne della tabella Projects dall'origine dati. Di seguito sono riportate alcune considerazioni che è necessario comprendere sull'uso delle raccolte:
La funzione Collect non è delegabile. Ciò significa che per impostazione predefinita solo i primi 500 record dell'origine dati verranno recuperati e archiviati nella raccolta. Per ulteriori informazioni sull'uso della delega, consultare Gestire i limiti di origine dati (limiti di delega) in un'app canvas di Power Apps
Le raccolte non sono collegate all'origine dati dopo averle create. Ciò significa che le modifiche ai dati nella raccolta non vengono salvate automaticamente nell'origine dati. Sono incluse le modifiche apportate ai dati. Se si vuole aggiornare l'origine dati in base alle modifiche apportate alla raccolta, è necessario compilare formule per eseguire questa operazione, ad esempio la raccolta dall'origine dati.
Le raccolte sono temporanee. Quando si chiude l'app, la raccolta e tutto il relativo contenuto vengono rimossi. Se è necessario archiviare i dati di raccolta, è necessario scriverli in un'origine dati prima di chiudere l'app.
Uso di raccolte dinamiche
Le raccolte non devono provenire da un'origine dati. È anche possibile creare raccolte direttamente all'interno dell'app. Questa operazione viene comunemente eseguita per popolare controlli a discesa, caselle combinate o per preparare i dati prima di scriverli in una origine dati.
La formula seguente crea una raccolta denominata collectColors:
Collect(collectColors, {Name: "Shane", FavoriteColor: "Orange"},
{Name: "Mary", FavoriteColor: "Blue"}, {Name: "Oscar", FavoriteColor:
"Yellow"})
| Nome | ColorePreferito |
|---|---|
| Shane | Arancione |
| Maria | Blu |
| Oscar | Yellow |
Dopo aver creato una raccolta, è possibile riutilizzarla in tutta l'app e applicare funzioni di tabella standard, ad esempio Filter, Sort e CountRows.
Una limitazione importante è che le raccolte non possono essere usate direttamente con il controllo Modulo, anche se archiviano dati tabulari.
Per ulteriori informazioni sul lavoro con le raccolte e i dati di tabella che esse memorizzano, vedere Creare una formula di base che utilizza tabelle e record in un'app canvas di Power Apps.
Inoltre, le raccolte archiviano i dati della tabella in modo non diverso rispetto alle origini dati tabulari. Il percorso di apprendimento Usare i dati in un'app canvas di Power Apps include molti concetti che consentono di usare ed estendere la potenza delle raccolte.
Nell'unità finale di questo modulo verranno illustrati alcuni concetti aggiuntivi relativi alle variabili e come applicarli alle app.