Écrire des expressions complexes
Une expression complexe désigne une combinaison de plusieurs fonctions pour obtenir le résultat souhaité. Dans les sections Fonctions Mathématique et Fonctions Date et heure, vous avez déjà vu des exemples de ces expressions. Vous avez découvert que pour ajouter trois nombres, vous devez combiner deux fonctions add telles que :
add(add(12,13),15)
La sortie obtenue étant 40.
Ensuite, vous avez découvert comment la fonction utcNow vous permet d’obtenir la date et l’heure actuelles et comment convertFromUtc vous permet de les définir sur le fuseau horaire de l’Est, comme indiqué ici :
convertFromUtc(utcNow(), 'Eastern Standard Time', 'dd-MM-yyyy hh:mm tt' )
La sortie obtenue étant 09-02-2024 11:28 AM.
Lorsque vous pensez aux expressions complexes, plusieurs fonctions sont toujours imbriquées dans une expression où vous utilisez la sortie d’une fonction comme entrée d’une autre. Il n’y a pas de syntaxe spéciale, d’opérateurs spéciaux ni de considérations spéciales.
À titre d’ultime exemple d’expression complexe, considérez le scénario dans lequel vous avez deux entrées dans le cadre de votre déclencheur Déclencher manuellement un flux, puis calculez une nouvelle heure à l’aide de cette entrée dans une formule. Vous pouvez utiliser l’exemple de flux vous ayant permis de tester vos expressions ou créer un flux qui ressemble au suivant :
Cliquez maintenant sur Ajouter une entrée sous Déclencher manuellement un flux, puis ajoutez un nombre. Ensuite, recliquez sur Ajouter une entrée, puis ajoutez une date. Votre déclencheur devrait maintenant ressembler à ceci :
À présent, à l’étape Composer, vous allez créer une expression pour ajouter le nombre de jours entre le déclencheur et la date.
addDays(triggerBody()?['date'], triggerBody()?['number'])
Cette expression utilise la fonction date et heure addDays et la fonction de référence triggerBody.
Remarque
Si vous vous demandez « Comment savoir quels sont les éléments à intégrer au corps du déclencheur ? », vous êtes sur la bonne voie. Le secret est que vous pouvez combiner du contenu dynamique dans vos expressions. Pour ce faire, commencez votre expression en tapant addDays(), puis placez votre curseur entre les parenthèses et cliquez sur Contenu dynamique. Ensuite, vous pouvez choisir vos champs. Il s’agit d’un excellent moyen de référencer ce contenu tout en laissant Power Automate se charger de l’écriture de l’expression.
Si vous testez votre flux et saisissez la date 2024-02-09 et le nombre 2, votre sortie est 2024-02-11T00:00:00.0000000. Il s’agit du format UTC du 11 février 2024.
Vous pouvez maintenant connaître le jour de la semaine à l’aide d’une autre action Composer avec l’expression suivante :
dayOfWeek(outputs('Compose'))
La sortie de la première action Composer est 2024-02-11T00:00:00.000000. La sortie de la seconde action Composer est 0, ce qui représente le dimanche. Le dimanche est 0 et chaque jour suivant augmente de 1. Voici une capture d’écran de ce à quoi ressemblerait votre flux avec les deux actions Composer et la formule dayOfWeek dans la deuxième action Composer :
À présent, ajoutez une autre étape Composer pour vérifier si la date sélectionnée est un jeudi. Saisissez l’expression suivante :
if(equals(outputs('Compose_1'),4), 'You chose a Thursday', 'You didn't choose a Thursday')
Pour le 9 février 2024, cette expression renvoie la chaîne « Vous n’avez pas choisi un jeudi. »
Cet exemple est un modèle de création typique pour une expression complexe, avec une création pièce par pièce décomposée en étapes distinctes. Maintenant que toutes les fonctions nécessaires ont été élaborées, ajoutez une autre étape Composer. À la nouvelle étape Composer, écrivez une grande expression qui fait tout en une seule étape. Cette expression ressemble à ce qui suit :
if(equals(dayOfWeek(addDays(triggerBody()['date'], triggerBody()['number'])),4), 'You chose a Thursday', 'You did not choose a Thursday' )
La sortie pour le 9 février 2024 est la chaîne « You didn’t choose a Thursday ». Si c’est ce que vous attendez, vous pouvez supprimer toutes les actions Composer préliminaires du flux pour le nettoyer.
Félicitations ! Vous avez écrit une expression complexe petit à petit, étape par étape, avant d’assembler le tout à la fin.