Modifica delle colonne dall'origine dati

Completato

Quando si lavora con righe di dati in Power Apps, vi sono funzioni come Filter e Search che aiutano a perfezionare le righe stesse. Esistono tuttavia scenari in cui è necessario manipolare le colonne all'interno di tali righe senza alterare l'origine dati originale.

Si immagini di creare un'app Shopping Cart dove si desidera tenere traccia di determinati articoli. In questi casi, avere una colonna temporanea esclusivamente all'interno di Power Apps, senza interessare l'origine dati originale, diventa cruciale.

Power Apps include un set di funzioni su misura per questo scopo. Queste funzioni consentono di modificare le colonne all'interno dell'ambiente dell'app, influenzando il modo in cui i dati vengono gestiti o presentati senza però modificare l'origine dati sottostante. Le modifiche che si apportano, ad esempio il rilevamento di determinati articoli nello scenario di un carrello degli acquisti, sono quindi limitate all'interno dell'app e non influiscono sull'origine dati effettiva. Queste funzioni sono:

  • AddColumns

  • DropColumns

  • RenameColumns

  • ShowColumns

AddColumns

La funzione AddColumns aggiunge una colonna a una tabella e una formula definisce i valori in tale colonna. Le colonne esistenti rimangano invariate.

Per l'esempio precedente di un'app Shopping Cart, sarà necessario usare la funzione AddColumns per aggiungere una colonna per il rilevamento se l'utente ha selezionato la colonna. A tale scopo, impostare la formula seguente per la proprietà OnSelect di un controllo Pulsante.

ClearCollect(collectDigitalAssets, AddColumns(YourDataSource,"UserSelected", false))

Quando questo pulsante è selezionato, la formula crea una raccolta denominata collectDigitalAssets che contiene tutte le righe di YourDataSource e aggiunge la colonna "UserSelected". Il valore della colonna è false per tutte le righe.

A questo punto nel controllo Raccolta impostare la proprietà items sul valore seguente.

collectDigitalAssets

Nel controllo Raccolta si dovrebbe avere accesso a una colonna denominata UserSelected e il valore dovrebbe essere false. È quindi possibile aggiungere un pulsante nella raccolta in modo che la proprietà OnSelect possa impostare la colonna su true.

Patch(collectDigitalAssets, ThisItem, {UserSelected: true})

A questo punto nella raccolta collectDigitalAssets si rilevano le righe che l'utente ha selezionato nell'app senza modificare le colonne nell'origine dati.

DropColumns

La funzione DropColumns funziona all'opposto di AddColumns. La funzione viene usata per rimuovere le colonne dalla tabella all'interno di Power Apps. Questa funzione viene usata per creare una raccolta all'interno di Power Apps che contiene diverse colonne per il funzionamento dell'app. Poiché queste colonne vengono aggiunte solo nella raccolta per il funzionamento dell'app e non vengono inviate all'origine dati, la funzione DropColumns serve a rimuovere la colonna al momento dell'invio all'origine dati.

Ad esempio, creare una raccolta denominata collectTimeTracking da usare in un'applicazione di rilevamento del tempo. La raccolta ha cinque colonne: Name, HoursWorked, DateWorked, LastScreen e Status. Le colonne Name, HoursWorked e DateWorked tengono traccia dei dati da salvare in YourDataSource in base alle ore di lavoro di un dipendente. Le colonne LastScreen e Status archiviano i dati per il funzionamento dell'app durante il suo utilizzo da parte dell'utente.

Quando l'utente ha terminato, un modo per salvare di nuovo le informazioni in un'origine dati è quello di usare la funzione Collect. Se le colonne corrispondono tra l'origine dati, la funzione Collect scrive tutte le righe nella raccolta. In questo esempio Name, HoursWorked e DateWorked sono le uniche colonne nell'origine dati. LastScreen e Status non esistono nell'origine dati e non è necessario salvarle. È possibile usare DropColumns per inviare solo le colonne appropriate all'origine dati.

Collect(YourDataSource, DropColumns(collectTimeTracking, "LastScreen","Status"))

Questa funzione scriverà il contenuto della raccolta collectTimeTracking nell'origine dati YourDataSource dopo l'eliminazione delle colonne LastScreen e Status. Si noti che DropColumns non ha modificato la raccolta collectTimeTracking. Le colonne LastScreen e Status sono ancora disponibili all'interno della raccolta.

RenameColumns

Usare la funzione RenameColumns quando è necessario modificare il nome della colonna all'interno dell'app, ma non all'interno dell'origine dati. Un uso comune è quando l'origine dati, che non è possibile modificare, ha difficoltà a fare riferimento al nome della colonna o il nome della colonna usa parole riservate, come ad esempio "Date".

È possibile usare la funzione quando si archiviano i dati in una raccolta. La funzione Collect può prendere il contenuto dell'origine dati e archiviarlo in una raccolta.

Collect(collectProjectData, ProjectDataSource)

Questa formula crea una raccolta denominata collectProjectData che archivia tutte le righe di dati dell'origine dati ProjectDataSource. Se l'origine dati contiene una colonna denominata Date, potrebbe risultare più semplice lavorare in Power Apps rinominando tale colonna ProjectDate. A questo scopo usare la formula seguente anziché l'esempio precedente.

Collect(collectProjectData, RenameColumns(ProjectDataSource, "Date","ProjectDate"))

Si hanno le stesse righe. Anziché essere denominata Date, la colonna è ora denominata ProjectDate all'interno della raccolta. In questo modo è possibile assegnare alle colonne un nome che crea meno confusione quando si lavora nell'app.

ShowColumns

ShowColumns viene usata per visualizzare una o più colonne dell'origine dati. Usare questa funzione con i controlli in cui si vuole che venga restituita solo una singola colonna. Un esempio comune è il controllo Elenco a discesa.

Con il controllo Elenco a discesa è comune usare un'origine dati, come ad esempio una tabella Microsoft Dataverse, per specificare le opzioni. Quando si imposta la proprietà items su un'origine dati, Power Apps sceglie quale colonna, se sono presenti più colonne, visualizzare. È possibile usare la funzione ShowColumns per selezionare la colonna da visualizzare.

Per usare un'origine dati denominata Customers per visualizzare i nomi dei clienti dalla colonna CustomerName, è possibile usare la formula seguente nella proprietà Items del controllo Elenco a discesa.

ShowColumns(Customers, "CustomerName")

Con questa formula, il controllo Elenco a discesa visualizza i valori dalla colonna CustomerName.

ShowColumns può anche restituire più di una colonna. Il controllo Elenco a discesa visualizza solo la prima colonna, ma si ha accesso a tutte le colonne recuperate. L'esempio seguente mostra come aggiungere la colonna ID al controllo Elenco a discesa.

ShowColumns(Customers, "CustomerName", "ID")

L'elenco a discesa visualizza solo il valore dalla colonna CustomerName nel controllo Elenco a discesa, ma, con questa formula, è ora possibile accedere al valore della colonna ID. Aggiungere un controllo Etichetta alla schermata e impostare Text sul valore seguente. Se l'elenco a discesa non è denominato Dropdown1, modificare la formula di conseguenza.

Dropdown1.Selected.ID

La formula restituisce il valore della colonna ID per la riga selezionata nel controllo Elenco a discesa.