Visão geral das expressões de dados calculadas

Você pode usar expressões de dados para definir campos personalizados calculados no Adobe Workfront. As expressões calculadas conectam campos existentes do Workfront em instruções que geram um novo campo.

Você pode usar expressões de dados calculados em:

  • Um campo personalizado calculado em um formulário personalizado

    Para obter mais informações sobre como criar campos personalizados calculados em formulários personalizados no Workfront, consulte Adicionar campos calculados a um formulário.

  • Uma coluna personalizada calculada em um relatório ou lista, quando você usa o modo de texto

    Para obter mais informações sobre como usar o modo de texto em relatórios e visualizações, consulte Visão geral do modo de texto.

Sintaxe dos campos personalizados calculados vs. colunas personalizadas calculadas

Embora as funções utilizadas sejam as mesmas, a sintaxe para criar uma expressão em um campo personalizado calculado pode ser diferente daquela utilizada para criar uma coluna personalizada calculada.

As diferenças entre as duas sintaxes são:

Campo personalizado calculado
Elemento de relatório personalizado calculado
Coloque os nomes dos campos entre chaves

Não coloque nomes de campos entre colchetes ou parênteses ao usá-los em uma

valuefield

linha.

Coloque os nomes dos campos entre chaves quando os utilizar em uma

valueexpression

linha.

Separe os campos por pontos

Separe os campos por dois pontos ao usá-los em uma

valuefield

linha

Separe os campos por pontos ao usá-los em uma

valueexpression

linha.

Por exemplo:

  • Em um campo personalizado, em um formulário personalizado para tarefas, você usaria o seguinte para gerar o nome do projeto principal da tarefa à qual o formulário personalizado está anexado:

    {project}.{name}

  • Em uma coluna personalizada em um relatório, você usaria o seguinte para adicionar uma coluna personalizada “Nome do projeto” em um relatório de tarefas:

    valuefield=project:name

    Ou

    valueexpression={project}.{name}

    note tip
    TIP
    A mesma sintaxe se aplica a todos os elementos de relatório em modo de texto onde são utilizadas expressões calculadas: visualizações, filtros, agrupamentos, prompts.

Para obter mais informações sobre a sintaxe que você deve usar em uma coluna personalizada calculada, consulte Visão geral do modo de texto.

Expressões de dados que você pode usar

As listas abaixo definem as expressões disponíveis que você pode usar ao criar um dos 3 tipos diferentes de campos personalizados calculados no Workfront:

Você pode usar as expressões listadas abaixo para criar colunas personalizadas calculadas. No entanto, você deve usar a sintaxe correta para uma coluna personalizada calculada, conforme descrito na seção Sintaxe de campos personalizados calculados vs. colunas personalizadas calculadas neste artigo.

Campos personalizados calculados de data e hora date-time-calculated-custom-fields

NOTE
Se você criar um cálculo de data e hora que não inclua uma parte de hora ou que use os curingas de data $$TODAY ou $$NOW, o sistema usará a data de acordo com o fuso horário do Tempo Universal Coordenado (UTC), e não de acordo com o seu fuso horário local. Isso pode causar um resultado inesperado na data.

Você pode criar um campo personalizado calculado de data ou hora usando as seguintes expressões:

Expressão
Explicação e exemplo
ADDDAYS

Adiciona o número de dias à data. O valor numérico pode incluir dias parciais. Por exemplo, 1,5 adiciona um dia e meio à data.

A expressão é formatada da seguinte maneira:

ADDDAYS(date, number)

ADDWEEKDAYS

Adiciona o número de dias úteis à data. Esta expressão apenas adiciona valores inteiros à data, arredondando para baixo.

A expressão é formatada da seguinte maneira:

ADDWEEKDAYS(date, number)

ADDMONTHS

Adiciona o número de meses à data e é formatado da seguinte forma:

ADDMONTHS(date, number)

ADDYEARS

