Skip to content
flowon.com

Expression language

Operators

See how arithmetic, comparison and logical operators are picked, how they appear in the formula bar, and in which order they are calculated.

Operators are the functions that combine or compare values: add two amounts, check whether a value is greater than a threshold, require two conditions at once. You pick an operator by its label, such as Is Greater Than, and the formula bar shows it in a familiar short form, such as Amount > 1000. This page is a quick reference; each operator links to its full description.

Picked from Math Functions. Each takes two or more numbers, except Modulo and Raise to Power, which take exactly two.

Picker label Formula bar Example Result
Add a + b totallineitemamount + freightamount Sum
Subtract a - b totalamount - discountamount Difference, left to right
Multiply a * b quantity * priceperunit Product
Divide a / b actualvalue / estimatedvalue Quotient, left to right
Modulo a % b SequenceNumber % 2 Remainder
Raise to Power a ^ b GrowthFactor ^ Years Power

The result uses the widest number type involved, and dividing two Whole Numbers drops the fraction. See Mixing number types.

Picked from Binary Logical Functions. Each compares two values and returns Yes/No. In the outline, their slots read First value and Second value (or Compared with).

Picker label Formula bar Works with Case
Is Equal To a = b Any type Text is case-sensitive
Is Not Equal To a ≠ b Any type Text is case-sensitive
Is Greater Than a > b Numbers, dates
Is Greater Than Or Equal To a ≥ b Numbers, dates
Is Less Than a < b Numbers, dates
Is Less Than Or Equal To a ≤ b Numbers, dates
Contains / Does Not Contain a contains b Text Ignores case
Starts With / Does Not Start With a starts with b Text Ignores case
Ends With / Does Not End With a ends with b Text Ignores case
Contains Item / Does Not Contain Item list includes item A list and one item

Two related functions live in Choice Functions: Is One Of (value in (a, b, c)) and Is Between (both ends included).

Full details, including how empty values compare: Comparisons.

Picker label Category Formula bar Result
And Boolean Logical Operators And(a, b, …) Yes when every condition is Yes
Or Boolean Logical Operators Or(a, b, …) Yes when at least one condition is Yes
If Condition Control If(condition, then, else) One of two values

Picked from Unary Logical Functions. Each checks one value and returns Yes/No.

Picker label Reads as True when
Null is empty The value is empty
Not Null is not empty The value is not empty
Null Or Empty String is empty The text is empty or "" (text with only spaces is not empty)
Not Null Or Empty String is not empty The text has at least one character
Is True is Yes The value is Yes
Is False is No The value is No or empty
Any The list has at least one item

Full details: Checks.

You cannot type parentheses, and you do not need them. The order is set by nesting in the outline: whatever sits inside a slot is calculated before the function that holds it.

For example, to calculate a discounted line total of (quantity * priceperunit) - discount:

  1. Pick Subtract.
  2. In its first slot, pick Multiply and fill it with quantity and priceperunit.
  3. In its second slot, pick discount.

The formula bar shows quantity * priceperunit - discount, and the outline shows Multiply nested inside Subtract. When you are unsure how a formula reads, check the outline: nesting there is what counts.

And, Or, Switch and First Non-Empty only calculate what they need. And stops at the first No, Or stops at the first Yes. Put an “is not empty” check before a condition that relies on the value, for example And(Not Null(parentcustomerid), parentcustomerid.creditonhold = Yes).