Exercice : utiliser des données relationnelles Dataverse

Effectué

Contoso, comme de nombreuses entreprises, dispose de plusieurs emplacements et permet à ses collaborateurs de travailler à domicile. Parfois, ces collaborateurs doivent venir au bureau et ont besoin d’un bureau à utiliser lors de leur visite. Auparavant, Contoso demandait à ses collaborateurs de faire le tour du bureau à leur arrivée pour trouver un bureau disponible. La société a depuis découvert que ce type de système d’espaces de travail partagés (ou partage de bureau) a créé des défis pour le support informatique et les licences. Par conséquent, Contoso a récemment créé une solution Microsoft Power Platform permettant à ses collaborateurs de voir les bureaux disponibles et d’en réserver un à l’avance.

Dans cet exercice, vous allez améliorer l’application canevas à partir de Power Apps.

Objectifs

Les objectifs de cet exercice sont que vous découvriez comment utiliser les relations suivantes :

  • Un-à-plusieurs et plusieurs-à-un

  • Plusieurs-à-plusieurs

Condition préalable

Pour réaliser cet exercice, vous avez besoin d’un environnement avec Microsoft Dataverse.

Exercice 1 : Importer une solution

Dans cet exercice, vous allez importer une solution initiale dans votre environnement de test, puis charger des exemples de données à l’aide d’un flux de cloud Microsoft Power Automate. Cette solution contient cinq tables, une application canevas, une application pilotée par modèle et un flux de cloud.

Tâche 1 : Importer la solution initiale

Dans cette tâche, vous allez importer une solution dans votre environnement.

  1. Vous devez télécharger le fichier zip pour mener cet exercice à bien. Cliquez sur Télécharger une fois le lien ouvert.

  2. Accédez au portail des créateurs Power Apps, puis sélectionnez l’environnement que vous souhaitez utiliser pour cet exercice.

  3. Cliquez sur Solutions > Importer.

    Capture d’écran du bouton Importer la solution.

  4. Cliquez sur Parcourir.

  5. Sélectionnez la solution ContosoHotDesking_1_0_0_0.zip, puis cliquez sur Ouvrir.

  6. Cliquez sur Suivant.

  7. Recliquez sur Suivant.

  8. Dans la liste déroulante Sélectionner une connexion, cliquez sur + Nouvelle connexion.

    Capture d’écran du bouton Nouvelle connexion dans la liste déroulante Sélectionner une connexion.

  9. Cliquez sur Créer.

  10. Fournissez vos informations d’identification.

  11. Fermez l’onglet ou la fenêtre de navigateur des connexions.

  12. Cliquez sur Actualiser.

  13. Cliquez sur Importer, puis attendez la fin de l’importation de la solution.

Tâche 2 : Charger des exemples de données

Dans cette tâche, vous allez exécuter un flux de cloud permettant de créer des exemples de données.

  1. Cliquez sur Solutions, puis sélectionnez la solution Partage de bureau Contoso que vous avez importée pour l’ouvrir.

  2. Cliquez sur Flux de cloud, puis sélectionnez le flux Charger des exemples de données de partage de bureau pour l’ouvrir.

    Capture d’écran du bouton du flux Charger des exemples de données de partage de bureau.

  3. Cliquez sur Exécuter.

  4. Cliquez sur Exécuter le flux.

  5. Cliquez sur Terminé, puis attendez la fin de l’exécution du flux. Cliquez sur le bouton Actualiser pour afficher le statut de l’exécution du flux. Un statut Réussi devrait s’afficher une fois le flux exécuté.

    Capture d’écran du bouton Actualiser.

Tâche 3 : Exécuter des applications

