En esta página

Introducción a las expresiones

El lenguaje de expresiones de ProcessMind permite crear atributos calculados, definir condiciones para gateways y transformar datos en los modelos de proceso. Así puede obtener nueva información a partir de sus datos sin modificar la fuente. Puede probar el lenguaje con su propio conjunto de datos mediante una prueba gratuita.

¿Qué puede hacer con las expresiones?

  • Atributos calculados: cree columnas de datos nuevas a partir de las existentes. Por ejemplo, calcule el tiempo de procesamiento entre eventos:

    dateDiff(StartTime, EndTime, "minute")
  • Lógica condicional: defina reglas de negocio para clasificar datos o controlar el flujo del proceso:

    if(Amount > 10000, "High Value",
      if(Amount > 1000, "Medium", "Low")
    )
  • Transformación de datos: limpie, dé formato y transforme datos de texto:

    upper(trim(CustomerName))
  • Análisis temporal: extraiga componentes de tiempo y cree intervalos para el análisis:

    bucket(hour(StartTime), 6, "Night", 12, "Morning", 18, "Afternoon", "Evening")

Sintaxis de las expresiones

Las expresiones utilizan una sintaxis familiar, similar a la de las fórmulas de una hoja de cálculo:

  • Las funciones se escriben entre paréntesis:

    round(3.14, 1)
  • Los operadores se aplican entre valores:

    Amount * 1.1
  • Las cadenas de texto se escriben entre comillas dobles:

    "Hello"
  • Los nombres de columna se pueden usar directamente:

    StartTime
    Amount
  • Los paréntesis controlan el orden de evaluación:

    (a + b) * c
  • Identificadores entre comillas: si el nombre de una columna contiene espacios o caracteres especiales, escríbalo entre acentos graves:

    `Order Amount` * 0.1

Ejemplos rápidos

  • Calcular la duración en horas

    dateDiff(StartTime, EndTime, "hour")
  • Clasificar por importe

    if(Amount >= 10000, "Enterprise", 
       if(Amount >= 1000, "Business", "Consumer")
    )
  • Extraer el año y el mes

    concat(toString(year(Timestamp)), "-", padLeft(toString(month(Timestamp)), 2, "0"))
  • Comprobar si faltan datos

    ifNull(Department, "Unassigned")
  • Calcular el porcentaje del total

    divide(Amount, allSum(Amount), 0) * 100
  • Contar errores en un caso

    caseCountIf(Status == "Error")

Temas relacionados

Diseñe mejores procesos. Conecte su arquitectura. Mantenga el control.

Acceda de inmediato, sin tarjeta de crédito ni esperas. Transforme la forma de trabajar de su organización en diseños de procesos claros y conectados.

Defina la arquitectura de procesos, los responsables y los controles, y alinee las funciones y responsabilidades en todos los niveles.

Comience su prueba gratuita y establezca una base fiable para gobernar, gestionar y mejorar continuamente sus procesos.