Advanced expression editor syntax syntax
Syntax basics when using the Advanced expression editor are listed below. Samples of use of the advanced expression editor are available in this page.
Parentheses and expression priority 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:
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 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, inAudience() is valid whereas the function INAUDIENCE() 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 returned-expression-type
Depending on the context of use, the expression editor can return different values.