Esercizio: Uso dei dati relazionali di Dataverse

Completato

Contoso, come molte società, dispone di più sedi e permette ai dipendenti di lavorare da casa. Occasionalmente, i dipendenti devono andare in ufficio e, di conseguenza, hanno bisogno di una scrivania. In precedenza Contoso chiedeva ai propri dipendenti di cercarsi una scrivania disponibile al loro arrivo in sede. La società ha però scoperto che questo tipo di sistema di spazio di lavoro condiviso, o hot desking, ha creato dei problemi per il supporto IT e le licenze. Di conseguenza, Contoso ha recentemente creato una soluzione Microsoft Power Platform che permette ai dipendenti di visualizzare le scrivanie disponibili e di prenotarne una in anticipo.

In questo esercizio si migliorerà l'app canvas da Power Apps.

Obiettivi

Questo esercizio ha lo scopo di illustrare come usare le seguenti relazioni:

  • Uno-a-molti e molti-a-uno

  • Molti-a-molti

Prerequisito

Per completare questo esercizio, sarà necessario un ambiente con Microsoft Dataverse.

Esercizio 1 - Importazione di una soluzione

In questo esercizio si importerà una soluzione iniziale nell'ambiente di test in uso, quindi si caricheranno dati di esempio usando un flusso cloud di Microsoft Power Automate. Questa soluzione contiene cinque tabelle, un'applicazione canvas, un'applicazione basata su modello e un flusso cloud.

Attività 1: importazione della soluzione iniziale

In questa attività si importerà una soluzione nell'ambiente in uso.

  1. Per completare l'esercizio, è necessario scaricare il file ZIP. Una volta aperta la pagina a cui si riferisce il collegamento, selezionare Download.

  2. Accedere a Power Apps Maker Portal, quindi selezionare l'ambiente che si desidera usare per questo lab.

  3. Selezionare Soluzioni > Importa soluzione.

  4. Selezionare Sfoglia.

  5. Selezionare la soluzione ContosoHotDesking_1_0_0_0.zip, quindi selezionare Apri.

  6. Selezionare Avanti.

  7. Selezionare di nuovo Avanti.

  8. Nell'elenco a discesa Seleziona una connessione, se le credenziali sono già state fornite, selezionare Importa e passare all'Attività 2. In caso contrario, selezionare + Nuova connessione.

  9. Selezionare Crea.

  10. Specificare le credenziali.

  11. Chiudere la finestra o la scheda del browser delle connessioni.

  12. Selezionare Aggiorna.

  13. Selezionare Importa e attendere il completamento dell'importazione della soluzione.

Attività 2: caricamento di dati di esempio

In questa attività si eseguirà un flusso cloud che creerà dati di esempio.

  1. Selezionare Soluzioni, quindi scegliere e aprire la soluzione Hot desking Contoso importata.

  2. Selezionare Flussi cloud, quindi scegliere e aprire il flusso Load Sample Hot Desk Data.

  3. Una volta aperto il flusso, selezionare Esegui dalla barra dei comandi.

  4. Selezionare Esegui flusso dalla parte inferiore della finestra di dialogo.

  5. Selezionare Fatto, quindi attendere il completamento dell'esecuzione del flusso. Selezionare il pulsante Aggiorna per visualizzare lo stato di esecuzione del flusso. Al termine dell'esecuzione del flusso dovrebbe essere visualizzato lo stato Riuscito.

Attività 3: esecuzione di app

