Utiliser des expressions dans des conditions pour vérifier plusieurs valeurs
Dans ce didacticiel, vous allez apprendre à utiliser des expressions et des conditions pour comparer plusieurs valeurs en mode Avancé.
Lorsque vous créez un flux de cloud, vous pouvez utiliser la carte Condition en mode de base pour comparer rapidement une valeur avec une autre. Vous devrez peut-être parfois comparer plusieurs valeurs. Par exemple, vous pouvez souhaiter vérifier la valeur de quelques colonnes d’une feuille de calcul ou une table de base de données.
Vous pouvez utiliser n’importe quelle combinaison parmi les expressions logiques suivantes dans vos conditions.
Expression | Description | Exemple |
---|---|---|
and | Accepte deux arguments et retourne la valeur true si les deux valeurs sont true. Remarque : les deux arguments doivent être des valeurs booléennes. |
Cette expression retourne la valeur Faux : and(greater(1,10),equals(0,0)) |
or | Accepte deux arguments et retourne la valeur true si un des arguments a la valeur true. Remarque : les deux arguments doivent être des valeurs booléennes. |
Cette expression retourne la valeur true :or(greater(1,10),equals(0,0)) |
equals | Retourne true si les deux valeurs sont égales. | Par exemple, si parameter1 est someValue, cette expression retourne true :equals(parameters('parameter1'), 'someValue') |
less | Accepte deux arguments et retourne la valeur true si le premier argument est inférieur au deuxième argument. Remarque : les types pris en charge sont entier, flottant et chaîne. |
Cette expression retourne la valeur true :less(10,100) |
lessOrEquals | Accepte deux arguments et retourne la valeur true si le premier argument est inférieur ou égal au deuxième argument. Remarque : les types pris en charge sont entier, flottant et chaîne. |
Cette expression retourne la valeur true :lessOrEquals(10,10) |
greater | Accepte deux arguments et retourne la valeur true si le premier argument est supérieur au deuxième argument. Remarque : les types pris en charge sont entier, flottant et chaîne. |
Cette expression retourne la valeur false :greater(10,10) |
greaterOrEquals | Accepte deux arguments et retourne la valeur true si le premier argument est supérieur ou égal au deuxième argument. Remarque : les types pris en charge sont entier, flottant et chaîne. |
Cette expression retourne la valeur false :greaterOrEquals(10,100) |
empty | Retourne la valeur true si l’objet, le tableau ou la chaîne est vide. | Cette expression retourne la valeur true :empty('') |
not | Retourne la valeur booléenne opposée. | Cette expression retourne la valeur true :not(contains('200 Success','Fail')) |
if | Retourne une valeur spécifique si l’expression retourne la valeur true ou false. | Cette expression retourne la valeur « yes » :if(equals(1, 1), 'yes', 'no') |
Conditions préalables
Voici ce dont vous aurez besoin pour suivre ce guide pas à pas.
- Accéder à Power Automate.
- Votre propre feuille de calcul avec les tableaux décrits plus loin dans cette procédure pas à pas. Veillez à enregistrer votre feuille de calcul dans un emplacement tel que Dropbox ou Microsoft OneDrive afin que Power Automate puisse y accéder.
- Microsoft 365 Outlook ou un autre service de messagerie pris en charge dans vos flux.
Utiliser l’expression « or »
Parfois, votre flux de travail doit entreprendre une action si la valeur d’un élément est valueA ou valueB. Par exemple, vous pouvez suivre le statut des tâches dans un tableau de feuille de calcul. Supposons que le tableau possède une colonne nommée Statut et que les valeurs possibles dans cette colonne sont les suivantes :
- terminé
- bloqué
- inutile
- non démarré
Voici un exemple de la façon dont la feuille de calcul peut se présenter :
Étant donné la feuille de calcul précédente, vous souhaitez utiliser Power Automate pour supprimer toutes les lignes ayant une colonne Statut définie sur Terminé ou Inutile.
Vous allez créer le flux.
Commencer avec un flux vide
Connectez-vous à Power Automate.
Dans le volet gauche, sélectionnez Mes flux.
Sélectionnez Nouveau flux>Flux cloud planifié.
Ajouter un déclencheur à votre flux
Nommez votre flux.
Définissez la planification pour que le flux s’exécute tous les jours.
Sélectionnez le bouton Créer pour passer à l’étape suivante.
Note
Power Automate utilise le concepteur de flux de cloud classique ou le concepteur de flux de cloud avec Copilot. Pour identifier le concepteur que vous utilisez, accédez à la section Note dans Comprendre le nouveau concepteur de flux de cloud avec les fonctionnalités de copilote.
Sélectionner la feuille de calcul et obtenir toutes les lignes
Sélectionnez Nouvelle étape.
Recherchez lignes, puis sélectionnez Excel Online (Entreprise).
Sélectionnez l’action obtenir une ligne qui correspond à la feuille de calcul que vous utilisez. Par exemple, si vous utilisez Google Sheets, sélectionnez Google Sheets – Get rows (Google Sheets – Obtenir les lignes).
Sélectionnez l’action Répertorier les lignes présentes dans une table.
Sélectionnez l’Emplacement, la Bibliothèque de documents, le Fichier et la Table qui contient vos données.
Vérifier la colonne Statut de chaque ligne
Sélectionnez Nouvelle étape.
Recherchez Appliquer à chacun, puis sélectionnez le contrôle Apply to each - Contrôle.
Ajoutez le jeton valeur dans la zone Sélectionnez un résultat à partir des étapes précédentes.
Ce jeton valeur représente la table de la feuille de calcul et toutes ses données.
Sélectionnez Ajouter une action sur la carte Appliquer à chacun.
Recherchez condition, puis sélectionnez le contrôle Condition.
Ajoutez l’expression or suivante. Cette expression ou consulte la valeur de chaque ligne de la table. Si la valeur de la colonne Statut est terminéOrinutile, l’expression Or prend la valeur « true ».
Voici un exemple de carte Condition.
Supprimer les lignes correspondantes de la feuille de calcul
Sélectionnez Ajouter une action sur la branche Si oui de la condition.
La branche Si oui s’exécute si la condition OR est évaluée comme true.
Recherchez Supprimer une ligne, sélectionnez Excel Online (Entreprise), puis sélectionnez Supprimer une ligne.
Sur la carte Supprimer une ligne, définissez les cases Emplacement, Bibliothèque de documents, Fichier et Table exactement comme vous les avez définies sur la carte Répertorier les lignes présentes dans une table plus tôt dans ce didacticiel.
Dans la liste déroulante Colonne clé, sélectionnez _PowerAppsId_.
Dans le champ Valeur clé, insérez la valeur dynamique _PowerAppsId_.
Enregistrez votre flux.
Exécuter le flux avec l’expression « or »
Le flux s’exécute une fois que vous l’avez enregistré. Si vous avez créé la feuille de calcul indiquée plus haut dans ce didacticiel, voici à quoi elle ressemble après l’exécution :
Notez que toutes les données des lignes dont le statut était terminé ou inutile dans la colonne Statut ont été supprimées.
Utiliser l’expression « and »
Supposons que vous avez un tableau de feuille de calcul avec deux colonnes. Les noms de colonne sont Statut et Affecté. Supposons également que vous souhaitez supprimer toutes les lignes si la valeur de la colonne Statut est bloqué et que la valeur de la colonne Affecté est John Wonder. Pour accomplir cette tâche, suivez toutes les étapes décrites plus haut dans ce didacticiel. Toutefois, lorsque vous modifiez la carte Condition en mode Avancé, utilisez l’expression and indiquée ici.
@and(equals(item()?['Status'], 'blocked'), equals(item()?['Assigned'], 'John Wonder'))
Voici un exemple de carte Condition.
Exécuter le flux avec l’expression « and »
Si vous avez suivi les étapes de ce didacticiel, votre feuille de calcul devrait ressembler à la capture d’écran suivante.
Une fois votre flux exécuté, votre feuille de calcul doit ressembler à la capture d’écran suivante.
Utiliser l’expression « empty »
Notez qu’il existe plusieurs lignes vides dans la feuille de calcul. Pour les supprimer, utilisez l’expression empty pour identifier toutes les lignes qui n’ont pas de texte dans les colonnes Affecté et Statut.
Pour accomplir cette tâche, suivez toutes les étapes répertoriées dans la section Utiliser l’expression « et » plus haut dans ce didacticiel. Lorsque vous modifiez la carte Condition en mode avancé, utilisez l’expression empty suivante.
@and(empty(item()?['Status']), empty(item()?['Assigned']))
Votre carte Condition devrait ressembler alors à la capture d’écran suivante :
Une fois votre flux exécuté, la feuille de calcul doit ressembler à la capture d’écran suivante.
Notez que les lignes en trop sont supprimées du tableau.
Utiliser l’expression « greater »
Imaginez que vous avez acheté des tickets de match de football pour vos collègues et que vous utilisez une feuille de calcul pour vous assurer que chaque personne vous rembourse. Vous pouvez rapidement créer un flux de cloud qui envoie un message quotidien à chaque personne qui n’a pas encore remboursé la totalité du montant.
Utilisez l’expression greater pour identifier les employés qui n’ont pas remboursé la totalité du montant. Vous pouvez ensuite envoyer automatiquement un message électronique de rappel à ceux qui n’ont pas payé la totalité du montant.
Voici une vue de la feuille de calcul.
Voici l’implémentation de l’expression greater qui identifie toutes les personnes qui ont payé moins que le montant dû.
@greater(item()?['Due'], item()?['Paid'])
Utiliser l’expression « less »
Imaginez que vous avez acheté des tickets de match de football pour vos collègues et que vous utilisez une feuille de calcul pour vous assurer que chaque personne vous rembourse à la date acceptée par tous. Vous pouvez créer un flux de cloud qui envoie un message de rappel pour chaque personne qui n’a pas encore payé la totalité du montant si la date d’échéance est dans moins d’un jour.
Utilisez l’expression and avec l’expression less, car il existe deux conditions qui sont validées.
Condition à valider | Expression à utiliser | Exemple |
---|---|---|
Le montant a--il été payé en totalité ? | greater | @greater(item()?['Due'], item()?['Paid']) |
La date d’échéance est-elle située dans un jour ? | less | @less(item()?['DueDate'], addDays(utcNow(),1)) |
Combiner les expressions « greater » et « less » dans une expression « and »
Utilisez l’expression greater pour identifier les employés qui ont payé moins que le montant total dû et utilisez l’expression less pour déterminer si la date d’échéance du paiement est située dans moins d’un jour. Vous pouvez ensuite utiliser l’action Envoyer un message électronique pour envoyer un courrier électronique de rappel aux personnes qui n’ont pas payé la totalité du montant alors que la date d’échéance est dans moins d’un jour.
Voici une vue du tableau de la feuille de calcul.
Voici l’implémentation de l’expression and qui identifie tous les employés qui ont payé moins que le montant dû et le fait que la date d’échéance est située dans moins d’un jour.
@and(greater(item()?['Due'], item()?['Paid']), less(item()?['dueDate'], addDays(utcNow(),1)))
Utiliser des fonctions dans les expressions
Certaines expressions tirent leurs valeurs d’actions de runtime qui n’existent peut-être pas encore quand un flux de cloud commence à s’exécuter. Pour référencer ou utiliser ces valeurs dans des expressions, vous pouvez utiliser des fonctions fournies par le langage de définition du workflow. Plus d’informations. Pour en savoir plus, consultez le Guide de référence sur les fonctions d’expression de workflow dans Azure Logic Apps et Power Automate.