Definición de atributos de cálculo

Los atributos de cálculo permiten agregar funciones lógicas y matemáticas para derivar los valores de los atributos. Se pueden embeber en otros atributos de cálculo para producir funciones complejas. Los atributos calculados son de solo lectura. Solo se pueden evaluar conforme a los programas.

Programas: puede agregar cualquier cálculo y el cálculo se evalúa, independientemente de si se ha asignado de forma explícita a la tarea o no.

Plantillas: no se puede agregar un atributo personalizado, con la opción Cálculo seleccionada, como una columna o un atributo filtrable.

Cuando los administradores agregan atributos a las secciones Atributos de los cuadros de diálogo Acciones, los usuarios del flujo de trabajo pueden verlos. Los administradores pueden restringir el acceso a determinados roles definiendo el acceso en No visualizar. Por ejemplo, para el atributo calculado XYZ, el administrador puede definir el acceso en Visor: No mostrar para que el atributo XYZ no se muestre a los usuarios con el rol Visor.

Cualquier rol de usuario puede agregar atributos calculados como columnas en las vistas y los portlets. También se pueden agregar como atributos filtrables en el Panel de filtros.

Para definir un atributo de cálculo:

  1. En la página de inicio, haga clic en Aplicación y, a continuación, en Gestor de tareas.
  2. Haga clic en el separador Atributos a la izquierda.
  3. Haga clic en Nuevo y, a continuación, en el separador Propiedades introduzca un nombre para el atributo y luego seleccione un tipo de atributo.
  4. Seleccione la opción Cálculo.
  5. En el separador Cálculo, seleccione un valor en Tipo de cálculo.

Puede seleccionar uno de los siguientes tipos de cálculo. Los tipos disponibles están determinados por el tipo de atributo (Texto, Entero, etc.).

  • Asignar valor a lista: permite asignar valores personalizados a un atributo de tipo Lista

  • Asignar lista a valor: permite asignar valores de lista personalizada a valores de un atributo diferente. Solo está disponible para los atributos del tipo Lista.

  • Condicional: cálculo condicional (If – Then – Else)

  • Con scripts: cálculo con scripts en formato libre. Solo está disponible para los atributos de tipo Entero, Texto de varias líneas, Número o Texto.

La siguiente tabla muestra los tipos de cálculo disponibles para cada tipo de atributo.

Tipo de atributo Asignar valor a lista Condicional Con scripts Asignar lista a valor
Fecha        
Fecha/hora        
Entero X X X  
Lista   X   X
Texto de varias líneas X X X  
Número X X X  
Texto X X X  
True/False   X    
Usuario        
Sí/No   X    

Definición de cálculo

El Tipo de cálculo Con scripts permite introducir una ecuación de cálculo con formato libre. Puede usar Agregar atributo y Agregar función:

  • Agregar atributo: seleccione un atributo e inserte el atributo en el cuadro Definición de cálculo en la ubicación del cursor. Si el cursor está en medio de una palabra o un atributo, la palabra/el atributo se sustituirá en la definición. El formato de script encierra entre corchetes {} el nombre del nuevo atributo.

    Los únicos atributos disponibles son los atributos de Programación.

  • Agregar función: seleccione una función y agregue dicha función a la Definición de cálculo. La función se agregará con marcadores de posición para cada parámetro.

Por ejemplo, inserte la función DATE_DIFF en la definición de cálculo:

DATE_DIFF(<Fecha1>, <Fecha2>, <Tipo>)

A continuación, reemplace los marcadores de posición por atributos:

DATE_DIFF( {Fecha de inicio}, {Fecha de finalización}, 'DAYS')