In questa attività si eseguiranno le applicazioni Hot Desking Manager e Hot Desking per acquisire familiarità con esse. Quindi, si completerà l'impostazione dei dati.

  1. Tornare alla soluzione oppure andare a Power Apps Maker Portal e selezionare l'ambiente e la soluzione in uso per questo lab.

  2. Selezionare App, quindi scegliere e avviare l'applicazione Hot Desking Manager.

  3. Selezionare Vista scrivanie e accertarsi di disporre di dati di esempio.

  4. Selezionare Vista ubicazioni e accertarsi di disporre di dati di esempio.

  5. Selezionare Vista caratteristiche scrivania e accertarsi di disporre di dati di esempio.

  6. Selezionare Ubicazioni, scegliere tre ubicazioni, quindi selezionare Modifica.

  7. Selezionare un utente nel campo Primary Contact, quindi scegliere Salva.

  8. Chiudere l'applicazione Hot Desking Manager selezionando Indietro.

  9. Assicurarsi che l'opzione App sia ancora selezionata, scegliere l'applicazione Hot Desking, quindi selezionare Modifica. L'applicazione dovrebbe aprirsi in make.powerapps.com.

  10. Selezionare HomeScreen, quindi Riproduci.

  11. Selezionare il pulsante Nuova prenotazione.

  12. Selezionare Edificio 1, Ufficio chiuso e Scrivania n. 1.

  13. Selezionare una data futura, quindi selezionare Prenota per 9:00.

  14. Selezionare di nuovo Nuova prenotazione.

  15. Selezionare Edificio 2, Stanza team e Scrivania n. 2.

  16. Selezionare una data futura, quindi selezionare Prenota per 13:00.

  17. Aggiungere altre prenotazioni con combinazioni diverse.

  18. Ora dovrebbero essere disponibili almeno quattro prenotazioni. Chiudere l'anteprima selezionando il simbolo X in alto a destra.

  19. Espandere l'elenco a discesa ReserveDeskScreen, espandere Gallery3, quindi selezionare Button1.

  20. Andare alla barra della formula ed esaminare la formula per OnSelect. Quando l'utente seleziona l'opzione Prenota, viene usata una funzione Patch() per creare una nuova riga Prenotazione. Questa nuova riga ha relazioni con la scrivania e l'utente. La relazione dell'utente viene impostata da una variabile globale stabilita nell'app all'avvio.

  21. Esaminare le altre formule nell'applicazione per acquisire familiarità con il funzionamento del processo.

  22. Selezionare il pulsante Indietro dopo aver finito di esaminare le formule.

  23. Non uscire da questa pagina.

Esercizio 2: creazione di una relazione

In questo esercizio si creerà una relazione per le scrivanie preferite. Questa relazione sarà una relazione molti-a-molti tra le tabelle User e Desk. Questa relazione consentirà di implementare una funzionalità in cui un utente può contrassegnare una scrivania come preferita.

Attività: creazione di una relazione

In questa attività si creerà una relazione per le scrivanie preferite.

  1. Selezionare Tabelle.

  2. Selezionare la tabella Desk.

  3. Selezionare l'opzione Relazioni nel riquadro Schema. Selezionare + Nuova relazione, quindi selezionare Molti-a-molti.

  4. Trovare/selezionare User per Tabella (molte) correlata, quindi selezionare Fatto.

  5. Selezionare la freccia Indietro in alto a sinistra.

  6. Tornare alla soluzione selezionando Oggetti o Panoramica dal menu a sinistra, quindi selezionare Pubblica tutte le personalizzazioni dalla barra dei comandi.

  7. Attendere il completamento del processo di pubblicazione.

Esercizio 3: aggiunta di informazioni a un display di prenotazione

In questo esercizio, si modificherà la raccolta delle prenotazioni per mostrare le prenotazioni che sono state create dall'utente corrente anziché tutte le prenotazioni. Si mostreranno anche maggiori informazioni sull'elenco delle prenotazioni.

Attività: modifica dell'applicazione

In questa attività si modificherà l'applicazione Gestione prodotti Contoso.

  1. Andare a Power Apps Maker Portal e tornare all'ambiente e alla soluzione in uso per questo lab.

  2. Selezionare App, selezionare l'applicazione Hot Desking, quindi aprirla in modalità di modifica.

  3. Espandere HomeScreen e selezionare Gallery5.

  4. Andare alla barra della formula e modificare la formula Elementi nella formula seguente. Questa formula filtrerà una prenotazione associata all'utente corrente e userà la relazione uno-a-molti tra l'utente e la tabella delle prenotazioni.

    LookUp(Users,'Primary Email'=currentUserEmail).'Reservations (contoso_Reservation_ReservedFor_SystemUser)'

  5. Selezionare l'icona Modifica della raccolta.

  6. Andare all'elenco a discesa Inserisci e selezionare Etichetta di testo.

  7. Impostare quindi il valore Text sulla formula seguente. Questa formula usa la relazione uno-a-molti tra le tabelle Reservation e Desk.

    ThisItem.Desk.Name

  8. Ridimensionare e riposizionare l'etichetta.

  9. Mentre si è ancora in modalità di modifica, selezionare e aggiungere un'altra Etichetta.

  10. Selezionare l'etichetta aggiunta e impostare il valore Text sulla seguente formula. La seguente formula mostra che si stanno usando due livelli nelle relazioni, a partire dalla prenotazione, e che si sta usando Desk per ottenere Location.

    ThisItem.Desk.Location.Phone

  11. Ridimensionare e riposizionare l'etichetta.

  12. Mentre si è ancora in modalità di modifica, selezionare Etichetta un'altra volta.

  13. Selezionare l'etichetta aggiunta e impostare il valore Text sulla seguente formula.

    If(IsBlank(ThisItem.Desk.Location.'Primary Contact'),"No Primary Contact",ThisItem.Desk.Location.'Primary Contact'.'Full Name')

  14. Ridimensionare e riposizionare l'etichetta.

    La raccolta delle prenotazioni dovrebbe essere simile a quella illustrata nell'immagine seguente.

  15. Selezionare Salva.

  16. Restare nella schermata di modifica dell'app per il prossimo esercizio.

