Types de fonctions
Les fonctions sont regroupées en 10 catégories différentes, telles que fonctions mathématiques et logiques. 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 les mots Afficher plus à droite de chaque en-tête de catégorie (comme Fonctions de chaîne ou de collection). Si vous cliquez sur Afficher plus, la liste complète des fonctions de cette catégorie s’affiche.
Cliquez sur Afficher plus en regard de Fonctions de chaîne.
Fonctions de chaîne
Les fonctions de 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 de chaîne. Cette fonction peut convertir un nombre en une chaîne dans un format donné. Une demande courante consiste à faire ressembler un nombre à une devise. Pour changer le nombre 12.5 en $12.50, utilisez la formule suivante :
formatNumber(12.5,'C')
Le C représente la chaîne de format numérique Devise. Ne vous inquiétez pas, 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 de 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 de collection utile est length. Vous pouvez utiliser length pour renvoyer le nombre d’éléments dans une chaîne ou un tableau. 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. Vous pouvez utiliser ce type de fonction pour la validation ou avec les fonctions de chaîne pour manipuler des chaînes.
Fonctions logiques
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 lorsque vous souhaitez comparer si un nombre est supérieur à un autre nombre. 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 logiques 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. Comme c’est le cas, la valeur renvoyée est true.
Maintenant que vous savez que la réponse est true, vous pouvez voir que la fonction If renvoie les données après la première virgule. Dans ce cas, il s’agit de la chaîne Yes. Si la réponse est false, la chaîne No 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.
Voici la même logique écrite à l’aide d’une action de condition au lieu d’une expression.
Conseil
Dans la capture d’écran ci-dessus, notez que Copilot a ajouté avec succès une action Composer dans la branche true, mais n’a pas ajouté l’action Composer 4 dans la branche false. Copilot peut parfois ne pas réussir ce que vous souhaitez, donc veillez à vérifier que les actions ajoutées par Copilot sont correctes.
Vous constaterez avec le temps que vous utilisez une combinaison d’expressions et de conditions en fonction de vos besoins.
Fonctions de conversion
Ces fonctions permettent de changer le type de vos données. Cela peut être une chose simple comme la conversion d’un numéro de texte en un entier, ou des fonctions plus complexes comme la modification du codage d’un fichier de base64 en 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é d’utiliser int ou float pour changer un numéro de texte en un nombre réel. 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 dans 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. S’il s’était agi de la chaîne « 12,4 », vous auriez besoin de la convertir en nombre flottant à cause des chiffres décimaux. Dans ce cas, vous utiliseriez
Float('12.4')
Vous pouvez maintenant utiliser le numéro de texte pour faire l’exemple précédent.
If(greater(Int('12'), Float('12.4')),'Yes','No')
Cela produit la chaîne « Non », 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ématiques
Les fonctions mathématiques font exactement ce que vous attendez. Elles vous permettent d’ajouter, de soustraire, de multiplier et d’exécuter d’autres fonctions similaires. De plus, les fonctions mathématiques vous permettent, entre autres, de trouver le plus petit et le plus grand nombre 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 qu’une autre fonction permet d’additionner des nombres (add) et de soustraire des nombres (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 pouvez souvent imbriquer des fonctions pour obtenir les résultats souhaités.
Fonctions de date et d’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 heure. Si vous avez des valeurs de date et d’heure dans vos données, vous avez besoin de ces fonctions.
Lorsque vous explorez les fonctions de date et d’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 les convertir à 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 de référencement
Les fonctions de référencement permettent d’utiliser les sorties de vos actions et déclencheurs. Ce qui est bien, c’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 de référencement sans le savoir. Si vous ajoutez du contenu dynamique et que vous pointez ensuite sur ce contenu, vous pouvez voir ce phénomène à l’œuvre.
Dans cette capture d’écran, vous pouvez voir cela à l’œuvre en ajoutant le contenu dynamique User name de mon déclencheur aux Entrées pour Composer.
En pointant sur 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 de flux de travail
Les fonctions de flux de travail sont utilisées pour récupérer des informations sur votre flux et sont étroitement liées aux fonctions de 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 d’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 de chaîne pour obtenir la valeur transmise à partir de l’URI.
Fonctions de manipulation
Les fonctions de 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œuds 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. Pratique lorsque vous passez plusieurs valeurs et que vous voulez trouver la première qui n’est pas nulle.