Nesta página

Introdução às expressões

A linguagem de expressões do ProcessMind permite criar atributos calculados, definir condições para gateways e transformar dados nos seus modelos de processo. Esse recurso permite obter novos insights a partir dos seus dados sem modificar a fonte.

O que você pode fazer com expressões?

  • Atributos calculados: crie novas colunas de dados derivadas das existentes. Por exemplo, calcule o tempo de processamento entre eventos:

    dateDiff(StartTime, EndTime, "minute")
  • Lógica condicional: defina regras de negócio para categorizar dados ou controlar o fluxo do processo:

    if(Amount > 10000, "High Value",
      if(Amount > 1000, "Medium", "Low")
    )
  • Transformação de dados: limpe, formate e transforme dados de texto:

    upper(trim(CustomerName))
  • Análise baseada em tempo: extraia componentes de tempo e crie intervalos para análise:

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

Sintaxe das expressões

As expressões usam uma sintaxe familiar, semelhante às fórmulas de planilhas:

  • Funções são chamadas com parênteses:

    round(3.14, 1)
  • Operadores funcionam entre valores:

    Amount * 1.1
  • Strings ficam entre aspas duplas:

    "Hello"
  • Nomes de colunas podem ser usados diretamente:

    StartTime
    Amount
  • Parênteses controlam a ordem de avaliação:

    (a + b) * c
  • Identificadores entre aspas: se um nome de coluna contiver espaços ou caracteres especiais, coloque-o entre crases:

    `Order Amount` * 0.1

Exemplos rápidos

  • Calcular duração em horas

    dateDiff(StartTime, EndTime, "hour")
  • Categorizar por valor

    if(Amount >= 10000, "Enterprise", 
       if(Amount >= 1000, "Business", "Consumer")
    )
  • Extrair ano e mês

    concat(toString(year(Timestamp)), "-", padLeft(toString(month(Timestamp)), 2, "0"))
  • Verificar dados ausentes

    ifNull(Department, "Unassigned")
  • Calcular porcentagem do total

    divide(Amount, allSum(Amount), 0) * 100
  • Contar erros no caso

    caseCountIf(Status == "Error")

Tópicos relacionados