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

Vous pouvez utiliser des expressions de données pour définir des champs personnalisées 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és 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 Vue d’ensemble 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 de création d’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é
Élé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

valueexpression

ligne.

Séparer les champs par des points

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

valuefield

ligne.

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 et invites.

Pour plus d’informations sur la syntaxe que vous devez utiliser dans une colonne personnalisée calculée, voir Vue d’ensemble 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 dans 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 horaire ou qui utilise les caractères génériques $$TODAY ou $$NOW, le système utilise la date selon le fuseau horaire 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 du nombre peut inclure des jours partiels. Par exemple, 1.5 ajoute un jour et demi à la date.

L’expression est formatée comme suit :

ADDDAYS(date, number)

ADDWEEKDAYS

Ajoute le nombre de jours de la semaine à la date. Cette expression ajoute uniquement des valeurs entières à la date, en arrondissant à l’unité inférieure.

L’expression est formatée 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, au format suivant. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

CLEARTIME({entryDate})

DATE

Convertit une chaîne en dat, au format suivant :

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 la date de début est 15 h, le jour de début n’est pas compté comme une journée complète.

L’expression est formatée comme suit :

DATEDIFF(date1, date2)

DAYOFMONTH

Retourne le jour du mois pour la date sous la forme d’un 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

Retourne le jour de la semaine pour la date sous la forme d’un 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 la forme d’un nombre, au format suivant. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

DAYSINMONTH({entryDate})

DAYSINSPLITWEEK

Retourne le nombre de jours total de la semaine entre la date et la fin de la semaine ou la fin du mois, à la première échéance. Dans cet exemple, la date est la date d’entrée d’un objet de travail.

L’expression est formatée comme suit :

DAYSINSPLITWEEK({entryDate})

DAYSINYEAR

Renvoie le nombre total de jours dans l’année de la date sous la forme d’un nombre avec le formant suivant. 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, au format suivant :

DMAX(date1, date2, ...)

DMIN

Renvoie la date la plus ancienne de la liste, au format suivant :

DMIN(date1, date2, ...)

HOUR

Retourne l’heure de la date sous la forme d’un nombre 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 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 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 de début est 15 h, le jour de début n’est pas compté comme une journée complète.

L’expression est formatée comme suit :

WEEKDAYDIFF(date2, date1)

WORKMINUTESDIFF

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

L’expression est formatée comme suit :

WORKMINUTESDIFF(date1, date2)

YEAR

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 au format suivant. Cet exemple utilise le nombre d’objets situés sous l’objet auquel le formulaire personnalisé est associé.

ABS({numberOfChildren})

AVERAGE

Renvoie la moyenne des nombres au format suivant :

AVERAGE(number1, number2, ...)

CEIL

Arrondit un nombre à l’entier supérieur le plus proche au format suivant. 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é au format suivant :

DIV(number1, number2, ...)

FLOOR

Arrondit un nombre à l’entier inférieur le plus proche au format suivant. Cet exemple utilise le nombre d’objets situés sous l’objet auquel le formulaire personnalisé est associé.

FLOOR({numberOfChildren})

LN

Renvoie la valeur du logarithme naturel du nombre au format suivant :

LN({numberOfChildren})

LOG

Renvoie la valeur du logarithme de number2 au number1 de base au format suivant :

LOG(number1, number2)

MAX

Renvoie l’élément le plus grand de la liste au format suivant :

MAX(item1, item2, ...)

MIN

Renvoie l’élément le plus petit de la liste au format suivant :

MIN(item1, item2, ...)

NUMBER

Convertit une chaîne en nombre au format suivant :

NUMBER(string)

POWER

Renvoie un nombre élevé à une puissance au format suivant :

POWER(number, power)

PROD

Multiplie tous les nombres au format suivant :

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 à la hausse à des décimales de précision spécifiées au format suivant :

ROUND(number, precision)

SORTASCNUM

Trie les nombres par ordre croissant au format suivant :

SORTASCNUM(number1,number2, ...)

SORTDESCNUM

Trie les nombres dans l’ordre décroissant au format suivant :

SORTDESCNUM(number1, number2, ...)

SQRT

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

SQRT({numberOfChildren})

SUB

Soustrait tous les nombres dans l’ordre indiqué au format suivant :

SUB(number1, number2, ...)

SUM

Additionne tous les nombres au format suivant :

SUM(number1, number2, ...)

Champs personnalisés calculés avec du 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 formatée 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 de caractères au format suivant :

CONCAT(string1,"separator", string2)

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

  • Espace : « »
  • Tiret : « - »
  • Barre oblique : « / »
  • Virgule : « , »
  • Mot : « ou », « et »
CONTAINS

Renvoie la valeur « true » si la chaîne findText est trouvée dans la chaîne withinText au format suivant :

CONTAINS(findText, withinText)

ENCODEURL

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

L’expression est formatée comme suit :

ENCODEURL(string)

IF

Évalue 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 formatée 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")

En langage courant, cette instruction signifie : « Si (IF) la date d’achèvement projetée de mon objet est « Greater Than » (supérieure à) la date d’achèvement prévue du même objet, affichez les mots « En retard » dans ce champ ; dans le cas contraire, affichez les mots « Dans les temps ».

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 Vue d’ensemble des instructions « IF ».

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 formatée comme suit :

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

Par exemple, vous pouvez trouver une personne 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")

En langage courant, cette instruction signifie : « Si la personne propriétaire du projet est Jennifer Campbell ou Rick Kuvec, marquez ce projet comme "Équipe marketing" ; sinon, marquez-le comme "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 formatée comme suit :

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

ISBLANK

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

L’expression est formatée comme suit :

ISBLANK(value)

LEFT

Renvoie un nombre spécifié de caractères à partir de la gauche d’une chaîne et présente le format suivant :

LEFT(string, length)

LEN

Renvoie la longueur d’une chaîne et présente le format suivant :

LEN(string)

LOWER

Renvoie la chaîne en minuscules au format suivant :

LOWER(string)

REPLACE

Remplace toutes les occurrences de string2 par string3 dans string1.

L’expression est formatée comme suit :

REPLACE(string1, string2, string3)

RIGHT

Renvoie un nombre spécifié de caractères à partir de la droite d’une chaîne au format suivant :

RIGHT(string, length)

SEARCH

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

L’expression est formatée comme suit :

SEARCH(findText, withinText, start)

STRING

Convertit un nombre en chaîne au format suivant :

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 par ordre décroissant et présente le 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 présente le format suivant :

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 présente le format suivant :

TRIM(string)

UPPER

Renvoie une chaîne en majuscules et présente le format suivant :

UPPER(string)

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