Exercice : mettre en forme des données avec des applications canevas
Dans cet exercice, vous allez mettre en forme des données dans votre application canevas.
Vous devrez télécharger la feuille de calcul pour mener cet exercice à bien. Sélectionnez Télécharger une fois le lien ouvert. Extrayez la feuille de calcul Excel, puis chargez-la dans OneDrive.
Ajouter une source de données
Connectez-vous à Power Apps.
Créez une application canevas Power Apps à partir de zéro et nommez-la « ShapeData ». Sélectionnez le format Tablette.
Vérifiez que vous avez ajouté cette feuille Excel à votre OneDrive.
Dans l’onglet Insérer, sélectionnez Galerie, puis l’option pour une galerie verticale.
Dans le volet des propriétés à droite, cliquez sur le menu déroulant pour la propriété Data source.
Dans la zone de recherche, saisissez OneDrive Entreprise, puis sélectionnez OneDrive Entreprise dans la liste. Vous auriez également pu développer Connecteurs et parcourir tous les connecteurs disponibles jusqu’à ce que vous trouviez le connecteur OneDrive Entreprise.
Cliquez sur + Ajouter une connexion.
En bas de OneDrive Entreprise, cliquez sur Connecter.
Lorsque vous êtes invité à Choisir un fichier Excel, accédez à l’emplacement où vous avez stocké le fichier Excel que vous avez téléchargé à l’étape 3, puis sélectionnez-le.
Cochez la table Items, puis cliquez sur Connecter.
Vous êtes maintenant connecté à votre table Excel dans OneDrive Entreprise et pouvez afficher les données dans le contrôle Gallery.
Mettre en forme les données dans votre galerie
Sélectionnez la galerie que vous avez ajoutée.
Dans le volet des propriétés à droite, cliquez sur le menu déroulant pour la propriété Layout.
Sélectionnez la présentation Image, titre, sous-titre et corps.
Dans le volet des propriétés à droite, cliquez sur le bouton Modifier pour la propriété columns, puis définissez les points suivants :
Body1 : Description
Image2 : Image
Subtitle2 : UnitPrice
Title2 : Nom
Sélectionnez le X vers la droite de Données pour quitter.
Dans la galerie, cliquez sur le prix sur la première ligne.
Dans la barre de formule, assurez-vous que la propriété Text est sélectionnée, puis tapez ce qui suit :
"$" & ThisItem.UnitPrice
Dans la galerie, cliquez sur l’image sur la première ligne.
Dans le volet des propriétés à droite, cliquez sur le menu déroulant pour la propriété Image Position.
Sélectionnez Remplir afin que l’image remplisse l’espace.
Vous avez maintenant configuré et manipulé les données dans votre galerie.
Filtrer les données dans une galerie
Sélectionnez la galerie.
Assurez-vous que la propriété Items est sélectionnée dans la barre de formule.
Modifiez l’expression comme suit :
Filter(Items, Origin = "China")
Notez que la galerie n’affiche plus que deux articles dont l’origine est la Chine.
Tentez de faire la même chose, mais avec l’opérateur And.
Filter(Items, Origin = "China" And UnitsSold > 25)
Notez que la galerie n’affiche plus qu’un seul article correspondant aux deux critères ci-dessus.
Maintenant, nous allons définir la propriété Items sur la source de données Items. Nous reviendrons à cette fonction Filter ultérieurement.
Items
Utilisation de la fonction Search
Dans l’onglet Insérer, sélectionnez Saisie, puis Text Input. Positionnez le contrôle Text Input au-dessus de la galerie.
Dans le volet gauche, sous Arborescence > Écrans > Screen1 >, cliquez sur les trois points à droite, puis sélectionnez Renommer pour donner le nom SearchInput au contrôle Text Input.
Maintenant, cliquez sur la galerie. Assurez-vous que la propriété Items est sélectionnée dans la barre de formule, puis saisissez cette expression :
Search(Items, SearchInput.Text, "Name")
Cette expression se compose des éléments suivants :
Search(Items...) : fonction qui vous permet d’effectuer une requête plus flexible sur une colonne de chaîne.
SearchInput.Text : élément qui permet de récupérer le texte saisi dans le contrôle Text Input SearchInput.
"Name" : représente la colonne où la recherche est effectuée.
Cette expression retourne toutes les lignes où la colonne Name contient la valeur saisie dans le contrôle Text Input SearchInput.
Si vous souhaitez rechercher plusieurs colonnes, vous pouvez ajouter les noms des colonnes à la fin de l’expression.
Search(Items, SearchInput.Text, "Name", "Description")
Combiner des fonctions de mise en forme des données
Comme expliqué dans l’unité 3, vous pouvez combiner des fonctions pour des fonctionnalités plus complexes dans votre application. Nous avons testé les fonctions Filter et Search et il est maintenant temps de les combiner en une seule fonction.
Commencez par la fonction Search que nous avons configurée à l’étape précédente.
Remplacez Items par Filter(Items, Origin = "Chine"), afin que votre expression ressemble à ceci :
Search(Filter(Items, Origin = "China"), SearchInput.Text, "Name", "Description")
Pour la fonction Search, la première option que vous devez renseigner est une table de données. La fonction Filter retourne une table de données. Autrement dit, il est possible d’utiliser la fonction Filter comme source de données pour votre fonction Search. En l’ajoutant comme formule pour la propriété Items de votre contrôle Gallery, vous présentez à vos utilisateurs les données dont ils ont besoin tout en leur permettant d’effectuer des recherches.
Dans Power Apps, vous pouvez appliquer le concept d’utilisation d’une fonction pour fournir des informations à une autre fonction à de nombreux endroits.
Déplacer des données entre des collections et des sources de données
Dans l’onglet Insérer, sélectionnez Bouton, puis positionnez votre bouton sous votre galerie.
Définissez le texte du bouton sur Ajouter à la collection.
Sélectionnez le bouton, puis dans la barre de formule, remplacez False par cette expression :
Collect(ItemsCollection, Items)
ItemsCollection : fait référence au nom de la collection.
Items : fait référence au nom de la source de données.
Collect : copie toutes les lignes de la source de données Items dans la collection ItemsCollection.
Exécutez l’application. Cliquez sur le bouton. Arrêtez l’exécution de l’application.
Dans l’onglet Afficher, sélectionnez Collections, puis ItemsCollection. Vous verrez alors que toutes les lignes de la source de données Items ont été ajoutées à la collection ItemsCollection.
Explorer d’autres fonctions utilisables avec les collections
Dans l’onglet Insérer, sélectionnez Nouvel écran, puis cliquez sur Vide.
Dans l’onglet Insérer, sélectionnez Table de données, puis positionnez ce composant en regard de la galerie.
Dans la barre de formule, assurez-vous que la propriété Items est sélectionnée, puis saisissez ItemsCollection.
Autrement dit, la source de données de la table est la collection ItemsCollection et non la table Items dans la feuille Excel.
Dans le volet des propriétés à droite, cliquez sur le bouton Modifier les colonnes pour la propriété columns.
Cliquez sur + Ajouter une colonne
Sélectionnez toutes les colonnes disponibles, puis cliquez sur Ajouter.
Sélectionnez le X vers la droite de Données pour quitter.
Dans l’onglet Insérer, sélectionnez Bouton, puis positionnez votre bouton sous votre table. Répétez ce processus quatre fois.
Définissez le texte des quatre boutons sur Ajouter une colonne, Supprimer la colonne, Afficher la colonne, Renommer la colonne respectivement.
Cliquez sur le bouton Ajouter une colonne.
Mettez à jour la barre de formule avec cette expression :
Collect(AddCollection, AddColumns(ItemsCollection, "Revenue", UnitPrice * UnitsSold))
Ici, nous avons non seulement créé une collection nommée AddCollection, qui copie toutes les données de la collection ItemsCollection, mais nous utilisons aussi la fonction AddColumns pour ajouter une nouvelle colonne nommée Revenue, qui est calculée comme suit : Prix unitaire * Nombre d’unités vendues.
Cliquez sur le bouton Supprimer la colonne.
Mettez à jour la barre de formule avec cette expression :
Collect(DropCollection, DropColumns(ItemsCollection, "UnitPrice"))
Ici, nous avons créé une collection nommée DropCollection, qui copie toutes les données de la collection ItemsCollection, mais nous utilisons également la fonction DropColumns pour supprimer la colonne Prix unitaire.
Cliquez sur le bouton Renommer la colonne.
Mettez à jour la barre de formule avec cette expression :
Collect(RenameCollection, RenameColumns(ItemsCollection, "Name", "Product"))
Ici, nous avons créé une collection nommée RenameCollection, qui copie toutes les données de la collection ItemsCollection, mais nous utilisons également la fonction RenameColumns pour renommer la colonne Name en Product.
Cliquez sur le bouton Afficher la colonne.
Mettez à jour la barre de formule avec cette expression :
Collect(ShowCollection, ShowColumns(ItemsCollection, "Name"))
Ici, nous avons créé une collection nommée ShowCollection, qui copie toutes les données de la collection ItemsCollection, mais nous utilisons également la fonction ShowColumns pour afficher uniquement la colonne Name.
Exécutez l’application. Cliquez sur les quatre boutons. Arrêtez l’exécution de l’application.
Dans l’onglet Afficher, sélectionnez Collections, puis chacune des collections supplémentaires que vous avez créées pour voir l’effet des fonctions.