Adding multiple rules inside one logic flow
Sometimes you have to design a logic flow which contains several rules. For example, you may need to trigger a consequence, based on answers from two different questions in the survey. This means you have to make a logic flow, which contains one distinct rule for each of those questions; and once both of the questions meet the requirements; you trigger a consequence.
To make it easier, let’s imagine that you want to display a specific question to female respondents who are between 30 to 40 years old. So, you make a logic flow as follows:
If answer to the following question ＞ “What is your biological gender?” ＞ is any of the following ＞ “female” ＞ and if ＞ answer to the follwoing question ＞ “How old are you?” ＞ is one of the ffollowing ＞ “30 to 34 years old” or “35 to 39 years old” ＞ then ＞ show ＞ question number 5.
- is any of the following
- is any of the following
- 20 – 24 years old
- 25 – 29 years old
- 30 – 34 years old
- 35 – 39 years old
- 40 – 44 years old
- 45 – 49 years old
How to add multiple rules
There are two ways to add new rules. You can click on the add rule button, placed on the right corner of the rule header. This will add a new empty rule right under the current rule.
As an alternative, you can click or tap on the “THEN” dropdown, and from there, choose either “and if” or “or if” depending on your need. This adds a new rule right before the “THEN” section.
“AND if” conjunction
The “and if” logical conjunction, connects two or several distinct logic rules together. Using this conjunction means that requirements for all of the connected rules should be met, for the logic flow to trigger the “consequence” part (THEN part).
“OR if” conjunction
The “or if” logical conjunction, connects two or several distinct logic rules together. Using this conjunction means that the logic flow can trigger the “consequence” part (THEN part), as soon as any of the connected rules meet their requirements.
Either “OR if” or “AND if”, NOT both in the same flow!
Within the same logic flow, you can have multiple rules, as many as you need. But keep in mind that you can only connect them all, with one type of the logical conjunctions, “or if” & “and if”. So if you change these conjunctions while you are editing the logic flow, our system will automatically change every other conjunction too.
It happens because we cannot possibly know how you want to group the rules together; unless we design a user-interface that is too complicated and very un-user-friendly. And this is something we don’t do as you’ve noticed.
Let’s give make an example, to make this easier to understand. If a user creates a logic flow with 3 rules like this one:
IF a or if b and if c, THEN do X
There are two possible ways to interpret such a flow:
1- IF (a or b) and if (c)
2- IF (a) or if (b and c)
As you see, it really matters where you put those parentheses, and how you group the rules. Even having 3 rules makes it complicated, so just imagine having several of these rules and not knowing how the users wants to group them.
In a mathematical formula you could do this easily, but in a web-app, it will just become an unnecessarily complicated thing which nobody would use and understand, unless they are super advanced users with very specific needs.
However, luckily advanced users with such needs can easily achieve their goal by designing multiple logic flows instead 😉 so it’s all good.