Funciones numéricas y de fecha

  • Valor absoluto: Devuelve el valor absoluto de un número especificado. Si un número es menor que cero, se devuelve el valor positivo del número. Si el número especificado es igual o mayor que cero, se devuelve el número especificado.

    ABS(<Número>)

  • Agregar mes: Devuelve un desplazamiento de fecha de un número especificado de meses a partir de la fecha de inicio. La fecha siempre estará dentro del desplazamiento de mes especificado. Si la fecha de inicio tiene un valor de día que es posterior a los incluidos en el mes de desplazamiento, se utilizará el último día del mes de desplazamiento. Por ejemplo, EDate (31-Jan-2017, 1) devuelve (28-Feb-2017). En Meses, introduzca el número de meses anteriores o posteriores a la fecha de inicio. Un valor positivo para los meses genera una fecha en el futuro. Un valor negativo genera una fecha en el pasado.

    ADD_MONTH(<Fecha de inicio>, <Meses>, <Duración>)

    Ejemplo: ADD_MONTH(DATE(2017, 2, 15) 3)

  • Fecha: Devuelve un valor de fecha basado en valores enteros especificados para el año, mes y día.

    DATE(<Año>, <Mes>, <Día>)

  • Diferencia de fecha: Devuelve la diferencia en años, meses, días, horas, minutos o segundos entre dos fechas. Para FECHA 1 y FECHA 2, se pueden usar los valores TODAY y NOW, que indican la fecha actual (sin componente de tiempo) y fecha-hora, respectivamente.

    DATE_DIFF(<Fecha1>, <Fecha2>, <Tipo>)

    Ejemplo: DATE_DIFF( {Start Date}, 'TODAY', 'DAYS')

  • Día: Devuelve el valor de día de una fecha como un número entero

    DAY(<DATE>)

  • Extraer texto: devuelve la subcadena en el valor desde las posiciones especificadas.

    SUBSTRING(<Valor>, <Ubicación>, <Longitud>)

    Ejemplo: SUBSTRING( {Name}, 4, 10)

  • If Then Else: le permite insertar un cálculo condicional en el cálculo con scripts. Los cálculos IF_THEN_ELSE también se pueden anidar para soportar los cálculos de tipo ELSE IF.

    IF_THEN_ELSE(<Condición>, <Valor1>, <Valor2>)

    Ejemplo: IF_THEN_ELSE( ( {Priority} = 'Low'), 1,IF_THEN_ELSE( ( {Priority} = 'Medium'), 2, IF_THEN_ELSE( ( {Priority} = 'High'), 3, 0)))

    Ejemplo: IF_THEN_ELSE( ( {Priority} = 'Low'), 'Good' IF_THEN_ELSE( ( {Priority} = 'Medium'), 'Better'. 'Best') )

  • Instring: devuelve el índice de la subcadena en el valor.

    INSTRING(<Valor1>, <Valor que buscar>)

    Ejemplo: INSTRING({Name}, 'a')

  • Longitud: toma un valor de texto como parámetro y devuelve un entero que corresponde al número de caracteres del texto. Si el valor está vacío/es nulo, el cálculo devolverá 0.

    Length ({<atributo>})

    Ejemplo: LENGTH("Value") devolvería 5, y LENGTH({Name}) devolvería el número de caracteres en el nombre del objeto.

    Utilice el cálculo con SUBSTRING para extraer los cuatro últimos caracteres de un valor de texto.

    SUBSTRING( {MyString}, LENGTH ({MyString}) - 4

  • Minúsculas: devuelve el valor en minúsculas

    LOWERCASE(<Valor>)

    Ejemplo: LOWERCASE ({Task Code})

  • Máximo: devuelve el valor máximo de una lista de atributos. Puede haber cualquier cantidad de parámetros.

    MAX <Valor1>, <Valor2>, <ValorN>)

    Ejemplo: MAX( {Scripted Substring Loc a}, {Scripted Substring Loc s}, {Scripted Substring Loc t} )

  • Mínimo: devuelve el valor mínimo de una lista de atributos. Puede haber cualquier cantidad de parámetros.

    MIN (<Valor1>, <Valor2>, <ValorN>)

    Ejemplo: MIN( {Scripted Substring Loc a}, {Scripted Substring Loc s}, {Scripted Substring Loc t} )

  • Mes: Devuelve el valor de mes de una fecha como un número entero (1-12)

    MONTH (<DATE>)

  • Potencia: Eleva un número a la potencia exponencial de otro.

    POWER(x,y) donde x=BASE NUMBER e y=EXPONENT; x e y pueden ser atributos o cálculos siempre que sean valores numéricos.

    Ejemplo: POWER(3,4)=81

    Nota:

    Los valores de fracciones reducirán el número a la raíz. Por ejemplo, POWER(27, 1/3) = 3 la raíz cúbica.

    Los valores negativos realizarán el cálculo inverso del cálculo exponencial. Por ejemplo, POWER(2, -2) = 1 / (2^2) = 1 / 4 = .25.

  • Redondear: devuelve el valor redondeado a las posiciones decimales especificadas

    ROUND <Atributo>, <Posiciones decimales>)

    Ejemplo: ROUND( ({Scripted Substring Loc t} / 7), '4')

  • Ubicación del texto: devuelve el índice de la subcadena comprendido en el valor, comenzando por 1 como primera posición.

    INSTRING(<Valor>, <Valor que buscar>)

    Ejemplo: INSTRING( UPPERCASE( {Nombre} ), 'TAX' )

  • Mayúsculas: devuelve el valor en mayúsculas.

    UPPERCASE(<Valor>)

    Ejemplo: UPPERCASE( {Name} )

  • Año: Devuelve el valor de año de una fecha como un número entero.

    YEAR (<DATE>)

Validación de cálculo

Las siguientes comprobaciones de validación se realizan al intentar guardar el cálculo:

  • La sintaxis del cálculo es correcta.

  • Los atributos y las funciones especificadas en el cálculo existen.

  • Los parámetros en las funciones son correctos.

  • No existen bucles circulares.