Sur cette page

Introduction aux expressions

Le langage d’expression de ProcessMind vous permet de créer des attributs calculés, de définir des conditions pour les passerelles et de transformer les données dans vos modèles de processus. Cette fonctionnalité vous permet de déduire de nouvelles informations de vos données sans modifier la source.

Que pouvez-vous faire avec les expressions ?

  • Attributs calculés : créer de nouvelles colonnes de données à partir de colonnes existantes. Par exemple, calculer le temps de traitement entre deux événements :

    dateDiff(StartTime, EndTime, "minute")
  • Logique conditionnelle : définir des règles métier pour catégoriser les données ou contrôler le flux du processus :

    if(Amount > 10000, "High Value",
      if(Amount > 1000, "Medium", "Low")
    )
  • Transformation des données : nettoyer, mettre en forme et transformer des données textuelles :

    upper(trim(CustomerName))
  • Analyse temporelle : extraire les composants temporels et créer des intervalles de temps pour l’analyse :

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

Syntaxe des expressions

Les expressions utilisent une syntaxe familière, comparable à celle des formules de tableur :

  • Les fonctions s’appellent avec des parenthèses :

    round(3.14, 1)
  • Les opérateurs s’appliquent entre les valeurs :

    Amount * 1.1
  • Les chaînes sont placées entre guillemets doubles :

    "Hello"
  • Les noms de colonnes peuvent être utilisés directement :

    StartTime
    Amount
  • Les parenthèses contrôlent l’ordre d’évaluation :

    (a + b) * c
  • Identifiants entre guillemets : si un nom de colonne contient des espaces ou des caractères spéciaux, placez-le entre accents graves :

    `Order Amount` * 0.1

Exemples rapides

  • Calculer une durée en heures

    dateDiff(StartTime, EndTime, "hour")
  • Catégoriser selon le montant

    if(Amount >= 10000, "Enterprise", 
       if(Amount >= 1000, "Business", "Consumer")
    )
  • Extraire l’année et le mois

    concat(toString(year(Timestamp)), "-", padLeft(toString(month(Timestamp)), 2, "0"))
  • Vérifier les données manquantes

    ifNull(Department, "Unassigned")
  • Calculer la part du total

    divide(Amount, allSum(Amount), 0) * 100
  • Compter les erreurs dans un cas

    caseCountIf(Status == "Error")

Sujets associés