Esercizio 4: aggiunta di una scrivania preferita

In questo esercizio si aggiungerà un'icona che permette agli utenti di selezionare le scrivanie preferite. Si aggiungerà anche un'etichetta che mostra le caratteristiche delle scrivanie.

Attività: aggiunta di una scrivania preferita

In questa attività si aggiungerà una scrivania preferita e un'etichetta per mostrare le caratteristiche della scrivania.

  1. Espandere FindDeskScreen, quindi selezionare GalleryDesks.

  2. Selezionare l'icona Modifica della raccolta.

  3. Andare alla scheda Inserisci, selezionare Icone, quindi selezionare una delle icone. Si imposterà l'icona specifica al passaggio successivo mediante una formula. Pertanto, per questo passaggio, non importa quale icona si sceglie.

  4. Selezionare l'icona aggiunta e impostare il valore Icona sulla seguente formula. Questa formula mostra l'icona pollice su piena se l'utente non ha indicato questa scrivania come preferita oppure l'icona pollice su se l'utente ha già selezionato la scrivania come preferita.

    `If(CountIf(ThisItem.Users, ThisRecord.User = currentUser.User) > 0, Icon.ThumbsUp,Icon.ThumbsUpFilled)`
    
    > [!NOTE]
    > The CountIf encounters a [delegation](/power-apps/maker/canvas-apps/delegation-overview/?azure-portal=true) issue. If you have a large number of rows in your app, you might have to use an alternate approach.
    
  5. Assicurarsi che l'icona sia ancora selezionata. Selezionare OnSelect e incollare la formula seguente. Questa formula metterà in correlazione (o annullerà la correlazione) questa scrivania e l'utente che ha effettuato l'accesso, a seconda del fatto che l'utente abbia già aggiunto la scrivania come preferita.

    If(CountIf(ThisItem.Users, ThisRecord.User = currentUser.User) > 0, Unrelate(ThisItem.Users, currentUser), Relate(ThisItem.Users, currentUser))

  6. Riposizionare l'icona nella raccolta, come mostrato nell'immagine seguente.

  7. Assicurarsi di essere ancora nella modalità di modifica della raccolta. Andare alla scheda Inserisci e selezionare Etichetta di testo.

  8. Selezionare l'etichetta aggiunta e impostare il valore Text sulla seguente formula. Questa formula concatenerà i nomi delle caratteristiche della scrivania e userà la relazione molti-a-molti tra le tabelle Desk e Desk Features.

    Concat(ThisItem.'Desk Features', Name, " , " )

  9. Ridimensionare e riposizionare l'etichetta per adattarla meglio allo spazio.

  10. Scegliere Salva per salvare l'app.

  11. Selezionare Esegui per visualizzare in anteprima l'app.

  12. La raccolta sarà simile all'immagine seguente. Selezionare l'icona pollice su di una delle scrivanie.

  13. L'icona dovrebbe cambiare in pollice su. Selezionare di nuovo l'icona.

  14. L'icona dovrebbe tornare a mostrare il pollice su pieno. Selezionare di nuovo l'icona.

  15. Chiudere l'anteprima.

  16. Non uscire da questa pagina.

Esercizio 5: filtro delle scrivanie

In questo esercizio si aggiungerà un filtro alla raccolta delle scrivanie se l'utente seleziona una caratteristica dall'elenco a discesa.

Attività: filtro delle caratteristiche

In questa attività si aggiungerà un filtro per le caratteristiche.

  1. Selezionare GalleryDesks.

  2. Andare alla barra della formula e modificare la formula per Items. Questa formula filtra le scrivanie per mostrare solo quelle che presentano la caratteristica selezionata.

    Filter(Desks,Location.Location = FilterLocation.Selected.Location,IsBlank(filterFeatures.Selected) || Desk in filterFeatures.Selected.Desks.Desk)

  3. Salvare le modifiche (se necessario).

  4. Selezionare Riproduci per visualizzare in anteprima l'app.

  5. Prendere nota delle caratteristiche della scrivania disponibili per l'edificio selezionato.

  6. Selezionare una caratteristica nell'elenco a discesa. Dovrebbero essere visualizzate solo le scrivanie che presentano la caratteristica selezionata.

  7. Selezionare diversi edifici e caratteristiche per assicurarsi che l'applicazione si comporti come previsto.

  8. Chiudere l'anteprima.

  9. Chiudere la finestra di progettazione app.