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, ao usar o modo de texto

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

Sintaxe de campos personalizados calculados versus colunas personalizadas calculadas

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

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

Campo personalizado calculado
Elemento de relatório personalizado calculado
Colocar nomes de campo entre chaves

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

valuefield

linha.

Coloque os nomes de campo entre chaves ao usá-los em uma

valueexpression

linha.

Separar os campos por períodos

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 tarefa:

    valuefield=project:name

    Ou

    valueexpression={project}.{name}

    note tip
    TIP
    A mesma sintaxe se aplica a todos os elementos de relatório de modo de texto nos quais as expressões calculadas são usadas: exibições, filtros, agrupamentos, prompts.

Para obter mais informações sobre a sintaxe que deve ser usada 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 podem ser usadas ao criar um dos três diferentes tipos 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 versus colunas personalizadas calculadas deste 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 do tempo ou que use os curingas de data $$TODAY ou $$NOW, o sistema usará a data de acordo com o fuso horário Coordenado Universal Time (UTC), não de acordo com o fuso horário local. Isso pode causar um resultado inesperado de 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 do número pode incluir dias parciais. Por exemplo, 1.5 adiciona um dia e meio à data.

A expressão é formatada da seguinte maneira:

ADDDAYS(date, number)

ADICIONARDIASDASEMANA

Adiciona o número de dias da semana à data. Essa expressão só 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 maneira:

ADDMONTHS(date, number)

ANOSSUPLEMENTARES

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

ADDYEARS(date, number)

CLEARTIME

Limpa a parte de tempo de uma data e é formatada da seguinte maneira. Neste exemplo, a data é a Data de Entrada para um objeto de trabalho.

CLEARTIME({entryDate})

DATA

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

DATE(string)

DIFERENÇA

Retorna o número de dias entre as duas datas, levando em conta os dias de início e término do período selecionado, bem como os carimbos de data/hora nesses dias. Por exemplo, se a hora de início da data de início for 15h, o dia de início não será 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 para um objeto de trabalho.

DAYOFMONTH({entryDate})

DAYOFWEEK

Retorna o dia da semana da 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 para 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 para um objeto de trabalho.

DAYSINMONTH({entryDate})

DAYSINSPLITWEEK

Retorna o total de dias da semana entre a data informada e o fim da semana, ou o fim do mês, o qual vier primeiro. Neste exemplo, a data é a Data de Entrada para 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 para um objeto de trabalho.

DAYSINYEAR({entryDate})

DMAX

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

DMAX(date1, date2, ...)

DMIN

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

DMIN(date1, date2, ...)

HORA

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 para um objeto de trabalho.

HOUR({entryDate})

MINUTO

Retorna os minutos da data como um número entre 0 e 60, formatado da seguinte maneira: Neste exemplo, a data é a Data de Entrada para um objeto de trabalho.

MINUTE({entryDate})

MÊS

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 para um objeto de trabalho.

MONTH({entryDate})

SEGUNDO

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 para um objeto de trabalho.

SECOND({entryDate})

DIFERENÇADIASEMANA

Retorna o número de dias da semana entre duas datas, levando em conta os dias de início e término do período selecionado, bem como os carimbos de data/hora nesses dias. Por exemplo, se a hora de início da data de início 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 agendados entre as datas de acordo com o agendamento padrão.

A expressão é formatada da seguinte maneira:

WORKMINUTESDIFF(date1, date2)

ANO

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 para um objeto de trabalho.

YEAR({entryDate})

Campos personalizados matematicamente calculados mathematical-calculated-custom-fields

Você pode criar um campo personalizado calculado que use 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})

MÉDIA

Retorna a média dos números e é formatada da seguinte maneira:

AVERAGE(number1, number2, ...)

CEIL

Arredonda um número para o próximo inteiro imediatamente acima 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 maneira:

DIV(number1, number2, ...)

ANDAR

Arredonda um número para o próximo inteiro imediatamente abaixo 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 logaritmo natural do número e é formatado da seguinte maneira:

LN({numberOfChildren})

LOG

Retorna o logaritmo do número2 com base no 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, ...)

