Panoramica delle espressioni di dati calcolati
Puoi utilizzare le espressioni di dati per definire campi personalizzati calcolati in Adobe Workfront. Le espressioni calcolate collegano i campi Workfront esistenti nelle istruzioni che generano un nuovo campo.
Puoi utilizzare espressioni di dati calcolati in:
-
Campo personalizzato calcolato in un modulo personalizzato
Per ulteriori informazioni sulla creazione di campi personalizzati calcolati nei moduli personalizzati in Workfront, vedere Aggiungere campi calcolati a un modulo.
-
Colonna personalizzata calcolata in un report o in un elenco quando si utilizza la modalità testo
Per ulteriori informazioni sull'utilizzo della modalità testo nei report e nelle visualizzazioni, vedere Cenni preliminari sulla modalità testo.
Sintassi dei campi personalizzati calcolati rispetto alle colonne personalizzate calcolate
Sebbene le funzioni utilizzate siano le stesse, la sintassi per la creazione di un'espressione in un campo personalizzato calcolato può essere diversa da quella per la creazione di una colonna personalizzata calcolata.
Le differenze tra le due sintassi sono:
Ad esempio:
-
In un campo personalizzato, in un modulo personalizzato per le attività, puoi utilizzare quanto segue per generare il nome del progetto principale dell’attività a cui è allegato il modulo personalizzato:
{project}.{name}
-
In una colonna personalizzata di un report, utilizzare quanto segue per aggiungere una colonna personalizzata Nome progetto a un report attività:
valuefield=project:name
Oppure
valueexpression={project}.{name}
note tip TIP La stessa sintassi si applica a tutti gli elementi di reporting in modalità testo in cui vengono utilizzate espressioni calcolate: viste, filtri, raggruppamenti, prompt.
Per ulteriori informazioni sulla sintassi da utilizzare in una colonna personalizzata calcolata, vedere Cenni preliminari sulla modalità testo.
Espressioni dati utilizzabili
Gli elenchi seguenti definiscono le espressioni disponibili da utilizzare per la creazione di uno dei tre diversi tipi di campi personalizzati calcolati in Workfront:
Puoi utilizzare le espressioni elencate di seguito per creare colonne personalizzate calcolate. È tuttavia necessario utilizzare la sintassi corretta per una colonna personalizzata calcolata, come descritto nella sezione Sintassi dei campi personalizzati calcolati rispetto alle colonne personalizzate calcolate in questo articolo.
Campi personalizzati calcolati per data e ora date-time-calculated-custom-fields
Puoi creare un campo personalizzato calcolato per la data o l’ora utilizzando le seguenti espressioni:
Aggiunge il numero di giorni alla data. Il valore numerico può includere giorni parziali. Ad esempio, 1.5 aggiunge un giorno e mezzo alla data.
L’espressione viene formattata come segue:
ADDDAYS(date, number)
Aggiunge il numero di giorni della settimana alla data. Questa espressione aggiunge alla data solo valori interi, con arrotondamento per difetto.
L’espressione viene formattata come segue:
ADDWEEKDAYS(date, number)
Aggiunge il numero di mesi alla data e viene formattato come segue:
ADDMONTHS(date, number)
Aggiunge il numero di anni alla data e viene formattato come segue:
ADDYEARS(date, number)
Cancella la porzione di ora di una data e viene formattata come segue. In questo esempio, la data corrisponde alla data di immissione di un oggetto di lavoro.
CLEARTIME({entryDate})
Converte una stringa in una data e viene formattata come segue:
DATE(string)
Restituisce il numero di giorni tra le due date, tenendo conto dei giorni di inizio e di fine del periodo selezionato e delle marche temporali in tali giorni. Ad esempio, se l’ora di inizio della data di inizio è le 15, il giorno di inizio non viene conteggiato come giorno intero.
L’espressione viene formattata come segue:
DATEDIFF(date1, date2)
Restituisce il giorno del mese per la data come numero, compreso tra 1 e 31.
L’espressione viene formattata come segue. In questo esempio, la data corrisponde alla data di immissione di un oggetto di lavoro.
DAYOFMONTH({entryDate})
Restituisce il giorno della settimana per la data come numero, compreso tra 1 (domenica) e 7 (sabato).
L’espressione viene formattata come segue. In questo esempio, la data corrisponde alla data di immissione di un oggetto di lavoro.
DAYOFWEEK({entryDate})
Restituisce il totale dei giorni del mese della data sotto forma di numero e viene formattato come segue. In questo esempio, la data corrisponde alla data di immissione di un oggetto di lavoro.
DAYSINMONTH({entryDate})
Restituisce il numero totale di giorni della settimana compresi tra la data e la fine della settimana oppure la fine del mese, a seconda di quale dei due eventi si verifichi per primo. In questo esempio, la data corrisponde alla data di immissione di un oggetto di lavoro.
L’espressione viene formattata come segue:
DAYSINSPLITWEEK({entryDate})
Restituisce il totale dei giorni dell’anno della data sotto forma di numero e viene formattato come segue. In questo esempio, la data corrisponde alla data di immissione di un oggetto di lavoro.
DAYSINYEAR({entryDate})
Restituisce la data più recente nell'elenco e viene formattato come segue:
DMAX(date1, date2, ...)
Restituisce la prima data dell'elenco e viene formattata come segue:
DMIN(date1, date2, ...)
Restituisce l’ora della data come numero compreso tra 0 e 23.
L’espressione viene formattata come segue. In questo esempio, la data corrisponde alla data di immissione di un oggetto di lavoro.
HOUR({entryDate})
Restituisce il minuto della data come numero compreso tra 0 e 60, formattato come segue. In questo esempio, la data corrisponde alla data di immissione di un oggetto di lavoro.
MINUTE({entryDate})
Restituisce il mese della data come numero compreso tra 1 e 12, formattato come segue. In questo esempio, la data corrisponde alla data di immissione di un oggetto di lavoro.
MONTH({entryDate})
Restituisce il secondo della data come numero compreso tra 0 e 60, formattato come segue. In questo esempio, la data corrisponde alla data di immissione di un oggetto di lavoro.
SECOND({entryDate})
Restituisce il numero di giorni feriali tra due date, tenendo conto dei giorni di inizio e di fine del periodo selezionato e delle marche temporali in tali giorni. Ad esempio, se l’ora di inizio della data di inizio è le 15.00, il giorno di inizio non verrà conteggiato come giorno intero.
L’espressione viene formattata come segue:
WEEKDAYDIFF(date2, date1)
Restituisce il numero di minuti programmati tra le date in base alla pianificazione predefinita.
L’espressione viene formattata come segue:
WORKMINUTESDIFF(date1, date2)
Restituisce l'anno della data come numero a 4 cifre, formattato come segue. In questo esempio, la data corrisponde alla data di immissione di un oggetto di lavoro.
YEAR({entryDate})
Campi personalizzati matematici calcolati mathematical-calculated-custom-fields
È possibile creare un campo personalizzato calcolato che utilizza alcune delle seguenti espressioni matematiche:
Restituisce il valore assoluto del numero ed è formattato come segue. In questo esempio viene utilizzato il numero di oggetti sotto l'oggetto a cui è allegato il modulo personalizzato.
ABS({numberOfChildren})
Restituisce la media dei numeri ed è formattato come segue:
AVERAGE(number1, number2, ...)
Arrotonda un numero per eccesso al numero intero più vicino e viene formattato come segue. In questo esempio viene utilizzato il numero di oggetti sotto l'oggetto a cui è allegato il modulo personalizzato.
CEIL({numberOfChildren})
Divide tutti i numeri nell’ordine indicato e viene formattato come segue:
DIV(number1, number2, ...)
Arrotonda un numero per difetto al numero intero più vicino e viene formattato come segue. In questo esempio viene utilizzato il numero di oggetti sotto l'oggetto a cui è allegato il modulo personalizzato.
FLOOR({numberOfChildren})
Restituisce il valore logaritmo naturale del numero ed è formattato come segue:
LN({numberOfChildren})
Restituisce il valore logaritmico numero2 al numero base 1 ed è formattato come segue:
LOG(number1, number2)
Restituisce l'elemento più grande dell'elenco e viene formattato come segue:
MAX(item1, item2, ...)
Restituisce l'elemento più piccolo dell'elenco e viene formattato come segue:
MIN(item1, item2, ...)
Converte una stringa in un numero e viene formattato come segue:
NUMBER(string)
Restituisce un numero elevato a potenza e viene formattato come segue:
POWER(number, power)
Moltiplica tutti i numeri e viene formattato come segue:
PROD(number1, number2, ....)
NOTA
Quando si moltiplicano i campi che contengono ore, verificare che il database salvi le ore nei campi selezionati in minuti, ore o secondi. Se le ore vengono salvate in minuti o secondi ma visualizzate in ore nell’interfaccia di Workfront, potrebbe essere necessario tenere conto della conversione da minuti o secondi a ore durante la scrittura di un’espressione utilizzando questo calcolo.
Arrotonda il numero per eccesso ai decimali di precisione specificati e viene formattato come segue:
ROUND(number, precision)
Ordina i numeri in ordine crescente e viene formattato come segue:
SORTASCNUM(number1,number2, ...)
Ordina i numeri in ordine decrescente e viene formattato come segue:
SORTDESCNUM(number1, number2, ...)
Restituisce una radice quadrata di un numero ed è formattata come segue. In questo esempio viene utilizzato il numero di oggetti sotto l'oggetto a cui è allegato il modulo personalizzato.
SQRT({numberOfChildren})
Sottrae tutti i numeri nell'ordine specificato e viene formattato come segue:
SUB(number1, number2, ...)
Somma tutti i numeri e viene formattato come segue:
SUM(number1, number2, ...)
Testo dei campi personalizzati calcolati text-calculated-custom-fields
È possibile creare un campo personalizzato calcolato che visualizzi un valore in formato testo utilizzando le seguenti espressioni:
Viene utilizzato con altre espressioni per scegliere un valore da un elenco in base a un numero di indice.
Un numero di indice è un campo o una funzione che restituisce un valore numerico (in genere in un intervallo noto).
L’espressione viene formattata come segue:
CASE(indexNumber, value1, value2, ...)
Ad esempio, l'espressione seguente restituisce il nome del giorno della settimana, dove 1=domenica, 2=lunedì e così via, in una colonna calcolata:
CASE(DAYOFWEEK({entryDate}),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
Si adatta meglio ad altre espressioni che restituiscono un numero, come DAYOFWEEK, DAYOFMONTH e MONTH.
Concatena la stringa e viene formattata come segue:
CONCAT(string1,"separator", string2)
Di seguito sono riportati alcuni esempi di separatori che è possibile includere:
- uno spazio: ""
- un trattino: "-"
- una barra: "/"
- una virgola: ","
- una parola: "or", "and"
Restituisce true se la stringa findText si trova all'interno della stringa withinText e viene formattata come segue:
CONTAINS(findText, withinText)
Evita qualsiasi carattere speciale nella stringa in modo che possa essere incluso in un argomento URL.
L’espressione viene formattata come segue:
ENCODEURL(string)
Valuta una condizione specificata e restituisce il valore di trueExpression se è true oppure il valore di falseExpression se è false.
L’espressione viene formattata come segue:
IF(condition, trueExpression, falseExpression)
Ad esempio, è possibile confrontare due diversi campi data seguiti da un risultato Vero/Falso come stringa di dati:
IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","On Track")
Nel discorso di tutti i giorni, questa istruzione significa: "SE la data di completamento prevista del mio oggetto è 'Maggiore di' la data di completamento pianificata del mio stesso oggetto, visualizza le parole 'Fuori pista' in questo campo; in caso contrario, visualizza le parole 'In pista'".
Se non si desidera etichettare le espressioni true o false, è necessario inserire un'etichetta vuota nell'istruzione, ad esempio:
IF({projectedCompletionDate}>{plannedCompletionDate},"","On Track")
Oppure
IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","")
Per ulteriori informazioni sulla compilazione delle istruzioni "IF", vedere Panoramica delle istruzioni "IF".
Consente di cercare un valore specifico in una stringa di valori possibili. Se il valore che si sta cercando è uguale a uno dei valori specificati, l'espressione restituisce trueExpression; in caso contrario, restituisce falseExpression.
L’espressione viene formattata come segue:
IFIN(value, value1, value2,..., trueExpression, falseExpression)
Ad esempio, puoi trovare un proprietario del progetto specifico e contrassegnare i progetti con un tag specificato in una vista del progetto:
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","Other Teams")
Nel discorso di tutti i giorni, questa dichiarazione significa: "Se il proprietario del progetto è Jennifer Campbell o Rick Kuvec, contrassegna questo progetto con "Team di marketing"; altrimenti, contrassegnalo con "Altri team"."
Se non si desidera etichettare le espressioni true o false, è necessario inserire un'etichetta vuota nell'istruzione, ad esempio:
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","","Other Teams")
Oppure
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","")
Restituisce true se il valore è uguale a uno dei valori specificati; in caso contrario, l'espressione restituisce false.
L’espressione viene formattata come segue:
IN(value, value1[, value2...])
Restituisce true se il valore è null o vuoto; in caso contrario, l'espressione restituisce false.
L’espressione viene formattata come segue:
ISBLANK(value)
Restituisce un numero specificato di caratteri dal lato sinistro di una stringa e viene formattato come segue:
LEFT(string, length)
Restituisce la lunghezza di una stringa e viene formattata come segue:
LEN(string)
Restituisce la stringa in minuscolo ed è formattata come segue:
LOWER(string)
Sostituisce tutte le occorrenze di stringa2 con stringa3 in stringa1.
L’espressione viene formattata come segue:
REPLACE(string1, string2, string3)
Restituisce un numero specificato di caratteri dal lato destro di una stringa e viene formattato come segue:
RIGHT(string, length)
Restituisce l'indice della prima occorrenza di findText nella stringa withinText, a partire dalla posizione iniziale specificata oppure -1 se il testo non viene trovato.
L’espressione viene formattata come segue:
SEARCH(findText, withinText, start)
Converte un numero in una stringa e viene formattato come segue:
STRING(number)
Ordina un elenco di stringhe in ordine crescente e viene formattato come segue:
SORTASCSTRING(string1, string2, ...)
Ordina un elenco di stringhe in ordine decrescente e viene formattato come segue:
SORTDESCSTRING(string1, string2, ...)
Restituisce i caratteri di una stringa in base all'indice iniziale e finale specificato e viene formattato come segue:
SUBSTR({string}, number of start position, number of end position)
Rimuove lo spazio vuoto dall'inizio e dalla fine di una stringa e viene formattato come segue:
TRIM(string)
Restituisce una stringa in maiuscolo ed è formattata come segue:
UPPER(string)