eRaay

Branching

Using simple branching you can set the simple question skip logic based on user input. You can do it manually for each question one by one or you can generate it automatically by clicking on the “Reset” button. When you click the “Reset” button, each question skips to the next question.

Once you set your skip logic, you need to save it.

Please note that when you modify an existing question, you must set the skip logic again.

Attribute Description
Question This is the question on which you want to apply skip logic.
Option This is the user input (response) based on which skip logic will be evaluated.
Go to Question This is the question to which it will be navigated when simple question skip logic returned true.
Save This button saves all simple skip logic defined.
Reset This button makes the question appearance order as in the order questions have been configured.

Advanced Branching

Advanced Branching allows you to create custom rules to control the flow of your survey. You can set conditions based on respondents’ answers to navigate them to specific questions or even end the survey. This feature acts like a simple query builder, letting you combine multiple conditions using common operators.

Key Features and Attributes

  • Evaluate On: Select the source question whose answer will determine the branching logic.
  • Criteria: Define the conditions for branching using operators (e.g., Equal to, Greater Than) and values. You can combine multiple criteria using AND/OR operators.
  • Target Question: Choose the question or action (e.g., “End Survey”) where the respondent will be directed if the condition is met.
  • Active: Toggle this option to enable or disable the branching rule.

Supported Operators and Conditions

Below is a list of operators you can use to define branching rules, along with their descriptions and examples.

Basic Comparison Operators

Operator SQL Symbol Description Example
Equal to = Checks if the answer matches the specified value. Q1 = "Yes"
Not Equal to <> Checks if the answer does not match the specified value. Q1 <> "No"
Greater Than > Checks if the answer is greater than the specified value. Q1 > 10
Less Than < Checks if the answer is less than the specified value. Q1 < 5
Greater or Equal >= Checks if the answer is greater than or equal to the specified value. Q1 >= 15
Less or Equal <= Checks if the answer is less than or equal to the specified value. Q1 <= 20

List-Based Operators

List-Based Operators are used to evaluate whether a respondent’s answer matches (or does not match) a set of predefined values. These operators are particularly useful for questions where users can select multiple options, such as checkboxes, and the backend stores the answers as a comma-separated list (e.g., 1,2,3).

Operator SQL Symbol Description Example
In IN Checks if the answer (or any part of a multi-answer set) is one of the specified values (comma-separated). This is ideal for multi-select questions like checkboxes where the backend answer set might be 1,2,3. If any of the selected values match the specified list, the condition returns true.
  • Q1 IN 1,2,3: If Q1 is a checkbox question and the user selects options with values 1 and 2 (backend answer: 1,2), the condition is true because 1 and 2 are in the list 1,2,3.
  • Q1 IN 4,5: If Q1’s answer is 1,2, the condition is false because neither 1 nor 2 is in 4,5.
Not In NOT IN Checks if the answer (or any part of a multi-answer set) is not one of the specified values (comma-separated). For multi-select questions, the condition returns true only if none of the selected values match the specified list.
  • Q1 NOT IN 4,5,6: If Q1’s answer is 1,2,3, the condition is true because none of the values 1,2,3 are in 4,5,6.
  • Q1 NOT IN 1,2,3: If Q1’s answer is 1,4, the condition is false because 1 is in the list 1,2,3.

Additional Notes on Multi-Select (Checkbox) Behavior:

  • In a checkbox question, when users select multiple options, the backend stores the answers as a comma-separated string. For example, if a user selects options with values 1, 2, and 3, the answer is stored as 1,2,3.
  • The IN operator checks if any of the selected values are present in the specified list. For example, if the answer is 1,2 and the rule is Q1 IN 1,4,5, the condition is true because 1 is in the list.
  • The NOT IN operator checks if none of the selected values are present in the specified list. For example, if the answer is 1,2 and the rule is Q1 NOT IN 3,4,5, the condition is true because neither 1 nor 2 is in 3,4,5.

Range Operator

Operator SQL Symbol Description Example
Between BETWEEN Checks if the answer falls within a specified range (comma-separated). Q1 Between 10,50

Pattern Matching Operators