Adiciona o número de anos à data e é formatado da seguinte forma:

ADDYEARS(date, number)

ADDHOURS

Adiciona o número de horas à data e é formatado da seguinte forma:

ADDHOUR(date, number)

Observação: esta expressão não é compatível com o Workfront Planning.

CLEARTIME

Apaga a parte da hora de uma data e é formatado da seguinte forma. Neste exemplo, a data é a data de entrada de um objeto de trabalho.

CLEARTIME({entryDate})

DATE

Converte uma string em uma data e é formatada da seguinte maneira:

DATE(string)

DATEDIFF

Retorna o número de dias entre as duas datas, levando em consideração os dias de início e fim do período selecionado, bem como os registros de data e hora desses dias. Por exemplo, se a hora de início da data inicial for 15h, o dia de início não é contado como um dia inteiro.

A expressão é formatada da seguinte maneira:

DATEDIFF(date1, date2)

DAYOFMONTH

Retorna o dia do mês da data como um número, entre 1 e 31.

A expressão é formatada da seguinte maneira. Neste exemplo, a data é a data de entrada de um objeto de trabalho.

DAYOFMONTH({entryDate})

DAYOFWEEK

Retorna o dia da semana para a data como um número, entre 1 (domingo) e 7 (sábado).

A expressão é formatada da seguinte maneira. Neste exemplo, a data é a data de entrada de um objeto de trabalho.

DAYOFWEEK({entryDate})

DAYSINMONTH

Retorna o total de dias no mês da data como um número e é formatado da seguinte maneira. Neste exemplo, a data é a data de entrada de um objeto de trabalho.

DAYSINMONTH({entryDate})

DAYSINSPLITWEEK

Retorna o total de dias úteis entre a data e o final da semana ou o final do mês, o que ocorrer primeiro. Neste exemplo, a data é a data de entrada de um objeto de trabalho.

A expressão é formatada da seguinte maneira:

DAYSINSPLITWEEK({entryDate})

DAYSINYEAR

Retorna o total de dias no ano da data como um número e é formatado da seguinte maneira. Neste exemplo, a data é a data de entrada de um objeto de trabalho.

DAYSINYEAR({entryDate})

DMAX

Retorna a data mais recente da lista e é formatada da seguinte maneira:

DMAX(date1, date2, ...)

DMIN

Retorna a data mais antiga da lista e é formatada da seguinte maneira:

DMIN(date1, date2, ...)

HOUR

Retorna a hora da data como um número entre 0 e 23.

A expressão é formatada da seguinte maneira. Neste exemplo, a data é a data de entrada de um objeto de trabalho.

HOUR({entryDate})

MINUTE

Retorna o minuto da data como um número entre 0 e 60, formatado da seguinte maneira. Neste exemplo, a data é a data de entrada de um objeto de trabalho.

MINUTE({entryDate})

MONTH

Retorna o mês da data como um número entre 1 e 12, formatado da seguinte maneira. Neste exemplo, a data é a data de entrada de um objeto de trabalho.

MONTH({entryDate})

SECOND

Retorna o segundo da data como um número entre 0 e 60, formatado da seguinte maneira. Neste exemplo, a data é a data de entrada de um objeto de trabalho.

SECOND({entryDate})

WEEKDAYDIFF

Retorna o número de dias úteis entre duas datas, levando em consideração os dias de início e fim do período selecionado, bem como os registros de data e hora desses dias. Por exemplo, se a hora de início da data inicial for 15h, o dia de início não será contado como um dia inteiro.

A expressão é formatada da seguinte maneira:

WEEKDAYDIFF(date2, date1)

WORKMINUTESDIFF

Retorna o número de minutos programados entre as datas de acordo com o cronograma padrão.

A expressão é formatada da seguinte maneira:

WORKMINUTESDIFF(date1, date2)

YEAR

Retorna o ano da data como um número de 4 dígitos, formatado da seguinte maneira. Neste exemplo, a data é a data de entrada de um objeto de trabalho.

