Types de fonctions

Effectué

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 de 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 la capture d’écran ci-dessous, notez les mots Voir plus à droite de chaque en-tête de catégorie (comme Fonctions de chaîne ou de collection). Si vous sélectionnez Voir plus, la liste complète des fonctions de cette catégorie s’affiche.

Capture d’écran de l’onglet Expression avec l’option Voir plus permettant de consulter une liste complète des fonctions.

Sélectionnez Voir plus à côté des fonctions de chaîne.

Capture d’écran des fonctions de chaîne affichées suite à la sélection de Voir plus avec la fonction replace(text, oldText, newText) sélectionnée.

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 ? Il existe un paramètre facultatif par lequel vous pouvez transmettre les paramètres régionaux.

formatNumber(12.5,'C','ja-JP')

Cette formule renverra ¥13.

Fonctions de collection

Ces fonctions sont utilisées pour les tableaux et les chaînes. Elles peuvent être utilisées pour vérifier si un tableau est vide, pour récupérer le premier ou le dernier élément, ou même 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’un espace compte pour un caractère. Vous pouvez utiliser ce type de fonction pour la validation ou conjointement 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 ci-dessous, une expression compare si 12 est supérieur à 10, puis affiche la chaîne appropriée. C’est également 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, c’est la chaîne Yes. Si cela avait été faux, la chaîne No aurait été 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. Insérez une nouvelle étape dans votre flux et recherchez un connecteur appelé Condition.

Capture d’écran de la fenêtre Choisir une action avec le contrôle Condition sélectionné.

Voici la même condition écrite à l’aide de l’action :

Capture d’écran d’une condition écrite à l’aide de l’action.

Vous constaterez avec le temps que vous utilisez une combinaison des deux méthodes 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 produira 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é. Pour obtenir un nombre aléatoire de 1 à 10, utilisez ce qui suit :

rand(1,10)

Une chose à garder à l’esprit est qu’il existe une fonction différente pour additionner des nombres (add) et pour soustraire des nombres (sub). De nombreux langages de formule additionnent des nombres négatifs pour produire une soustraction, mais pas Power Automate. Pour additionner deux nombres ensemble, vous utilisez ce qui suit :

Add(12, 13)

Cela retourne 25. Si vous souhaitez additionner trois nombres, vous devez ajouter une deuxième fonction comme ceci :

add(add(12,13),15)

Cela retourne 40. Comme vous l’avez vu précédemment, vous devrez souvent imbriquer des fonctions pour obtenir les résultats souhaités.

Fonctions de date et d’heure

Ces fonctions sont utilisées pour renvoyer la date et l’heure actuelles, modifier les fuseaux horaires, trouver des informations spécifiques sur une date et une heure et effectuer d’autres manipulations de date ou heure. Si vous avez des valeurs de date et d’heure dans vos données, vous aurez besoin de ces fonctions.

Une chose importante à retenir lorsque vous explorez les fonctions de date et d’heure dans Power Automate est 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. Aussi, si vous utilisez la fonction UTCNow(), elle renvoie l’heure actuelle au format UTC. Si vous souhaitez l’utiliser pour comparer avec les données utilisateur qui se trouvent actuellement dans le fuseau horaire de l’Est, vous devez utiliser la formule suivante pour les convertir :

convertFromUtc(utcNow(), 'Eastern Standard Time', 'dd-MM-yyyy hh:mm tt' )

Cela produit 06-07-2021 05:39 PM. 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 en action.

Dans la capture d’écran ci-dessous, vous pouvez voir cela en action en ajoutant le contenu dynamique Nom d’utilisateur de mon déclencheur aux Entrées pour Composer.

Capture d’écran de l’ajout du contenu dynamique Nom d’utilisateur du déclencheur.

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 par le biais de contenu dynamique. Mais il est possible d’écrire vos propres expressions pour recréer cela si nécessaire. Chaque déclencheur et action aura 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é ci-dessous.

Workflow().run.id

Cela renverra l’ID de l’exécution de flux actuelle. Vous pouvez l’utiliser pour la journalisation et la génération d’états d’erreurs, si nécessaire. Ces fonctions ne sont pas couramment utilisées.

Fonctions d’analyse des URI

Ces fonctions sont utilisées pour disséquer un URI qui est passé sous forme de chaîne. Vous pouvez utiliser ces fonctions pour trouver 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 utiliser uriQuery pour obtenir la partie de chaîne de requête de l’URI donné.

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.