Operator SQL Symbol Description Example
Like LIKE Matches the answer against a pattern. Use % for wildcards. Q1 LIKE "a%" (starts with ‘a’)
Not Like NOT LIKE Checks if the answer does not match the pattern. Q1 NOT LIKE "%a" (does not end with ‘a’)

Pattern Examples for LIKE/NOT LIKE:

  • a%: Answer starts with ‘a’.
  • %a: Answer ends with ‘a’.
  • %a%: Answer contains ‘a’ anywhere.
  • mango: Answer is exactly ‘mango’.

Multi-Answer Operators (For Checkbox Questions)

These operators evaluate the number of selected options in a multi-answer question (e.g., checkboxes), where answers are stored as a comma-separated list (e.g., 1,3,5,7,9).

Operator SQL Symbol Description Example
EqualLength = Checks if the number of selected options (length of the answer set) equals the specified value. Q1 EqualLength 5 (e.g., answer: 1,3,5,7,9, length is 5, condition is true)
GreaterLength > Checks if the number of selected options (length of the answer set) is greater than the specified value. Q1 GreaterLength 3 (e.g., answer: 1,3,5,7,9, length is 5, condition is true)
LessLength < Checks if the number of selected options (length of the answer set) is less than the specified value. Q1 LessLength 4 (e.g., answer: 1,3, length is 2, condition is true)

How to Set Up a Branching Rule

  1. Add a New Rule: Click the “+Add” button in the Branching List.
  2. Select the Source Question: Under “Evaluate on,” choose the question to base your rule on.
  3. Define Criteria:
    • Select the question (QN).
    • Choose an operator (e.g., Equal to, Greater Than).
    • Enter the value to compare against.
    • Add more criteria if needed by clicking “Add new criteria” and joining them with AND/OR.
  4. Set the Target: Choose the target question or action (e.g., “End Survey”) under “Target Question.”
  5. Activate the Rule: Check the “Active” box to enable the rule.
  6. Save: Click “Save Rule” to apply the branching logic.

Notes

Order of Evaluation: Rules are evaluated in the order they appear in the Branching List. Use drag-and-drop to reorder them if needed.

Error Handling: If no criteria are defined, you’ll see a message: “Please select a Rule to see the evaluation criteria.”

Deleting Rules: You can delete a rule by clicking the “X” next to it in the Branching List.

This feature helps you create dynamic surveys that adapt to respondents’ answers, improving the user experience and data quality.

Advanced Validations

Advanced validation allows you to apply validation rules that come from multiple questions. Here you can configure your own error message related to the validation.

Question Type When to use
Evaluate on question Question on which evaluation of validation rules will be triggered when the next button is clicked.
Function Here you can select the type of operation you want to apply to Left side Expression. Currently there are three functions available i.e. SUM, LENGTH & VALUE. When you choose SUM, you need to check all questions whose values will be summed up for further comparison against the right side expression.
LS Expression Here you can select one part your expression that you want to validate.
Operator Here you can define the type of operation you want to perform Left side Expression and Right Side Expression.
Evaluate By Here you can select the type of operation you want to apply to Right side Expression. You can either choose the value of a question or a static value on your right side for validation.
RS Expression Here you can select other part your expression that you want to validate
Error Text You can put your custom validation error message here. When the validation result fails, the user will see this message. As part of your validation message you can also print the evaluation result of the left hand side as well as the right hand side by using $LHS$ and $RHS$ as part of your expression.
Active Using this flag, you can activate/deactivate an existing validation expression. Please note that only active expressions are evaluated during the survey workflow.
Operator Math Symbol Description
Equal to (==) Evaluates if both LS Expression values and RS Expression values are equivalent.
Not Equal to != Evaluates if both LS Expression values and RS Expression values are not equivalent.
Greater than > Evaluates if LS Expression value is greater than RS Expression value.
Greater than or equal to >= Evaluates if LS Expression value is greater than or equal to RS Expression value.
Less than < Evaluates if LS Expression value is less than RS Expression value.
Less than or equal to <= Evaluates if LS Expression value is less than or equal to RS Expression value.

Can't find an Answer?