Vue d’ensemble des expressions de données calculées

Vous pouvez utiliser des expressions de données pour définir des champs personnalisés calculés dans Adobe Workfront. Les expressions calculées connectent des champs Workfront existants dans des instructions qui génèrent un nouveau champ.

Vous pouvez utiliser des expressions de données calculées dans :

  • Un champ personnalisé calculé sur un formulaire personnalisé

    Pour plus d’informations sur la création de champs personnalisés calculés sur des formulaires personnalisés dans Workfront, voir Ajout de champs calculés à un formulaire.

  • Une colonne personnalisée calculée dans un rapport ou une liste lorsque vous utilisez le mode texte

    Pour plus d’informations sur l’utilisation du mode texte dans les rapports et les vues, voir Présentation du mode texte.

Syntaxe des champs personnalisés calculés par rapport aux colonnes personnalisées calculées

Bien que les fonctions que vous utilisez soient les mêmes, la syntaxe pour créer une expression dans un champ personnalisé calculé peut être différente de celle utilisée pour créer une colonne personnalisée calculée.

Les différences entre les deux syntaxes sont les suivantes :

Champ personnalisé calculé
Elément de rapport personnalisé calculé
Placez les noms de champ entre accolades.

Ne placez pas les noms de champ entre crochets ou parenthèses lors de leur utilisation dans une

valuefield

ligne.

Placez les noms de champ entre accolades lorsque vous les utilisez dans une balise

valueexpression

ligne.

Séparez les champs par des points

Séparez les champs par deux-points lors de leur utilisation dans un

valuefield

line

Séparez les champs par des points lors de leur utilisation dans une

valueexpression

ligne.

Par exemple :

  • Dans un champ personnalisé, sur un formulaire personnalisé pour les tâches, vous utiliserez les éléments suivants pour générer le nom du projet parent de la tâche à laquelle le formulaire personnalisé est joint :

    {project}.{name}

  • Dans une colonne personnalisée d’un rapport, vous pouvez utiliser les éléments suivants pour ajouter une colonne personnalisée Nom du projet à un rapport de tâche :

    valuefield=project:name

    Ou

    valueexpression={project}.{name}

    note tip
    TIP
    La même syntaxe s’applique à tous les éléments de rapport en mode texte dans lesquels des expressions calculées sont utilisées : vues, filtres, regroupements, invites.

Pour plus d’informations sur la syntaxe que vous devez utiliser dans une colonne personnalisée calculée, voir Présentation du mode texte.

Expressions de données utilisables

Les listes ci-dessous définissent les expressions disponibles que vous pouvez utiliser lorsque vous créez l’un des trois types différents de champs personnalisés calculés dans Workfront :

Vous pouvez utiliser les expressions répertoriées ci-dessous pour créer des colonnes calculées personnalisées. Cependant, vous devez utiliser la syntaxe correcte pour une colonne personnalisée calculée, comme décrit dans la section Syntaxe des champs personnalisés calculés par rapport aux colonnes personnalisées calculées de cet article.

Champs personnalisés calculés par date et heure date-time-calculated-custom-fields

NOTE
Si vous créez un calcul de date et heure qui n’inclut pas de partie « heure » ou qui utilise les caractères génériques $$TODAY ou $$NOW, le système utilise la date selon le temps universel coordonné (UTC), et non selon votre fuseau horaire local. Cela peut entraîner un résultat de date inattendu.

Vous pouvez créer un champ personnalisé calculé par date ou heure à l’aide des expressions suivantes :

Expression...
Explication et exemple
ADDDAYS

Ajoute le nombre de jours à la date. La valeur number peut inclure des jours partiels. Par exemple, la version 1.5 ajoute un jour et demi à la date.

L’expression est mise en forme comme suit :

ADDDAYS(date, number)

ADDWEEKDAYS

Ajoute le nombre de jours de la semaine à la date. Cette expression ajoute uniquement des entiers entiers à la date, en arrondissant à la base.

L’expression est mise en forme comme suit :

ADDWEEKDAYS(date, number)

ADDMONTHS

