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 :
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
Vous pouvez créer un champ personnalisé calculé par date ou heure à l’aide des expressions suivantes :
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)
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)
Ajoute le nombre de mois à la date et est formaté comme suit :
ADDMONTHS(date, number)
Ajoute le nombre d’années à la date et est formaté comme suit :
ADDYEARS(date, number)
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})
Convertit une chaîne en dat, au format suivant :
DATE(string)
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)
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})
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})
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})
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})
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})
Renvoie la date la plus récente de la liste, au format suivant :
DMAX(date1, date2, ...)
Renvoie la date la plus ancienne de la liste, au format suivant :
DMIN(date1, date2, ...)
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})
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})
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})
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})
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)
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)
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 :
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})
Renvoie la moyenne des nombres au format suivant :
AVERAGE(number1, number2, ...)
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})
Répartit tous les nombres dans l’ordre indiqué au format suivant :
DIV(number1, number2, ...)
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})
Renvoie la valeur du logarithme naturel du nombre au format suivant :
LN({numberOfChildren})
Renvoie la valeur du logarithme de number2 au number1 de base au format suivant :
LOG(number1, number2)
Renvoie l’élément le plus grand de la liste au format suivant :
MAX(item1, item2, ...)
Renvoie l’élément le plus petit de la liste au format suivant :
MIN(item1, item2, ...)
Convertit une chaîne en nombre au format suivant :
NUMBER(string)
Renvoie un nombre élevé à une puissance au format suivant :
POWER(number, power)
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.
Arrondit le nombre à la hausse à des décimales de précision spécifiées au format suivant :
ROUND(number, precision)
Trie les nombres par ordre croissant au format suivant :
SORTASCNUM(number1,number2, ...)
Trie les nombres dans l’ordre décroissant au format suivant :
SORTDESCNUM(number1, number2, ...)
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})
Soustrait tous les nombres dans l’ordre indiqué au format suivant :
SUB(number1, number2, ...)
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 :
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è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 »
Renvoie la valeur « true » si la chaîne findText est trouvée dans la chaîne withinText au format suivant :
CONTAINS(findText, withinText)
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)
É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 ».
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","")
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...])
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)
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)
Renvoie la longueur d’une chaîne et présente le format suivant :
LEN(string)
Renvoie la chaîne en minuscules au format suivant :
LOWER(string)
Remplace toutes les occurrences de string2 par string3 dans string1.
L’expression est formatée comme suit :
REPLACE(string1, string2, string3)
Renvoie un nombre spécifié de caractères à partir de la droite d’une chaîne au format suivant :
RIGHT(string, length)
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)
Convertit un nombre en chaîne au format suivant :
STRING(number)
Trie une liste de chaînes par ordre croissant au format suivant :
SORTASCSTRING(string1, string2, ...)
Trie une liste de chaînes par ordre décroissant et présente le format suivant :
SORTDESCSTRING(string1, string2, ...)
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)
Supprime les espaces au début et à la fin d’une chaîne et présente le format suivant :
TRIM(string)
Renvoie une chaîne en majuscules et présente le format suivant :
UPPER(string)