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 all’interno di istruzioni che generano un nuovo campo.
Puoi utilizzare le espressioni di dati calcolati in:
-
Un campo personalizzato calcolato in un modulo personalizzato
Per ulteriori informazioni sulla creazione di campi personalizzati calcolati nei moduli personalizzati in Workfront, consulta Aggiungere campi calcolati a un modulo.
-
Una colonna personalizzata calcolata in un rapporto o in un elenco quando utilizzi la modalità testo
Per ulteriori informazioni sull’utilizzo della modalità testo nei rapporti e nelle viste, consulta Panoramica della 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à, dovresti 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 rapporto, utilizza quanto segue per aggiungere una colonna personalizzata Nome progetto a un rapporto di attività:
valuefield=project:nameOppure
valueexpression={project}.{name}note tip TIP La stessa sintassi si applica a tutti gli elementi di reporting in modalità testo in cui vengono utilizzate le espressioni calcolate: viste, filtri, raggruppamenti, prompt.
Per ulteriori informazioni sulla sintassi da utilizzare in una colonna personalizzata calcolata, consulta Panoramica sulla modalità testo.
Espressioni di dati utilizzabili
Gli elenchi seguenti definiscono le espressioni disponibili da utilizzare per la creazione di uno dei 3 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 data od ora utilizzando le seguenti espressioni:
Aggiunge il numero di ore alla data. Il valore numerico può includere giorni parziali. Ad esempio, 1,5 aggiunge un giorno e mezzo alla data.
L’espressione è formattata nel modo seguente:
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 è formattata nel modo seguente:
ADDWEEKDAYS(date, number)
Aggiunge il numero di mesi alla data ed è formattata nel modo seguente:
ADDMONTHS(date, number)
Aggiunge il numero di anni alla data ed è formattata nel modo seguente:
ADDYEARS(date, number)
Aggiunge il numero di ore alla data ed è formattata nel modo seguente:
ADDHOUR(date, number)
Nota: questa espressione non è supportata in Pianificazione di Workfront.
Cancella la porzione di ora di una data ed è formattata nel modo seguente: In questo esempio, la data corrisponde alla data di inserimento di un oggetto di lavoro.
CLEARTIME({entryDate})
Converte una stringa in una data ed è formattata nel modo seguente:
DATE(string)
Restituisce il numero di giorni tra le due date, tenendo conto sia dei giorni di inizio e di fine del periodo selezionato e sia delle marche temporali in tali giorni. Ad esempio, se l’ora di inizio della data di inizio corrisponde alle 15:00, il giorno di inizio non sarà conteggiato come giorno intero.
L’espressione è formattata nel modo seguente:
DATEDIFF(date1, date2)
Restituisce il giorno del mese della data sotto forma di numero compreso tra 1 e 31.
L’espressione è formattata nel modo seguente: In questo esempio, la data corrisponde alla data di inserimento di un oggetto di lavoro.
DAYOFMONTH({entryDate})
Restituisce il giorno della settimana della data sotto forma di numero compreso tra 1 (domenica) e 7 (sabato).
L’espressione è formattata nel modo seguente: In questo esempio, la data corrisponde alla data di inserimento di un oggetto di lavoro.
DAYOFWEEK({entryDate})
Restituisce il totale dei giorni del mese della data sotto forma di numero ed è formattata nel modo seguente: In questo esempio, la data corrisponde alla data di inserimento di un oggetto di lavoro.
DAYSINMONTH({entryDate})
Restituisce il totale di giorni della settimana tra la data e la fine della settimana o la fine del mese, a seconda di quale delle due si verifichi prima. In questo esempio, la data corrisponde alla data di inserimento di un oggetto di lavoro.
L’espressione è formattata nel modo seguente:
DAYSINSPLITWEEK({entryDate})
Restituisce il totale dei giorni dell’anno della data sotto forma di numero ed è formattata nel modo seguente. In questo esempio, la data corrisponde alla data di inserimento di un oggetto di lavoro.
DAYSINYEAR({entryDate})
Restituisce la data più recente nell’elenco ed è formattata nel modo seguente:
DMAX(date1, date2, ...)
Restituisce la data meno recente dell’elenco ed è formattata nel modo seguente:
DMIN(date1, date2, ...)
Restituisce l’ora della data sotto forma di numero compreso tra 0 e 23.
L’espressione è formattata nel modo seguente: In questo esempio, la data corrisponde alla data di inserimento di un oggetto di lavoro.
HOUR({entryDate})
Restituisce il minuto della data sotto forma di numero compreso tra 0 e 60 ed è formattata nel modo seguente. In questo esempio, la data corrisponde alla data di inserimento di un oggetto di lavoro.
MINUTE({entryDate})
Restituisce il mese della data sotto forma di numero compreso tra 1 e 12 ed è formattata nel modo seguente. In questo esempio, la data corrisponde alla data di inserimento di un oggetto di lavoro.
MONTH({entryDate})
Restituisce il secondo della data sotto forma di numero compreso tra 0 e 60 ed è formattata nel modo seguente. In questo esempio, la data corrisponde alla data di inserimento di un oggetto di lavoro.
SECOND({entryDate})
Restituisce il numero di giorni della settimana tra le due date, tenendo conto sia dei giorni di inizio e di fine del periodo selezionato e sia delle marche temporali in tali giorni. Ad esempio, se l’ora di inizio della data di inizio corrisponde alle 15:00, il giorno di inizio non sarà conteggiato come giorno intero.
L’espressione è formattata nel modo seguente:
WEEKDAYDIFF(date2, date1)
Restituisce il numero di minuti pianificati tra due date secondo la pianificazione predefinita.
L’espressione è formattata nel modo seguente:
WORKMINUTESDIFF(date1, date2)
Restituisce l’anno della data sotto forma di numero a 4 cifre ed è formattata nel modo seguente. In questo esempio, la data corrisponde alla data di inserimento di un oggetto di lavoro.
YEAR({entryDate})
Campi personalizzati matematici calcolati mathematical-calculated-custom-fields
Puoi creare un campo personalizzato calcolato che utilizza alcune delle seguenti espressioni matematiche:
Restituisce il valore assoluto del numero ed è formattata nel modo seguente. In questo esempio viene utilizzato il numero di oggetti sotto l’oggetto a cui è associato il modulo personalizzato.
ABS({numberOfChildren})
Restituisce la media dei numeri ed è formattata nel modo seguente:
AVERAGE(number1, number2, ...)
Arrotonda un numero per eccesso al numero intero più vicino ed è formattata nel modo seguente. In questo esempio viene utilizzato il numero di oggetti sotto l’oggetto a cui è associato il modulo personalizzato.
CEIL({numberOfChildren})
Divide tutti i numeri nell’ordine indicato ed è formattata nel modo seguente:
DIV(number1, number2, ...)
Arrotonda un numero per difetto al numero intero più vicino ed è formattata nel modo seguente. In questo esempio viene utilizzato il numero di oggetti sotto l’oggetto a cui è associato il modulo personalizzato.
FLOOR({numberOfChildren})
Restituisce il valore del logaritmo naturale del numero ed è formattata nel modo seguente:
LN({numberOfChildren})
Restituisce il valore del logaritmo di number2 in base a number1 ed è formattata nel modo seguente:
LOG(number1, number2)
Restituisce l’elemento più grande dell’elenco ed è formattata nel modo seguente:
MAX(item1, item2, ...)
Restituisce l’elemento più piccolo dell’elenco ed è formattata nel modo seguente:
MIN(item1, item2, ...)
Converte una stringa in un numero ed è formattata nel modo seguente:
NUMBER(string)
Restituisce un numero elevato a potenza ed è formattata nel modo seguente:
POWER(number, power)
Moltiplica tutti i numeri ed è formattata nel modo seguente:
PROD(number1, number2, ....)
NOTA
Quando moltiplichi i campi che contengono ore, verifica 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 alla precisione di decimali specificata ed è formattata nel modo seguente:
ROUND(number, precision)
Ordina i numeri in ordine crescente ed è formattata nel modo seguente:
SORTASCNUM(number1,number2, ...)
Ordina i numeri in ordine decrescente ed è formattata nel modo seguente:
SORTDESCNUM(number1, number2, ...)
Restituisce la radice quadrata di un numero ed è formattata nel modo seguente: In questo esempio viene utilizzato il numero di oggetti sotto l’oggetto a cui è associato il modulo personalizzato.
SQRT({numberOfChildren})
Sottrae tutti i numeri nell’ordine fornito ed è formattata nel modo seguente:
SUB(number1, number2, ...)
Somma tutti i numeri ed è formattata nel modo seguente:
SUM(number1, number2, ...)
Campi personalizzati calcolati di tipo testo text-calculated-custom-fields
Puoi creare un campo personalizzato calcolato che mostri un valore in formato testo utilizzando le seguenti espressioni:
Converte una stringa in un array. Il delimitatore può essere una qualsiasi stringa.
L’espressione è formattata nel modo seguente:
ARRAY(string1, "delimiter")
Cerca un valore specifico in un elenco o array. Se il valore viene trovato, la funzione restituisce True, altrimenti restituisce False.
L’espressione è formattata nel modo seguente:
ARRAYCONTAINS(array, value)
Restituisce il numero di elementi nell’array ed è formattata nel modo seguente:
ARRAYLENGTH(array)
Restituisce l’elemento al numero specificato nell’array. Se l’indice è fuori dai limiti, lo restituisce vuoto.
L’espressione è formattata nel modo seguente:
ARRAYELEMENT(array, number)
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 è formattata nel modo seguente:
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")
Funziona meglio con altre espressioni che restituiscono un numero, come DAYOFWEEK, DAYOFMONTH e MONTH.
Concatena la stringa ed è formattata nel modo seguente:
CONCAT(string1,"separator", string2)
Di seguito sono riportati alcuni esempi di separatori che puoi includere:
- uno spazio: “ ”
- un trattino: “-”
- una barra: “/”
- una virgola: “,”
- una parola: “or”, “and”
Restituisce True se la stringa findText viene trovata all’interno della stringa withinText ed è formattata nel modo seguente:
CONTAINS(findText, withinText)
Applica l’escape di tutti i caratteri speciali della stringa in modo che possano essere inclusi in un argomento URL.
L’espressione è formattata nel modo seguente:
ENCODEURL(string)
Restituisce il testo formattato. Con FORMAT sono consentite solo le opzioni dei parametri elencate qui.
Le opzioni colore sono $$POSITIVE, $$INFORMATIVE, $$NEGATIVE, $$NOTICE e le altre opzioni di formattazione sono $$BOLD, $$ITALIC, $$UNDERLINE. È consentita una sola opzione colore, insieme a un massimo di tre altre opzioni di formattazione. Se non viene specificata alcuna opzione colore, viene applicato il colore predefinito del sistema.
L’espressione è formattata nel modo seguente:
FORMAT($$POSITIVE, $$BOLD, $$ITALIC)
Nota: questa espressione non è supportata in Pianificazione di Workfront.
Valuta una condizione specificata e restituisce il valore di trueExpression se è true oppure il valore di falseExpression se è false.
L’espressione è formattata nel modo seguente:
IF(condition, trueExpression, falseExpression)
Ad esempio, puoi confrontare due diversi campi data seguiti da un risultato True/False come stringa di dati:
IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","On Track")
Nel linguaggio colloquiale, questa istruzione significa: “SE la data di completamento prevista del mio oggetto è ‘Successiva a’ la data di completamento pianificata del mio stesso oggetto, allora mostra le parole ‘In ritardo’ in questo campo; in caso contrario, mostra le parole ‘In linea con la pianificazione’”.
Se non desideri 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 creazione delle istruzioni “IF”, consulta Panoramica delle istruzioni “IF”.
Consente di cercare un valore specifico in una stringa di valori possibili. Se il valore che stai cercando è uguale a uno dei valori specificati, l’espressione restituisce trueExpression; in caso contrario, restituisce falseExpression.
L’espressione è formattata nel modo seguente:
IFIN(value, value1, value2,..., trueExpression, falseExpression)
Ad esempio, puoi trovare un proprietario del progetto specifico e contrassegnare tali progetti con un tag specificato in una vista di progetto:
IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","Other Teams")
Nel linguaggio colloquiale, 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 desideri 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 è formattata nel modo seguente:
IN(value, value1[, value2...])
Restituisce true se il valore è null o vuoto; in caso contrario, l’espressione restituisce false.
L’espressione è formattata nel modo seguente:
ISBLANK(value)
Restituisce un numero specificato di caratteri dalla parte sinistra di una stringa ed è formattata nel modo seguente:
LEFT(string, length)
Restituisce la lunghezza di una stringa ed è formattata nel modo seguente:
LEN(string)
Restituisce la stringa in minuscolo ed è formattata nel modo seguente:
LOWER(string)
Converte la stringa di input in PascalCase trasformando in maiuscolo la prima lettera di ciascuna parola e rimuovendo tutti gli spazi.
L’espressione è formattata nel modo seguente:
PASCAL(string)
Ad esempio, “hello world” diventa “HelloWorld”
Rimuove i segni diacritici da tutti i caratteri accentati nella stringa di input.
L’espressione è formattata nel modo seguente:
REMOVEACCENTS(string)
Ad esempio, “Héllo wörld con àccénti” diventa “Hello world con accenti”.
Sostituisce tutte le occorrenze di stringa2 con stringa3 nella stringa1.
L’espressione è formattata nel modo seguente:
REPLACE(string1, string2, string3)
Sostituisce le corrispondenze del pattern specificato con la stringa di sostituzione.
L’espressione è formattata nel modo seguente:
REPLACEPATTERN (string, pattern, replacement string)
Ad esempio, REPLACEPATTERN("foo123bar", "\d+", "_") genera la stringa “foo_bar”.
Restituisce un numero specificato di caratteri dalla parte destra di una stringa ed è formattata nel modo seguente:
RIGHT(string, length)
Restituisce l’indice della prima occorrenza di findText nella stringa withinText, a partire dalla posizione di avvio specificata o -1 se il testo non viene trovato.
L’espressione è formattata nel modo seguente:
SEARCH(findText, withinText, start)
Ordina gli elementi dell’array in ordine crescente e li converte nel tipo del primo elemento.
L’espressione è formattata nel modo seguente:
SORTASCARRAY(array)
Ad esempio, [“-12,6”, -13,0] diventa [“-12,6”, “-13”].
Nota: questa espressione non è supportata in Pianificazione di Workfront.
Ordina gli elementi dell’array in ordine decrescente e li converte nel tipo del primo elemento.
L’espressione è formattata nel modo seguente:
SORTDESCARRAY(array)
Ad esempio, [“-12,6”, -13,0] diventa [“-13”, “-12,6”].
Nota: questa espressione non è supportata in Pianificazione di Workfront.
Converte un numero in una stringa ed è formattata come segue:nel modo seguente:
STRING(number)
Ordina un elenco di stringhe in ordine crescente ed è formattata come segue:nel modo seguente:
SORTASCSTRING(string1, string2, ...)
Ordina un elenco di stringhe in ordine decrescente ed è formattata come segue:nel modo seguente:
SORTDESCSTRING(string1, string2, ...)
Restituisce i caratteri di una stringa in base all’indice iniziale e finale specificato ed è formattata come segue:nel modo seguente:
SUBSTR({string}, number of start position, number of end position)
Valuta l’espressione rispetto a un elenco di valori e restituisce il risultato che corrisponde al primo valore corrispondente.
L’espressione è formattata nel modo sguente:
SWITCH(expression, value1, result1, [value2, result2], ...)
Questa espressione non è supportata in Pianificazione di Workfront.
Rimuove lo spazio vuoto dall’inizio e dalla fine di una stringa ed è formattata nel modo seguente:
TRIM(string)
Restituisce una stringa in maiuscolo ed è formattata nel modo seguente:
UPPER(string)