NÚMERO

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

NUMBER(string)

POTÊNCIA

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

POWER(number, power)

PRODUÇÃO

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

PROD(number1, number2, ....)

Nota

Ao multiplicar campos que contêm horas, certifique-se de que você entende 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 forem exibidas em horas na interface do Workfront, talvez seja necessário considerar a conversão de minutos ou segundos em horas ao gravar uma expressão usando esse cálculo.

ROUND

Arredonda o número para cima de acordo com a precisão de casas decimais especificada e é formatado da seguinte maneira:

ROUND(number, precision)

SORTASCNUM

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

SORTASCNUM(number1,number2, ...)

SORTDESCNUM

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

SORTDESCNUM(number1, number2, ...)

SQRT

Retorna a raiz quadrada de um número e é formatada 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 maneira:

SUB(number1, number2, ...)

SOMA

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

SUM(number1, number2, ...)

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

É possível criar um campo personalizado calculado que exiba um valor de formato de texto usando as seguintes expressões:

Expressão
Explicação
CASO

É usado com outras expressões para escolher um valor em 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, em que 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)

Veja a seguir exemplos de separadores que podem ser incluídos:

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

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 eles possam ser incluídos em um argumento de URL.

A expressão é formatada da seguinte maneira:

ENCODEURL(string)

SE

Avalia uma condição especificada e retorna o valor da expressãoVerdadeira se for verdadeira, ou o valor da expressãoFalsa se 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 declaração significa: "Se a Data de conclusão projetada do meu objeto for 'Maior que' a Data de conclusão planejada do meu mesmo objeto, exiba as palavras 'Fora do rastreamento' neste campo; caso contrário, exiba as palavras 'No rastreamento'".

Se não quiser rotular as expressões true ou false, insira um rótulo em branco na instrução, como:

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

Ou

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

Para obter mais informações sobre a compilação de instruções "IF", consulte a 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á trueExpression; caso contrário, retornará falseExpression.

A expressão é formatada da seguinte maneira:

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

Por exemplo, você pode encontrar um Proprietário do projeto específico e marcar esses projetos com uma tag especificada em uma exibição de projeto:

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

No discurso diário, essa declaração significa: "Se o Proprietário do Projeto é Jennifer Campbell ou Rick Kuvec, marque este projeto com 'Equipe de Marketing'; caso contrário, marque-o com 'Outras Equipes'."

Se não quiser rotular as expressões true ou false, insira um rótulo em branco na instrução, como:

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

Ou

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

EM

Retornará true se o valor for igual a um dos valores fornecidos; caso contrário, a expressão retornará false.

A expressão é formatada da seguinte maneira:

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

ISBLANK

Retornará true se o valor for nulo ou vazio; caso contrário, a expressão retornará false.

A expressão é formatada da seguinte maneira:

ISBLANK(value)

ESQUERDA

Retorna o número especificado de caracteres da parte esquerda de uma cadeia de caracteres e é formatado da seguinte maneira:

LEFT(string, length)

LEN

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

LEN(string)

INFERIOR

Retorna a cadeia de caracteres em minúsculas e é formatada da seguinte maneira:

LOWER(string)

SUBSTITUIR

Substitui todas as ocorrências da string2 pela string3 na string1.

A expressão é formatada da seguinte maneira:

REPLACE(string1, string2, string3)

DIREITA

Retorna o número especificado de caracteres da string informada, a partir da direita, e tem a seguinte formatação:

RIGHT(string, length)

PESQUISAR

Retorna o índice da primeira ocorrência do textoPesquisa dentro do textoBase, iniciando na posição inicial informada, ou retorna -1 se o texto não for encontrado.

A expressão é formatada da seguinte maneira:

SEARCH(findText, withinText, start)

CADEIA DE CARACTERES

Converte um número em uma cadeia de caracteres 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 os caracteres de uma string com base no índice de início e término especificado e é formatado da seguinte maneira:

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

CORTAR

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

TRIM(string)

SUPERIOR

Retorna uma cadeia de caracteres em maiúsculas e é formatada da seguinte maneira:

UPPER(string)

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