Dans cette tâche, vous allez exécuter les applications Gestionnaire de partage de bureau et Partage de bureau pour vous familiariser avec elles. Ensuite, vous allez achever la configuration des données.

  1. Accédez au portail des créateurs Power Apps, puis sélectionnez l’environnement que vous utilisez pour cet exercice.

  2. Cliquez sur Applications, puis sélectionnez l’application Gestionnaire de partage de bureau pour la lancer.

    Capture d’écran du lien de l’application Gestionnaire de partage de bureau.

  3. Cliquez sur Bureaux, puis veillez à disposer d’exemples de données.

  4. Cliquez sur Emplacements, puis veillez à disposer d’exemples de données.

  5. Cliquez sur Fonctionnalités de bureau, puis veillez à disposer d’exemples de données.

  6. Cliquez sur Emplacements, sélectionnez trois emplacements, puis cliquez sur Modifier.

    Capture d’écran de trois emplacements sélectionnés dans la liste déroulante Emplacements actifs, avec le bouton Modifier mis en évidence.

  7. Dans le champ Contact principal, sélectionnez votre utilisateur, puis cliquez sur Modifier.

    Capture d’écran du champ Contact principal, avec l’utilisateur sélectionné.

  8. Fermez l’application Gestionnaire de partage de bureau.

  9. Vérifiez qu’Applications est toujours sélectionné, sélectionnez l’application Partage de bureau, puis cliquez sur Modifier. L’application devrait s’ouvrir dans le studio d’application.

    Capture d’écran du bouton Modifier mis en évidence et de l’application Partage de bureau sélectionnée.

  10. Sélectionnez l’écran HomeScreen, puis cliquez sur Lire.

  11. Cliquez sur Nouvelle réservation.

  12. Sélectionnez Bâtiment 1, Bureau fermé et Bureau# 1.

    Capture d’écran du formulaire de réservation Partage de bureau Contoso.

  13. Sélectionnez une date future, puis Réserver pour 9h00.

  14. Recliquez sur Nouvelle réservation.

  15. Sélectionnez Bâtiment 2, Salle des équipes et Bureau# 2.

  16. Sélectionnez une date future, puis Réserver pour 13h00.

  17. Ajoutez quelques réservations supplémentaires avec différentes combinaisons.

  18. Vous devriez désormais disposer d’au moins quatre réservations. Fermez l’aperçu.

    Capture d’écran du bouton Fermer l’aperçu de l’application canevas.

  19. Développez la liste déroulante ReserveDeskScreen et Gallery3, puis sélectionnez Button1.

    Capture d’écran du contrôle Button1 dans la liste déroulante ReserveDeskScreen.

  20. Accédez à la barre de formule, puis examinez la formule pour OnSelect. Lorsque l’utilisateur sélectionne l’option Réserver, une fonction Patch() permet de créer une ligne Réservation. Cette nouvelle ligne a des relations avec le bureau et votre utilisateur. La relation utilisateur est définie à partir d’une variable globale établie dans l’application au démarrage.

    Capture d’écran du bouton OnSelect et de sa formule.

  21. Examinez d’autres formules de l’application pour vous familiariser avec le fonctionnement du processus.

  22. Ensuite, cliquez sur le bouton Précédent.

    Capture d’écran du bouton Précédent permettant de revenir aux applications.

  23. Ne quittez pas cette page.

Exercice 2 : Créer une relation

Dans cet exercice, vous allez créer une relation pour des bureaux favoris. Il s’agit d’une relation plusieurs-à-plusieurs entre les tables User et Desk. Cette relation vous permet d’implémenter une fonctionnalité où un utilisateur peut marquer un bureau comme favori.

Tâche : Créer une relation

Dans cette tâche, vous allez créer une relation pour des bureaux favoris.

  1. Développez Dataverse, puis sélectionnez Tables.

  2. Recherchez et sélectionnez la table Desk.

    Capture d’écran de la table Desk.

  3. Cliquez sur l’onglet Relations et sur + Ajouter une relation, puis sélectionnez Plusieurs-à-plusieurs.

    Capture d’écran de la relation Plusieurs-à-plusieurs sélectionnée.

  4. Sélectionnez Utilisateur pour Table (plusieurs) associée, puis cliquez sur Terminé.

  5. Cliquez sur Enregistrer la table.

  6. Cliquez sur Solutions, puis sur Publier toutes les personnalisations.

  7. Attendez la fin du processus de publication.

