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:
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
Você pode criar um campo personalizado calculado de data ou hora usando as seguintes expressões:
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)
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)
Adiciona o número de meses à data e é formatado da seguinte maneira:
ADDMONTHS(date, number)
Adiciona o número de anos à data e é formatado da seguinte maneira:
ADDYEARS(date, number)
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})
Converte uma string em uma data e é formatada da seguinte maneira:
DATE(string)
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)
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})
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})
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})
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})
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})
Retorna a data mais recente na lista e é formatado da seguinte maneira:
DMAX(date1, date2, ...)
Retorna a data mais antiga na lista e é formatado da seguinte maneira:
DMIN(date1, date2, ...)
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})
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})
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})
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})
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)
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)
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:
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})
Retorna a média dos números e é formatada da seguinte maneira:
AVERAGE(number1, number2, ...)
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})
Divide todos os números na ordem fornecida e é formatado da seguinte maneira:
DIV(number1, number2, ...)
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})
Retorna o valor logaritmo natural do número e é formatado da seguinte maneira:
LN({numberOfChildren})
Retorna o logaritmo do número2 com base no número1 e é formatado da seguinte maneira:
LOG(number1, number2)
Retorna o maior item da lista e é formatado da seguinte maneira:
MAX(item1, item2, ...)
Retorna o menor item da lista e é formatado da seguinte maneira:
MIN(item1, item2, ...)
Converte uma string em número e é formatada da seguinte maneira:
NUMBER(string)
Retorna um número elevado a potência informada e é formatado da seguinte forma:
POWER(number, power)
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.
Arredonda o número para cima de acordo com a precisão de casas decimais especificada e é formatado da seguinte maneira:
ROUND(number, precision)
Ordena os números em ordem crescente e é formatado da seguinte maneira:
SORTASCNUM(number1,number2, ...)
Ordena os números em ordem decrescente e é formatado da seguinte maneira:
SORTDESCNUM(number1, number2, ...)
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})
Subtrai todos os números na ordem fornecida e é formatado da seguinte maneira:
SUB(number1, number2, ...)
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:
É 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.
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"
Retorna verdadeiro se a string findText for encontrada dentro da string withinText e estiver formatada da seguinte maneira:
CONTAINS(findText, withinText)
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)
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".
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","")
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...])
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)
Retorna o número especificado de caracteres da parte esquerda de uma cadeia de caracteres e é formatado da seguinte maneira:
LEFT(string, length)
Retorna o comprimento de uma string e é formatado da seguinte maneira:
LEN(string)
Retorna a cadeia de caracteres em minúsculas e é formatada da seguinte maneira:
LOWER(string)
Substitui todas as ocorrências da string2 pela string3 na string1.
A expressão é formatada da seguinte maneira:
REPLACE(string1, string2, string3)
Retorna o número especificado de caracteres da string informada, a partir da direita, e tem a seguinte formatação:
RIGHT(string, length)
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)
Converte um número em uma cadeia de caracteres e é formatado da seguinte maneira:
STRING(number)
Classifica uma lista de strings em ordem crescente e é formatada da seguinte maneira:
SORTASCSTRING(string1, string2, ...)
Classifica uma lista de strings em ordem decrescente e é formatada da seguinte maneira:
SORTDESCSTRING(string1, string2, ...)
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)
Remove os espaços em branco do início e do fim de uma string e é formatado da seguinte maneira:
TRIM(string)
Retorna uma cadeia de caracteres em maiúsculas e é formatada da seguinte maneira:
UPPER(string)