Op deze pagina

Inleiding tot expressies

Met de expressietaal van ProcessMind maak je berekende attributen, definieer je voorwaarden voor gateways en transformeer je data binnen je procesmodellen. Hiermee leid je nieuwe inzichten uit je data af zonder de bron aan te passen.

Wat kun je met expressies doen?

  • Berekende attributen: nieuwe datakolommen maken op basis van bestaande kolommen. Bereken bijvoorbeeld de verwerkingstijd tussen events:

    dateDiff(StartTime, EndTime, "minute")
  • Conditionele logica: bedrijfsregels definiëren om data te categoriseren of het procesverloop te sturen:

    if(Amount > 10000, "High Value",
      if(Amount > 1000, "Medium", "Low")
    )
  • Datatransformatie: tekstdata opschonen, opmaken en transformeren:

    upper(trim(CustomerName))
  • Tijdgebaseerde analyse: tijdonderdelen uitlezen en tijdvakken maken voor analyse:

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

Expressiesyntax

Expressies gebruiken een vertrouwde syntax die lijkt op formules in spreadsheets:

  • Functies roep je aan met haakjes:

    round(3.14, 1)
  • Operatoren werken tussen waarden:

    Amount * 1.1
  • Tekenreeksen staan tussen dubbele aanhalingstekens:

    "Hello"
  • Kolomnamen kun je rechtstreeks gebruiken:

    StartTime
    Amount
  • Haakjes bepalen de volgorde van evaluatie:

    (a + b) * c
  • Geciteerde identifiers: als een kolomnaam spaties of speciale tekens bevat, zet je die tussen backticks:

    `Order Amount` * 0.1

Snelle voorbeelden

  • Doorlooptijd in uren berekenen

    dateDiff(StartTime, EndTime, "hour")
  • Categoriseren op bedrag

    if(Amount >= 10000, "Enterprise", 
       if(Amount >= 1000, "Business", "Consumer")
    )
  • Jaar en maand uitlezen

    concat(toString(year(Timestamp)), "-", padLeft(toString(month(Timestamp)), 2, "0"))
  • Ontbrekende data controleren

    ifNull(Department, "Unassigned")
  • Percentage van het totaal berekenen

    divide(Amount, allSum(Amount), 0) * 100
  • Fouten in een case tellen

    caseCountIf(Status == "Error")

Gerelateerde onderwerpen