Os atributos de cálculo permitem adicionar funções lógicas e matemáticas a fim de derivar valores de atributos. Eles podem ser incorporados em outros atributos calculados para produzir funções complexas. Os atributos calculados são somente leitura. Eles só podem ser avaliados em relação a Programações.
Programações: Você pode adicionar qualquer Cálculo, e ele será avaliado, independentemente de ter sido atribuído ou não explicitamente à tarefa.
Modelos: Não é possível adicionar um atributo personalizado que tenha a opção Cálculo selecionada como uma coluna ou um atributo que pode ser filtrado.
Quando os administradores adicionam atributos às seções Atributos nas caixas de diálogo Ações, esses atributos ficam visíveis para os usuários do workflow. Os administradores podem restringir o acesso a certas funções definindo o acesso como Não Exibir. Por exemplo, para o atributo calculado XYZ, o administrador poderá definir o acesso como Visualizador: Não Exibir
, a fim de que o atributo XYZ não seja exibido para os usuários que têm somente a função Visualizador.
Qualquer função de usuário pode adicionar atributos calculados como colunas em exibições e portlets. Eles também podem ser adicionados como atributos que podem ser filtrados no Painel Filtro.
Para definir um atributo de cálculo:
Você pode selecionar um dos tipos de cálculo a seguir. Os tipos disponíveis são determinados pelo Tipo de atributo (Texto, Inteiro, etc.).
Atribuir Valor à Lista: atribui valores personalizados a um atributo de tipo Lista
Atribuir Lista a Valor: atribui valores de lista personalizados aos valores de um atributo diferente. Somente disponível para atributos do tipo Lista.
Condicional: um cálculo condicional (If – Then – Else)
Com Script: um cálculo com script de formato livre. Somente disponível para atributos do tipo Inteiro, Texto com Várias Linhas, Número ou Texto.
A tabela a seguir lista os tipos de cálculo disponíveis para cada tipo de atributo.
Tipo de Atributo | Atribuir Valor à Lista | Condicional | Com Script | Atribuir Lista ao Valor |
---|---|---|---|---|
Data | ||||
Data/Hora | ||||
Inteiro | X | X | X | |
Lista | X | X | ||
Texto com Várias Linhas | X | X | X | |
Número | X | X | X | |
Texto | X | X | X | |
Verdadeiro/Falso | X | |||
Usuário | ||||
Sim/Não | X |
Definição de Cálculo
O tipo de Cálculo Com Script permite inserir uma equação de cálculo de formato livre. Você pode usar as opções Adicionar Atributo e Adicionar Função:
Adicionar Atributo: selecione um atributo e insira o atributo na caixa Definição de Cálculo no local do cursor. Se o cursor estiver no meio de uma palavra ou atributo, a palavra/atributo será substituída na definição. O formato de script adiciona colchetes {} antes e depois do nome do novo atributo.
Os únicos atributos disponíveis são os de Programação.
Adicionar Função: selecione uma função e adicione-a à Definição de Cálculo. A Função é adicionada com espaços reservados para cada parâmetro.
Por exemplo: Insira a função DATE_DIFF na definição de cálculo:
DATE_DIFF(<Date1>, <Date2>, <Type>)
Depois substitua os espaços reservados por atributos:
DATE_DIFF( {Start Date}, {End Date}, 'DAYS')
Funções Numéricas e de Data
Valor Absoluto: retorna o valor absoluto de um número específico. Se um número for menor que zero, o valor positivo do número será retornado. Se o número especificado for igual ou maior que zero, o número especificado será retornado.
ABS(<Número>)
Adicionar Mês: Retorna um deslocamento de data; um número especificado de meses a contar da data inicial. A data sempre incorrerá no deslocamento do mês especificado. Se a data inicial tiver um valor de dia além do que está no mês de deslocamento, será usado o último dia do mês de deslocamento. Por exemplo, EDate (31 de janeiro de 2017) retornará (28 de fevereiro de 2017). Em Meses, informe o número de meses antes ou depois das data de início. Um valor positivo para meses produz uma data futura. Um valor negativo produz uma data passada.
ADD_MONTH(<Start Date>, <Months>, <Length>)
Exemplo: ADD_MONTH(DATE(2017, 2, 15) 3)
Data: Retorna um valor de data com base nos valores de inteiro especificados para ano, mês e dia.
DATE(<Ano>, <Mês>, <Dia>)
Diferença de Data: retorna a diferença em anos, meses, dias, horas, minutos ou segundos entre duas datas. Para DATA 1 e DATA 2, é possível usar os valores TODAY e NOW, que denotam a data atual (sem componente de horário) e a data/horário, respectivamente.
DATE_DIFF(<Date1>, <Date2>, <Type>)
Exemplo: DATE_DIFF( {Start Date}, 'TODAY', 'DAYS')
Dia: Retorna o valor de dia de uma data como um número inteiro
DAY(<DATE>)
Extrair Texto: Retorna a substring contida no valor, com base nas posições especificadas.
SUBSTRING(<Valor>, <Localização>, <Tamanho>)
Exemplo: SUBSTRING( {Name}, 4, 10)
If Then Else: Permite inserir um cálculo condicional no cálculo com script. Os cálculos IF_THEN_ELSE também podem ser aninhados para dar suporte aos cálculos do tipo ELSE IF.
IF_THEN_ELSE(<Condition>, <Value1>, <Value2>)
Exemplo: IF_THEN_ELSE( ( {Priority} = 'Low'), 1,IF_THEN_ELSE( ( {Priority} = 'Medium'), 2, IF_THEN_ELSE( ( {Priority} = 'High'), 3, 0)))
Exemplo: IF_THEN_ELSE( ( {Priority} = 'Low'), 'Good' IF_THEN_ELSE( ( {Priority} = 'Medium'), 'Better'. 'Best') )
String Interna: Retorna o índice da substring dentro do valor.
INSTRING(<Value1>, <Value to Search>)
Exemplo: INSTRING({Nome}, 'a')
Tamanho: utiliza um valor de texto como parâmetro e retorna um inteiro que é o número de caracteres no texto. Se o valor for estiver vazio/for nulo, o cálculo retornará 0.
Length ({<attribute>})
Exemplo: LENGTH("Value")
retornaria 5 e LENGTH({Name})
retornaria o número de caracteres no nome do objeto.
Use o cálculo com SUBSTRING para extrair os quatro últimos caracteres de um valor de texto.
SUBSTRING( {MyString}, LENGTH ({MyString}) - 4
Minúscula: Retorna o valor em letra minúscula
LOWERCASE(<Value>)
Exemplo: LOWERCASE ({Código da Tarefa})
Máximo: Retorna o valor máximo de uma lista de atributos. Pode haver um número qualquer de parâmetros.
MAX <Value1>, <Value2>, <ValueN>)
Exemplo: MAX( {Scripted Substring Loc a}, {Scripted Substring Loc s}, {Scripted Substring Loc t} )
Mínimo: Retorna o valor mínimo de uma lista de atributos. Pode haver um número qualquer de parâmetros.
MIN (<Value1>, <Value2>, <ValueN>)
Exemplo: MIN( {Scripted Substring Loc a}, {Scripted Substring Loc s}, {Scripted Substring Loc t} )
Mês: Retorna o valor de mês de uma data como um número inteiro (1-12)
MONTH (<DATE>)
Potência: Eleva um número à potência exponencial de outro..
POWER(x,y) where x=BASE NUMBER,and y=EXPONENT
; x e y podem ser atributos ou cálculos, contanto que sejam numéricos.
Exemplo: POWER(3,4)=81
Nota:
Valores fracionais reduzirão o número até sua raiz. Por exemplo, POWER(27, 1/3) = 3
a raiz cúbica.
Valores negativos inverterão o cálculo exponencial. Por exemplo, POWER(2, -2) = 1 / (2^2) = 1 / 4 = .25
.
Arredondar: Retorna o valor arredondado para as casas decimais especificadas
ROUND <Attribute>, <Decimal Places>)
Exemplo: ROUND( ({Scripted Substring Loc t} / 7), '4')
Local do Texto: Retorna o índice da substring dentro do valor, começando em 1 como a primeira posição.
INSTRING(<Valor>, <Valor a Pesquisar>)
Exemplo: INSTRING( UPPERCASE( {Name} ), 'TAX' )
Maiúscula: Retorna o valor em letra maiúscula.
UPPERCASE(<Value>)
Exemplo: UPPERCASE( {Nome} )
Ano: Retorna o valor de ano de uma data como um número inteiro.
YEAR (<DATE>)
Validação do Cálculo
As seguintes verificações de validação são realizadas quando você salva o Cálculo:
A sintaxe do Cálculo está correta.
Os Atributos e Funções especificados no Cálculo existem.
Parâmetros a Funções estão corretos.
Não existem Loops Circulares.