YEAR({entryDate})

Campos personalizados calculados matemáticos mathematical-calculated-custom-fields

Você pode criar um campo personalizado calculado que utilize algumas das seguintes expressões matemáticas:

Expressão
Explicação
ABS

Retorna o valor absoluto do número e é formatado da seguinte maneira. Este exemplo usa o número de objetos abaixo do objeto ao qual o formulário personalizado está anexado.

ABS({numberOfChildren})

AVERAGE

Retorna a média dos números e é formatado da seguinte forma:

AVERAGE(number1, number2, ...)

CEIL

Arredonda para cima um número inteiro para o mais próximo e é formatado da seguinte maneira. Este exemplo usa o número de objetos abaixo do objeto ao qual o formulário personalizado está anexado.

CEIL({numberOfChildren})

DIV

Divide todos os números na ordem fornecida e é formatado da seguinte forma:

DIV(number1, number2, ...)

FLOOR

Arredonda para baixo um número inteiro para o mais próximo e é formatado da seguinte maneira. Este exemplo usa o número de objetos abaixo do objeto ao qual o formulário personalizado está anexado.

FLOOR({numberOfChildren})

LN

Retorna o valor do logaritmo natural do número e é formatado da seguinte maneira:

LN({numberOfChildren})

LOG

Retorna o valor logarítmico de número2 na base número1 e é formatado da seguinte maneira:

LOG(number1, number2)

MAX

Retorna o maior item da lista e é formatado da seguinte maneira:

MAX(item1, item2, ...)

MIN

Retorna o menor item da lista e é formatado da seguinte maneira:

MIN(item1, item2, ...)

NUMBER

Converte uma string em um número e é formatado da seguinte maneira:

NUMBER(string)

POWER

Retorna um número elevado a uma potência e é formatado da seguinte maneira:

POWER(number, power)

PROD

Multiplica todos os números e é formatado da seguinte forma:

PROD(number1, number2, ....)

NOTA

Ao multiplicar campos que contêm horas, certifique-se de compreender se o banco de dados salva as horas nos campos selecionados em minutos, horas ou segundos. Se as horas forem salvas em minutos ou segundos, mas exibidas em horas na interface do Workfront, talvez seja necessário levar em conta a conversão de minutos ou segundos para horas ao escrever uma expressão usando esse cálculo.

ROUND

Arredonda para cima um número para a quantidade de casas decimais especificadas e é formatado da seguinte forma:

ROUND(number, precision)

SORTASCNUM

Ordena os números em ordem crescente e é formatado da seguinte forma:

SORTASCNUM(number1,number2, ...)

SORTDESCNUM

Ordena os números em ordem decrescente e é formatado da seguinte forma:

SORTDESCNUM(number1, number2, ...)

SQRT

Retorna a raiz quadrada de um número e é formatado da seguinte maneira. Este exemplo usa o número de objetos abaixo do objeto ao qual o formulário personalizado está anexado.

SQRT({numberOfChildren})

SUB

Subtrai todos os números na ordem fornecida e é formatado da seguinte forma:

SUB(number1, number2, ...)

SUM

Soma todos os números e é formatado da seguinte maneira:

SUM(number1, number2, ...)

Campos personalizados calculados em texto text-calculated-custom-fields

Você pode criar um campo personalizado calculado que exiba um valor formatado como texto usando as seguintes expressões:

Expressão
Explicação
ARRAY

Converte uma string em uma matriz. O delimitador pode ser qualquer string.

A expressão é formatada da seguinte maneira:

ARRAY(string1, "delimiter")

ARRAYCONTAINS

Procura um valor específico em uma lista ou matriz. Se o valor for encontrado, a função retorna Verdadeiro, caso contrário, retorna Falso.

A expressão é formatada da seguinte maneira:

ARRAYCONTAINS(array, value)

ARRAYLENGTH