Exercice 3 : Ajouter des informations à un écran de réservation

Dans cet exercice, vous allez modifier la galerie de réservations pour afficher les réservations créées par l’utilisateur actif au lieu d’afficher toutes les réservations. Vous allez également afficher plus d’informations sur la liste de réservations.

Tâche : Modifier l’application

Dans cette tâche, vous allez modifier l’application Chef de produit Contoso.

  1. Accédez au portail des créateurs Power Apps, puis sélectionnez l’environnement que vous utilisez pour cet exercice.

  2. Cliquez sur Applications, sélectionnez l’application Partage de bureau, puis cliquez sur Modifier.

    Capture d’écran du bouton Modifier l’application pour l’application Partage de bureau.

  3. Développez HomeScreen, puis sélectionnez Gallery5.

  4. Accédez à la barre de formule, puis définissez la valeur Items sur la formule suivante. Cette formule entraîne le filtrage d’une réservation associée à l’utilisateur actif et utilise la relation un-à-plusieurs entre l’utilisateur et la table Reservation.

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

    Capture d’écran de la formule pour la valeur Items.

  5. Cliquez sur l’icône Modifier la galerie.

    Capture d’écran de l’icône Modifier permettant de modifier la galerie.

  6. Accédez à l’onglet Insérer, puis cliquez sur Libellé.

    Capture d’écran de l’onglet Insérer, avec le bouton Libellé mis en évidence.

  7. Sélectionnez le libellé que vous avez ajouté à la galerie, puis définissez la valeur Text sur la formule suivante. Cette formule utilise la relation un-à-plusieurs entre les tables Reservation et Desk.

    ThisItem.Desk.Name

  8. Redimensionnez et repositionnez le libellé.

    Capture d’écran du contrôle du libellé permettant de le redimensionner et de le repositionner.

  9. Toujours en mode d’édition, cliquez sur Libellé pour en ajouter un autre.

  10. Sélectionnez le libellé que vous avez ajouté, puis définissez la valeur Text sur la formule suivante. Cette formule montre que vous utilisez deux niveaux de profondeur dans les relations, en commençant par la réservation et en utilisant le Bureau pour obtenir l’Emplacement.

    ThisItem.Desk.Location.Phone

  11. Redimensionnez et repositionnez le libellé.

    Capture d’écran de la position du contrôle du libellé.

  12. Toujours en mode d’édition, recliquez sur Libellé.

  13. Sélectionnez le libellé que vous avez ajouté, puis définissez la valeur Text sur la formule suivante.

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

  14. Redimensionnez et repositionnez le libellé.

    La galerie de réservations devrait maintenant ressembler à l’image suivante :

    Capture d’écran de la galerie de réservations.

  15. Cliquez sur Fichier > Enregistrer.

  16. Cliquez sur le bouton Précédent.

  17. Ne quittez pas cette page.

Exercice 4 : Ajouter un bureau favori

Dans cet exercice, vous allez ajouter une icône permettant aux utilisateurs de sélectionner leurs bureaux favoris. Vous allez également ajouter un libellé affichant les fonctionnalités du bureau.

Tâche : Ajouter un favori

