Types de fonctions
Les fonctions sont regroupées en 10 catégories différentes, notamment Chaîne, Logique et Mathématique. Les catégories sont organisées pour faciliter la recherche d’une fonction particulière. Vous trouverez ci-dessous un aperçu de chaque catégorie et quelques exemples.
Lorsque vous parcourez les différents exemples, gardez à l’esprit que nous utilisons du texte et des valeurs statiques. Ceci vous permet de tester et recréer les exemples aussi facilement que possible. Dans vos flux, vous pouvez substituer du contenu dynamique à ces données statiques. Assurez-vous simplement que vos données dynamiques sont au format correct pour la fonction.
Dans cette capture d’écran, notez comment l’éditeur d’expressions affiche certaines des fonctions Chaîne disponibles. Cette liste est déroulante et, lorsque vous atteignez la fin des fonctions Chaîne, vous voyez les fonctions Collection, etc. Notez qu’il existe également une entrée Rechercher. Si vous connaissez la fonction que vous souhaitez référencer dans votre formule, vous pouvez la saisir ici et ignorer le défilement. La sélection de l’une de ces formules entraîne son ajout au champ de saisie de formule, où vous pouvez ajouter des entrées pour compléter la formule afin de pouvoir l’enregistrer.
Cependant, il n’est pas nécessaire de sélectionner une fonction. Si vous connaissez la fonction, il vous suffit de commencer à la saisir. Notez également que vous pouvez faire appel à Copilot pour vous aider à créer une expression en fournissant des entrées en langage naturel, si vous ne savez pas quelle expression utiliser ou si vous souhaitez simplement de l’aide pour mettre à jour une expression existante.
Fonctions Chaîne
Les fonctions Chaîne (texte) permettent de modifier des chaînes, rechercher des caractères dans une chaîne, formater des chaînes, etc. La manipulation de texte est une compétence de base souvent utilisée pour essayer de mieux formater ou modifier les données que vous avez reçues d’ailleurs.
La fonction formatNumber est un exemple de fonction Chaîne. Cette fonction peut convertir un nombre en une chaîne dans un format sélectionné. Une demande courante consiste à faire ressembler un nombre à une devise. Vous pouvez transformer le nombre 12.5 en $12.50 à l’aide de la formule suivante :
formatNumber(12.5,'C')
Le « C » représente la chaîne de format numérique Devise. Rassurez-vous : une liste des autres options est disponible sur la page Chaînes de format numérique standard. Vous vous demandez peut-être comment faire si vous souhaitez afficher le nombre en tant que devise, mais avec le symbole du yen ? Un paramètre facultatif vous permet de transmettre les paramètres régionaux.
formatNumber(12.5,'C','ja-JP')
Cette formule renvoie ¥13.
Fonctions Collection
Ces fonctions sont utilisées pour les tableaux et les chaînes. Elles vous permettent de vérifier si un tableau est vide et récupérer le premier ou le dernier élément, voire peuvent être utilisées pour des opérations de jointure, d’union et d’intersection.
Un exemple de fonction Collection utile est length. Vous pouvez renvoyer le nombre d’éléments dans une chaîne ou un tableau à l’aide de length. L’exemple suivant permet de compter le nombre de caractères dans la chaîne « I love Power Automate ».
length('I love Power Automate.')
Le résultat est 22. Notez qu’une espace compte pour un caractère. Ce type de fonction vous permet d’effectuer la validation ou de manipuler des chaînes avec les fonctions Chaîne.
Fonctions Logique
Ces fonctions permettent d’utiliser des conditions, de comparer des valeurs et d’effectuer d’autres évaluations basées sur la logique. Elles sont souvent considérées comme des instructions If, par exemple lorsque vous souhaitez comparer si un nombre est supérieur à un autre. Power Automate prend en charge toutes les comparaisons logiques auxquelles vous vous attendez.
Dans l’exemple ici, une expression compare si 12 est supérieur à 10, puis affiche la chaîne appropriée. Il s’agit également de votre première expression qui utilise plusieurs fonctions. Nous combinons les fonctions Logique if et greater.
If(greater(12,10),'Yes','No')
Le résultat de cette expression serait la chaîne Yes. Pour comprendre l’expression, travaillez de l’intérieur vers l’extérieur. Greater (12,10) renvoie true ou false selon que 12 est supérieur à 10. Dans ce cas, la formule renvoie true (c.-à-d. que 12 est supérieur à 10).
La première valeur après l’expression Greater ('Yes') est la valeur renvoyée si l’expression est évaluée comme true, et la valeur suivante ('No') est la valeur renvoyée si l’expression est évaluée comme false. Comme Greater(12, 10) est évalué comme true, la première valeur après l’expression, ou Yes, est renvoyée.
Important
Bien que vous puissiez écrire des expressions logiques comme illustré ci-dessus, une action nommée Condition vous permet également d’écrire des instructions If sans expression. Vous pouvez insérer une nouvelle étape dans votre flux en demandant à Copilot d’insérer une condition ou en cliquant sur l’icône plus et en recherchant l’action nommée Condition.
Vous pouvez rechercher une condition ou faire appel à Copilot pour en ajouter une dans votre flux.
Voici la même logique écrite à l’aide d’une action Condition au lieu d’une expression :
Conseil
Lorsque vous utilisez Copilot, vérifiez qu’il réalise ce que vous souhaitez. Si Copilot vous aide à démarrer, vous pouvez effectuer un ajout ou une modification pour obtenir exactement ce dont vous avez besoin.
Vous constaterez avec le temps que vous utilisez une combinaison d’expressions et de conditions en fonction de vos besoins.
Fonctions Conversion
Ces fonctions permettent de changer votre type de données. Cela peut être quelque chose de simple comme la conversion d’un numéro de texte en un entier, ou des fonctions plus complexes comme la transformation du codage base64 d’un fichier en codage binaire. Savoir que ces fonctions sont disponibles vous permet de surmonter les problèmes que vous rencontrez lors de la mise en forme correcte de vos données.
Un scénario courant est la nécessité de changer un numéro de texte en un nombre réel à l’aide d’int ou de float. Ceci est courant lors de l’importation de données dans votre flux à partir d’une source de données. Le nombre 12 ou 12,4 peut être stocké sous forme de texte. Pour utiliser ce nombre dans une fonction Logique ou l’écrire à un emplacement qui attend un nombre, vous devez le convertir. L’exemple suivant transforme la chaîne « 12 » en entier 12.
Int('12')
Cela produit l’entier 12. Si la chaîne était « 12.4 », vous auriez besoin de la convertir en nombre flottant à cause du chiffre décimal. Dans ce cas, vous utiliseriez
Float('12.4')
Vous pouvez maintenant recréer l’exemple de fonction Logique précédent à l’aide des numéros de texte que vous venez de créer.
If(greater(Int('12'), Float('12.4')),'Yes','No')
Cela produit la chaîne « No », car 12 n’est pas supérieur à 12.4. La combinaison de fonctions comme celle-ci est courante et constitue un modèle utile à apprendre.
Fonctions Mathématique
Les fonctions Mathématique font exactement ce que vous attendez. Elles vous permettent d’ajouter, de soustraire, de multiplier et d’effectuer d’autres calculs similaires. De plus, les fonctions Mathématique vous permettent, entre autres, de trouver le plus petit nombre et le plus grand d’un jeu de données ou d’obtenir un nombre aléatoire entre un intervalle spécifié. Vous pouvez obtenir un nombre aléatoire de 1 à 10 à l’aide de cette expression :
rand(1,10)
Gardez à l’esprit que différentes fonctions permettent d’additionner des nombres (add) et d’en soustraire (sub). De nombreux langages de formule additionnent des nombres négatifs pour produire une soustraction, mais pas Power Automate. Vous pouvez additionner deux nombres à l’aide de cette expression :
add(12, 13)
Cela renvoie 25. Si vous souhaitez additionner trois nombres, vous devez ajouter une deuxième fonction comme ceci :
add(add(12,13),15)
Cela renvoie 40. Comme vous l’avez vu précédemment, vous imbriquez souvent des fonctions pour obtenir les résultats souhaités.
Fonctions Date et heure
Ces fonctions permettent de renvoyer la date et l’heure actuelles, de modifier les fuseaux horaires, de rechercher des informations spécifiques sur une date et une heure et d’effectuer d’autres manipulations de date ou d’heure. Si vous avez des valeurs de date et d’heure dans vos données, vous utilisez ces fonctions.
Lorsque vous explorez les fonctions Date et heure dans Power Automate, n’oubliez pas qu’elles sont souvent basées sur l’UTC. La plupart des sources de données transmettent des données dans les deux sens avec Power Automate au format UTC. En outre, si vous utilisez la fonction UTCNow(), elle renvoie l’heure actuelle au format UTC. Si vous souhaitez effectuer une comparaison avec les données utilisateur qui se trouvent actuellement dans le fuseau horaire de l’Est à son aide, vous devez convertir le fuseau horaire à l’aide de la formule suivante :
convertFromUtc(utcNow(), 'Eastern Standard Time', 'dd-MM-yyyy hh:mm tt' )
Cela produit 09-02-2024 11:28 AM. Pour une liste complète des options de format de date et d’heure, consultez Chaînes de format de date et d’heure personnalisées.
Fonctions Référencement
Les fonctions Référencement permettent d’utiliser les sorties de vos actions et déclencheurs. L’avantage est que la plupart du temps, Power Automate écrit ces fonctions pour vous. Lorsque vous ajoutez du contenu dynamique à votre flux, vous utilisez des fonctions Référencement sans le savoir. Si vous ajoutez du contenu dynamique, puis que vous survolez ce contenu, vous pouvez voir la fonction Référencement sous-jacente.
Dans cette capture d’écran, vous pouvez voir cela à l’œuvre en ajoutant le contenu dynamique User name aux Entrées pour Composer.
En survolant Nom d’utilisateur avec le pointeur de la souris, vous pouvez voir
triggerOutputs()?['headers']?['x-ms-user-name-encoded']
que Power Automate a créé l’expression utilisant triggerOutputs pour vous. Il s’agit de l’extraction de la propriété x-ms-user-name-encoded de la propriété Headers. La plupart du temps dans Power Automate, vous référencez ces propriétés au moyen de contenu dynamique. Mais il est possible d’écrire vos propres expressions pour recréer cela si nécessaire. Chaque déclencheur et chaque action ont des formats différents relatifs à la façon dont vous récupérez leurs données.
Explorez ces fonctions en ajoutant différents déclencheurs, actions, sources de données et boucles Appliquer à chacun dans votre flux. Ensuite, utilisez leurs propriétés en tant que données dynamiques pour voir plus d’exemples. La bonne nouvelle est que l’écriture de ces types d’expressions n’est pas courante.
Fonctions Flux de travail
Les fonctions Flux de travail permettent de récupérer des informations sur votre flux et sont étroitement liées aux fonctions Référencement. L’une des fonctions est appelée flux de travail. Vous pouvez l’utiliser comme indiqué ici.
workflow().run.id
Cela renvoie l’ID de l’exécution de flux actuelle. Vous pouvez l’utiliser pour le signalement des erreurs et la journalisation, si nécessaire. Ces fonctions ne sont pas couramment utilisées.
Fonctions Analyse des URI
Ces fonctions permettent de disséquer un URI transmis sous forme de chaîne. Ces fonctions vous permettent de rechercher l’hôte, le chemin d’accès, la chaîne de requête ou d’autres parties de l’URI. L’exemple suivant vous montre comment obtenir la partie de chaîne de requête de l’URI donné à l’aide de uriQuery.
uriQuery('https://flow.microsoft.com/fakeurl?Test=Yes')
Cela renverrait la chaîne ?Test=Yes que vous pourriez ensuite analyser avec des fonctions Chaîne pour obtenir la valeur transmise à partir de l’URI.
Fonctions Manipulation
Les fonctions Manipulation permettent d’utiliser des objets spécifiques de votre flux. Vous pouvez effectuer des actions telles que rechercher la première valeur non vide, utiliser des propriétés ou rechercher des correspondances xpath. Ces fonctions sont généralement utilisées dans les évaluations de nœud JSON ou XML.
Une fonction que vous pourriez trouver utile est coalesce. Cette fonction vous permet de trouver la première valeur non nulle dans un ensemble spécifié de valeurs. Vous utilisez la fonction comme indiqué dans la formule suivante :
coalesce(null, 'Power Automate', 'Power Apps')
Cette formule renvoie la chaîne Power Automate. Cela est pratique lorsque vous passez plusieurs valeurs et que vous souhaitez trouver la première non nulle.