Retorna o número de elementos na matriz e é formatado da seguinte maneira:

ARRAYLENGTH(array)

ARRAYELEMENT

Retorna o elemento no número especificado na matriz. Se o índice estiver fora dos limites, ele retornará vazio.

A expressão é formatada da seguinte maneira:

ARRAYELEMENT(array, number)

CASE

É usado com outras expressões para escolher um valor de uma lista, com base em um número de índice.

Um número de índice é um campo ou função que retorna um valor numérico (geralmente em um intervalo conhecido).

A expressão é formatada da seguinte maneira:

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

Por exemplo, a expressão a seguir retorna o nome do dia da semana, onde 1 = domingo, 2 = segunda-feira e assim por diante, em uma coluna calculada:

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

Funciona melhor com outras expressões que retornam um número, como DAYOFWEEK, DAYOFMONTH e MONTH.

CONCAT

Concatena a string e é formatada da seguinte maneira:

CONCAT(string1,"separator", string2)

A seguir estão alguns exemplos de separadores que você pode incluir:

  • um espaço: " "
  • um traço: "-"
  • uma barra: "/"
  • uma vírgula: ","
  • uma palavra: "ou", "e"
CONTAINS

Retorna verdadeiro se a string findText for encontrada dentro da string withinText e estiver formatada da seguinte maneira:

CONTAINS(findText, withinText)

ENCODEURL

Escapa quaisquer caracteres especiais na string para que possam ser incluídos em um argumento de URL.

A expressão é formatada da seguinte maneira:

ENCODEURL(string)

FORMAT

Retorna o texto formatado. Apenas as opções de parâmetros listadas aqui são permitidas com FORMAT.

As opções de cor são $$POSITIVE, $$INFORMATIVE, $$NEGATIVE, $$NOTICE e as outras opções de formatação são $$BOLD, $$ITALIC, $$UNDERLINE. É permitida apenas uma opção de cor, juntamente com até três outras opções de formatação. Se nenhuma opção de cor for especificada, a cor padrão do sistema será aplicada.

A expressão é formatada da seguinte maneira:

FORMAT($$POSITIVE, $$BOLD, $$ITALIC)

Observação: esta expressão não é compatível com o Workfront Planning.

IF

Avalia uma condição especificada e retorna o valor da trueExpression se ela for verdadeira, ou o valor da falseExpression se ela for falsa.

A expressão é formatada da seguinte maneira:

IF(condition, trueExpression, falseExpression)

Por exemplo, você pode comparar dois campos de data diferentes seguidos por um resultado Verdadeiro/Falso como uma string de dados:

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

Na linguagem cotidiana, essa afirmação significa: “SE a data de conclusão prevista do meu objeto for ‘maior que’ a data de conclusão planejada do mesmo objeto, exiba as palavras ‘Fora do prazo’ neste campo; caso contrário, exiba as palavras ‘Dentro do prazo’”.

Se você não quiser rotular as expressões verdadeiras ou falsas, deve inserir um rótulo em branco em sua declaração, como:

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

Ou

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

Para obter mais informações sobre como criar instruções “IF”, consulte Visão geral das instruções “IF”.

IFIN

Permite procurar um valor específico em uma string de valores possíveis. Se o valor que você está procurando for igual a um dos valores fornecidos, a expressão retornará a trueExpression; caso contrário, retornará a falseExpression.

A expressão é formatada da seguinte maneira:

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

Por exemplo, você pode encontrar um proprietário de projeto específico e marcar esses projetos com uma etiqueta específica em uma exibição de projeto:

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

Na linguagem cotidiana, essa afirmação significa: “Se o proprietário do projeto for Jennifer Campbell ou Rick Kuvec, marque este projeto com ‘Equipe de Marketing’; caso contrário, marque-o com ‘Outras equipes’.”

Se você não quiser rotular as expressões verdadeiras ou falsas, deve inserir um rótulo em branco em sua declaração, como:

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