Dans cette tâche, vous allez ajouter un bureau favori et ajouter un libellé pour afficher les fonctionnalités du bureau.

  1. Développez FindDeskScreen, puis sélectionnez GalleryDesks.

  2. Cliquez sur l’icône Modifier la galerie.

    Capture d’écran de l’icône permettant de modifier la galerie.

  3. Accédez à l’onglet Insérer, cliquez sur Icônes, puis sélectionnez l’une des icônes. Vous allez définir l’icône spécifique à l’étape suivante à l’aide d’une formule. Par conséquent, pour cette étape, peu importe l’icône que vous choisissez.

  4. Sélectionnez l’icône que vous avez ajoutée, puis définissez la valeur Icon sur la formule suivante. Cette formule entraîne l’affichage de l’icône représentant un pouce vers le haut rempli si l’utilisateur n’a pas indiqué ce bureau comme favori ou de l’icône représentant un pouce vers le haut si l’utilisateur a déjà sélectionné le bureau comme favori.

    If(CountIf(ThisItem.Users, ThisRecord.User = currentUser.User) > 0, Icon.ThumbsUp,Icon.ThumbsUpFilled)

    Notes

    La fonction CountIf rencontre des problèmes de délégation. Si votre application contient de nombreuses lignes, vous devrez peut-être utiliser une autre approche.

  5. Vérifiez que l’icône est toujours sélectionnée. Sélectionnez OnSelect, puis collez la formule suivante. Cette formule entraîne l’association ou la dissociation de ce bureau et de l’utilisateur connecté, selon que l’utilisateur a déjà ajouté le bureau en tant que favori.

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

  6. Repositionnez l’icône dans la galerie, comme illustré dans l’image suivante :

    Capture d’écran de la position de l’icône.

  7. Veillez à toujours être en mode d’édition de galerie. Accédez à l’onglet Insérer, puis cliquez sur Libellé.

  8. Sélectionnez le libellé que vous avez ajouté, puis définissez la valeur Text sur la formule suivante. Cette formule entraîne la concaténation des noms de fonction du bureau et utilise la relation plusieurs-à-plusieurs entre les tables Desk et Desk Features.

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

  9. Redimensionnez et repositionnez le libellé pour mieux l’adapter à l’espace.

  10. Cliquez sur Fichier > Enregistrer.

  11. Cliquez sur le bouton Précédent.

  12. Cliquer sur Lire pour afficher un aperçu de l’application.

  13. La galerie devrait ressembler à l’image suivante. Cliquez sur l’icône représentant un pouce vers le haut de l’un des bureaux.

    Capture d’écran de l’icône de bureau représentant un pouce vers le haut.

  14. L’icône devrait se transformer en pouce vers le haut. Recliquez sur l’icône.

    Capture d’écran de l’icône de bureau représentant un pouce vers le haut modifiée.

  15. L’icône devrait de nouveau représenter un pouce vers le haut rempli. Recliquez sur l’icône.

  16. Fermez l’aperçu.

  17. Ne quittez pas cette page.

Exercice 5 : Filtrer les bureaux

Dans cet exercice, vous allez ajouter un filtre à la galerie de bureaux si l’utilisateur sélectionne une fonctionnalité dans la liste déroulante.

Tâche : Filtrer les fonctionnalités

Dans cette tâche, vous allez ajouter un filtre pour les fonctionnalités.

  1. Cliquez sur GalleryDesks.

  2. Accédez à la barre de formule, puis définissez la valeur Items sur la formule suivante. Cette formule va filtre les bureaux pour afficher uniquement les bureaux ayant la fonctionnalité sélectionnée. N’oubliez pas d’inclure la virgule.

    ,IsBlank(filterFeatures.Selected) || Desk in filterFeatures.Selected.Desks.Desk

    Capture d’écran de la zone de modification de la formule.

  3. Cliquez sur Fichier > Enregistrer.

  4. Cliquez sur le bouton Précédent.

  5. Cliquez sur Lire.

  6. Notez les fonctionnalités de bureau disponibles pour le bâtiment sélectionné.

    Capture d’écran des fonctionnalités de bureau.

  7. Sélectionnez une fonctionnalité dans la liste déroulante. Seuls les bureaux ayant la fonctionnalité sélectionnée devraient s’afficher.

    Capture d’écran des bureaux filtrés.

  8. Sélectionnez différents bâtiments et fonctionnalités pour vous assurer que l’application se comporte comme prévu.

  9. Fermez l’aperçu.

  10. Fermez le concepteur d’application.