Branching functions
Branching functions are used to create conditional expressions, where a different value is returned based on a set of conditions.
If()
Evaluates the specified expression and returns one value if it is true and another value if it is false. This function takes as its argument any expression that can be evaluated as true or false. It returns a specified value if the expression evaluates to true, or a different value if the expression evaluates to false. The returned value can be an expression. Returning an expression allows you to create branching expressions, where an If() function returns another expression that is subsequently evaluated.
Syntax
If(<expression_to_evaluate>, <return_if_true>, <return_if_false>)
Input
expression_to_evaluate
expression
The expression to evaluate to true or false.
return_if_true
Boolean, date, integer, number, string, expression
The value to return if the expression evaluates to true.
return_if_false
Boolean, date, integer, number, string, expression
The value to return if the expression evaluates to false.
Output
Boolean, date, integer, number, string, expression
Examples
Assume that you have a form in which there is a number question with the reference name customer_age. If the question is answered 45
, the expression If($customer_age < 65, "Standard Rate", "Senior Discount") returns "Standard Rate"
because the expression evaluates as true.
The previous expression can be modified to include an If() statement as one of its conditional return values. The expression If($customer_age < 12, "Child Discount", If($customer_age < 65, "Standard Rate", "Senior Discount"))
returns "Standard Rate"
because the first expression evaluates to false and the second expression evaluates to true.
IfNull()
Evaluates the specified expression and returns different values depending on whether the result is null or not null. This function takes any expression as an argument. It returns the expression's result if it is not null, or a specified value if it is null. The returned value can be an expression. Returning an expression allows you to create branching expressions, where an IfNull() function returns another expression that is subsequently evaluated.
Syntax
IfNull(<expression_to_evaluate>, <return_if_null>)
Input
expression_to_evaluate
expression
The expression to evaluate.
return_if_null
Boolean, date, integer, number, string, expression
The value to return if the expression's result is null.
Output
Boolean, date, integer, number, string, expression
Examples
Assume that you have a form in which there is a number question with the reference name number_of_cars. If the question is not answered, the expression IfNull($number_of_cars, 0) returns 0
because the expression has a null value. This is useful when you want to ensure that the number_of_cars question always contains a value, even if it is left blank.