Advanced expression editor syntax

Last update: 2023-01-23
  • Created for:
  • Experienced

Parentheses and expression priority

Parentheses can be used to make a complex expression more readable. (<expression>) is the equivalent of <expression>. Parenthesis can also be used to define the evaluation order and associativity.

The expressions will be evaluated from left to right. The associativity on arithmetic operators must be applied: multiplications and divisions take priority over additions and subtractions. In order to impose a specific order, parenthesis must be added to delimit the operations. For example:

Expression Evaluation
4 + 2 * 10
  • ‘*’ takes priority over ‘+’: 2 * 10 is evaluated → 20
  • 4 + 20 → 24
(4 + 2) * 10
  • The parentheses change the priority: (4 + 2) is evaluated → 6
  • 6 * 10 → 60

Case sensitivity

Here are the different case sensitivity rules:

  • All operators (and, or, etc.) should be written lowercase. For instance, <expression1> and <expression2> is a valid expression whereas the expression <expression1> AND <expression2> is not.
  • All function names are case sensitive. For instance, inSegment() is valid whereas the function INSEGMENT() is not.
  • Field references and constant values are case sensitive: they are not built-in elements of the language (as opposed to operators and functions), they are authored by the end user.

Returned expression type

Depending on the context of use, the expression editor can return different values.

Advanced expression editor usage Expected returned expression type
Condition (data source condition, date condition) boolean
Custom timer dateTimeOnly
Action parameters mapping Any

On this page