Ou

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

IN

Retorna verdadeiro se o valor for igual a um dos valores fornecidos; caso contrário, a expressão retorna falso.

A expressão é formatada da seguinte maneira:

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

ISBLANK

Retorna verdadeiro se o valor for nulo ou em branco; caso contrário, a expressão retorna falso.

A expressão é formatada da seguinte maneira:

ISBLANK(value)

LEFT

Retorna um número especificado de caracteres do lado esquerdo de uma string e é formatado da seguinte maneira:

LEFT(string, length)

LEN

Retorna o comprimento de uma string e é formatado da seguinte maneira:

LEN(string)

LOWER

Retorna a string em minúsculas e formatada da seguinte maneira:

LOWER(string)

PASCAL

Converte a string de entrada para PascalCase, colocando em maiúscula a primeira letra de cada palavra e removendo todos os espaços.

A expressão é formatada da seguinte maneira:

PASCAL(string)

Por exemplo, “olá mundo” se torna “OláMundo”

REMOVEACCENTS

Remove os sinais diacríticos de todos os caracteres acentuados na string de entrada.

A expressão é formatada da seguinte maneira:

REMOVEACCENTS(string)

Por exemplo, “Olá mündó com àcentós” torna-se “Ola mundo com acentos”.

REPLACE

Substitui todas as ocorrências de string2 por string3 em string1.

A expressão é formatada da seguinte maneira:

REPLACE(string1, string2, string3)

REPLACEPATTERN

Substitui as correspondências do padrão fornecido pela string de substituição.

A expressão é formatada da seguinte maneira:

REPLACEPATTERN (string, pattern, replacement string)

Por exemplo, REPLACEPATTERN("foo123bar", "\d+", "_") gera a string “foo_bar”.

RIGHT

Retorna um número especificado de caracteres do lado direito de uma string e é formatado da seguinte maneira:

RIGHT(string, length)

SEARCH

Retorna o índice da primeira ocorrência de findText na string withinText, começando na posição inicial especificada, ou –1 se o texto não for encontrado.

A expressão é formatada da seguinte maneira:

SEARCH(findText, withinText, start)

SORTASCARRAY

Ordena os elementos da matriz em ordem crescente e os converte para o tipo do primeiro elemento.

A expressão é formatada da seguinte maneira:

SORTASCARRAY(array)

Por exemplo, ["–12,6", –13,0] torna-se ["–12,6", "–13"].

Observação: esta expressão não é compatível com o Workfront Planning.

SORTDESCARRAY

Ordena os elementos da matriz em ordem decrescente e os converte para o tipo do primeiro elemento.

A expressão é formatada da seguinte maneira:

SORTDESCARRAY(array)

Por exemplo, ["–12,6", –13,0] torna-se ["–13", "–12.6"].

Observação: esta expressão não é compatível com o Workfront Planning.

STRING

Converte um número em uma string e é formatado da seguinte maneira:

STRING(number)

SORTASCSTRING

Classifica uma lista de strings em ordem crescente e é formatada da seguinte maneira:

SORTASCSTRING(string1, string2, ...)

SORTDESCSTRING

Classifica uma lista de strings em ordem decrescente e é formatada da seguinte maneira:

SORTDESCSTRING(string1, string2, ...)

SUBSTR

Retorna caracteres de uma string com base no índice inicial e final especificado e é formatado da seguinte maneira:

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

SWITCH

Avalia a expressão em contraste com uma lista de valores e retorna o resultado equivalente ao primeiro valor correspondente.

A expressão é formatada da seguinte forma:

SWITCH(expression, value1, result1, [value2, result2], ...)

Esta expressão não é suportada no Workfront Planning.

TRIM

Remove os espaços em branco do início e do final de uma string e é formatado da seguinte maneira:

TRIM(string)

UPPER

Retorna uma string em maiúsculas e é formatada da seguinte maneira:

UPPER(string)

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