Ajoute le nombre de mois à la date et est formaté comme suit :

ADDMONTHS(date, number)

ADDYEARS

Ajoute le nombre d’années à la date et est formaté comme suit :

ADDYEARS(date, number)

CLEARTIME

Efface la partie heure d’une date et est formatée comme suit. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

CLEARTIME({entryDate})

DATE

Convertit une chaîne en date et est formatée comme suit :

DATE(string)

DATEDIFF

Renvoie le nombre de jours entre deux dates, en tenant compte des jours de début et de fin de la période sélectionnée ainsi que des horodatages de ces jours. Par exemple, si l’heure de début de la date est 15 heures, le jour de début n’est pas compté comme une journée complète.

L’expression est mise en forme comme suit :

DATEDIFF(date1, date2)

DAYOFMONTH

Renvoie le jour du mois pour la date sous forme de nombre, entre 1 et 31.

L’expression est formatée comme suit. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

DAYOFMONTH({entryDate})

DAYOFWEEK

Renvoie le jour de la semaine pour la date sous forme de nombre, entre 1 (dimanche) et 7 (samedi).

L’expression est formatée comme suit. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

DAYOFWEEK({entryDate})

DAYSINMONTH

Renvoie le nombre total de jours dans le mois de la date sous forme de nombre et est formaté comme suit. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

DAYSINMONTH({entryDate})

DAYSINSPLITWEEK

Renvoie le nombre total de jours de la semaine entre la date et la fin de la semaine, ou la fin du mois, selon ce qui survient en premier. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

L’expression est mise en forme comme suit :

DAYSINSPLITWEEK({entryDate})

DAYSINYEAR

Renvoie le nombre total de jours dans l'année de la date sous la forme d'un nombre et est formaté comme suit. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

DAYSINYEAR({entryDate})

DMAX

Renvoie la date la plus récente de la liste et est formatée comme suit :

DMAX(date1, date2, ...)

DMIN

Renvoie la date la plus ancienne de la liste et est formatée comme suit :

DMIN(date1, date2, ...)

HEURE

Renvoie l’heure de la date sous forme numérique entre 0 et 23.

L’expression est formatée comme suit. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

HOUR({entryDate})

MINUTE

Renvoie la minute de la date sous la forme d'un nombre compris entre 0 et 60, au format suivant. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

MINUTE({entryDate})

MONTH

Renvoie le mois de la date sous la forme d'un nombre compris entre 1 et 12, au format suivant. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

MONTH({entryDate})

SECOND

Renvoie la seconde de la date sous la forme d'un nombre compris entre 0 et 60, au format suivant. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

SECOND({entryDate})

WEEKDAYDIFF

Renvoie le nombre de jours de la semaine entre deux dates, en tenant compte des jours de début et de fin de la période sélectionnée, ainsi que des horodatages de ces jours. Par exemple, si l’heure de début de la date est 15 heures, le jour de début n’est pas compté comme une journée complète.

L’expression est mise en forme comme suit :

WEEKDAYDIFF(date2, date1)

WORKMINUTESDIFF

Renvoie le nombre de minutes planifiées entre les dates selon le planning par défaut.

L’expression est mise en forme comme suit :

WORKMINUTESDIFF(date1, date2)

ANNÉE

Renvoie l'année de la date sous la forme d'un nombre à 4 chiffres, au format suivant. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

YEAR({entryDate})

Champs personnalisés calculés mathématiques mathematical-calculated-custom-fields

Vous pouvez créer un champ personnalisé calculé qui utilise certaines des expressions mathématiques suivantes :

Expression...
Explication
ABS

Renvoie la valeur absolue du nombre et est formatée comme suit. Cet exemple utilise le nombre d’objets situés sous l’objet auquel le formulaire personnalisé est associé.

ABS({numberOfChildren})

MOYENNE

Renvoie la moyenne des nombres et est formaté comme suit :

AVERAGE(number1, number2, ...)

CEIL

Arrondit un nombre à l’entier le plus proche et est formaté comme suit. Cet exemple utilise le nombre d’objets situés sous l’objet auquel le formulaire personnalisé est associé.

CEIL({numberOfChildren})

DIV

Répartit tous les nombres dans l’ordre indiqué et est formaté comme suit :

DIV(number1, number2, ...)

SOL

Arrondit un nombre à l’entier le plus proche et est formaté comme suit. Cet exemple utilise le nombre d’objets situés sous l’objet auquel le formulaire personnalisé est associé.

FLOOR({numberOfChildren})

LN

Renvoie la valeur logarithme népérienne du nombre et est formatée comme suit :

LN({numberOfChildren})

LOG

Renvoie la valeur logarithme de number2 à la base number1 et est formatée comme suit :

LOG(number1, number2)

MAX

Renvoie l’élément le plus grand de la liste et est formaté comme suit :

MAX(item1, item2, ...)

MIN

Renvoie le plus petit élément de la liste et est formaté comme suit :

MIN(item1, item2, ...)

NUMBER

Convertit une chaîne en nombre et se présente comme suit :

NUMBER(string)

POWER

Renvoie un nombre élevé à une puissance et est formaté comme suit :

POWER(number, power)

PROD

Multiplie tous les nombres et est formaté comme suit :

PROD(number1, number2, ....)

NOTE

Lorsque vous multipliez des champs qui contiennent des heures, veillez à comprendre si la base de données enregistre les heures dans les champs sélectionnés en minutes, heures ou secondes. Si les heures sont enregistrées en minutes ou en secondes mais s’affichent en heures dans l’interface de Workfront, vous devrez peut-être tenir compte de la conversion de minutes ou de secondes en heures lors de l’écriture d’une expression à l’aide de ce calcul.

ROUND

Arrondit le nombre à des décimales de précision spécifiées et est formaté comme suit :

ROUND(number, precision)

SORTASCNUM

Commande les nombres par ordre croissant et est formaté comme suit :

SORTASCNUM(number1,number2, ...)

SORTDESNUM

Commande les nombres dans l'ordre décroissant et est formaté comme suit :

SORTDESCNUM(number1, number2, ...)

SQRT

Renvoie la racine carrée d’un nombre et est formatée comme suit. Cet exemple utilise le nombre d’objets situés sous l’objet auquel le formulaire personnalisé est associé.

SQRT({numberOfChildren})

SUB

Enlève tous les nombres dans l’ordre indiqué et est formaté comme suit :

SUB(number1, number2, ...)

SUM

Ajoute tous les nombres et est formaté comme suit :

SUM(number1, number2, ...)

Champs personnalisés calculés par le texte text-calculated-custom-fields

Vous pouvez créer un champ personnalisé calculé qui affiche une valeur au format texte à l’aide des expressions suivantes :

Expression...
Explication
CASE

Utilisé avec d’autres expressions pour choisir une valeur dans une liste, en fonction d’un numéro d’index.

Un numéro d’index est un champ ou une fonction qui renvoie une valeur numérique (généralement comprise dans une plage connue).

L’expression est mise en forme comme suit :

CASE(indexNumber, value1, value2, ...)

Par exemple, l’expression suivante renvoie le nom du jour de la semaine, où 1=dimanche, 2=lundi, etc., dans une colonne calculée :

CASE(DAYOFWEEK({entryDate}),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")

Fonctionne mieux avec d’autres expressions qui renvoient un nombre, telles que DAYOFWEEK, DAYOFMONTH et MONTH.

CONCAT

Concatène la chaîne et est formatée comme suit :

CONCAT(string1,"separator", string2)

Vous trouverez ci-dessous des exemples de séparateurs que vous pouvez inclure :

  • un espace : " "
  • un tiret : "-"
  • une barre oblique : "/"
  • une virgule : ","
  • un mot : "ou", "et"
CONTAINS

Renvoie "true" si la chaîne findText se trouve dans la chaîne insideText et est formatée comme suit :

CONTAINS(findText, withinText)

ENCODEURL

Échappe tous les caractères spéciaux de la chaîne afin qu’ils puissent être inclus dans un argument URL.

L’expression est mise en forme comme suit :

ENCODEURL(string)

IF

Evalue une condition que vous spécifiez et renvoie la valeur de trueExpression si elle est vraie, ou la valeur de falseExpression si elle est fausse.

L’expression est mise en forme comme suit :

IF(condition, trueExpression, falseExpression)

Par exemple, vous pouvez comparer deux champs de date différents suivis d’un résultat True/False sous la forme d’une chaîne de données :

IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","On Track")

Dans les discours de tous les jours, cette instruction signifie : "Si la date d’achèvement prévue de mon objet est "Supérieur à" la date d’achèvement planifiée du même objet, affichez les mots "Suivi désactivé" dans ce champ ; dans le cas contraire, affichez les mots "Sur la piste".

Si vous ne souhaitez pas libeller les expressions true ou false, vous devez insérer un libellé vide dans votre instruction, tel que :

IF({projectedCompletionDate}>{plannedCompletionDate},"","On Track")

Ou

IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","")

Pour plus d’informations sur la création d’instructions "IF", voir "IF" statement overview.

IFIN

Permet de rechercher une valeur spécifique dans une chaîne de valeurs possibles. Si la valeur que vous recherchez est égale à l’une des valeurs fournies, l’expression renvoie trueExpression ; dans le cas contraire, elle renvoie falseExpression.

L’expression est mise en forme comme suit :

IFIN(value, value1, value2,..., trueExpression, falseExpression)

Par exemple, vous pouvez trouver un propriétaire de projet spécifique et marquer ces projets avec une balise spécifique dans la vue de projet :

IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","Other Teams")

Dans le discours de tous les jours, cette déclaration signifie : "Si le propriétaire du projet est Jennifer Campbell ou Rick Kuvec, marquez ce projet avec "Équipe marketing" ; sinon, marquez-le avec "Autres équipes"."

Si vous ne souhaitez pas libeller les expressions true ou false, vous devez insérer un libellé vide dans votre instruction, tel que :

IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","","Other Teams")

Ou

IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","")

IN

Renvoie true si la valeur est égale à l’une des valeurs fournies ; dans le cas contraire, l’expression renvoie false.

L’expression est mise en forme comme suit :

IN(value, value1[, value2...])

ISBLANK

Renvoie true si la valeur est nulle ou vide ; dans le cas contraire, l’expression renvoie false.

L’expression est mise en forme comme suit :

ISBLANK(value)

LEFT

Renvoie un nombre spécifié de caractères à partir du côté gauche d’une chaîne et est formaté comme suit :

LEFT(string, length)

LEN

Renvoie la longueur d'une chaîne au format suivant :

LEN(string)

LOWER

Renvoie la chaîne en minuscules et est formatée comme suit :

LOWER(string)

REPLACE

Remplace toutes les occurrences de string2 par string3 dans string1.

L’expression est mise en forme comme suit :

REPLACE(string1, string2, string3)

RIGHT

Renvoie un nombre spécifié de caractères à partir du côté droit d’une chaîne et est formaté comme suit :

RIGHT(string, length)

SEARCH

Renvoie l’index de la première occurrence de findText dans la chaîne insideText, en commençant à la position de départ donnée, ou -1 si le texte est introuvable.

L’expression est mise en forme comme suit :

SEARCH(findText, withinText, start)

STRING

Convertit un nombre en chaîne et est formaté comme suit :

STRING(number)

SORTASCSTRING

Trie une liste de chaînes par ordre croissant, au format suivant :

SORTASCSTRING(string1, string2, ...)

SORTDESCSTRING

Trie une liste de chaînes dans l’ordre décroissant, au format suivant :

SORTDESCSTRING(string1, string2, ...)

SUBSTR

Renvoie les caractères d’une chaîne selon l’index de début et de fin spécifié et est formaté comme suit :

SUBSTR({string}, number of start position, number of end position)

TRIM

Supprime les espaces au début et à la fin d’une chaîne et est formaté comme suit :

TRIM(string)

UPPER

Renvoie une chaîne en majuscules et est formatée comme suit :

UPPER(string)

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43