Expertsystemen

 

Conditions

Conditions give you control over what will happen at what point. At the very basic level, they check what a user answered and use that to determine what node to go to (see Getting started with conditions).

However, you can do a lot more with conditions. The most important aspect of conditions is the use of operators. Consider “I want the user to go to node taxes when he has more than €10.000,- on his account”. To do so, you can ask the user a question about his or her account balance. Now all you have to do is add the condition.

In this case, we need the greater-than operator (>). This operator checks whether or not everything on the left of it is larger than what’s on the right. For example, 5 > 3 reads as “five is larger than three”, which is of course always true. However, when we use account_balance > 10000, it depends on the account balance!

example condition on account balance
example condition on account balance

In xxllnc Expertsystemen, you can use this kind of logic to send users through a specific path. In the example above, whenever the user enters €500,- as their bank account, account_balance > 10000 will not be true (500 is not larger than 10.000) and the user will not be send to taxes.

Conditions can also be used in formulas or text fragments. We will discuss several examples below.

Adding a condition for a connection

In order to make the taxes model described above, we need our own condition. To do so, make a model with three nodes: the start node, a node taxes and a node House. The latter two both have to be connected to the start node. It is also good to add some text to them, so you’ll notice when you arrive at them.

the decision tree used for the example
the decision tree used for the example

Now, in order to guide the user to the right node, double-click the connection from start to taxes. There are several ways of entering a condition. The first is to simply type your condition in the condition field. However, for less experienced users there is a help screen. You can access it by selecting the button left of the field, as shown below.

selecting the condition help screen
selecting the condition help screen

You can now enter the condition in the screen shown below. The button for the Finder is highlighted.

the condition screen
the condition screen

On the left of the equals-sign (=), enter account_balance and on the right enter 10000. Furthermore, make sure to change the equals sign (=) to a greater-than operator >. You can use the Finder to look up the account balance variable. You should end up with the following screen:

the condition screen
the condition screen

Adding a condition for a formula

Formulas can be made conditional as well. We will use the same model as used with the previous example. However, we will add a formula in the taxes node. This formula will calculate the amount of taxes the user has to pay. It will be dependant on the account balance.

To do so, add a formula called tax to the node taxes. When the user has more than €20.000,- on his account, he or she will have to pay 30% as tax. You can model this with the following formula: start.account_balance * 0.3, as can be seen in the picture below.

formula for taxes
formula for taxes

Now you can add the condition. Again, you can do this in multiple ways. The most convenient is by using the Finder to select the right variable and change the equals sign (=). You should get a screen as shown below.

adding the condition
adding the condition

Adding a condition for a text fragment

Adding a condition to a text fragment works exactly the same as for a formula or connection. It is especially useful if you are interested in document assembly. For more information on conditions in text fragments, see conditional text fragments.

Using multiple conditions with AND and OR

Sometimes you will need more complicated logic in your model. For example, only people who have more than €10.000,- on their account and have no debts, or people own both a car and a house. In those cases, you can make use of the AND and OR operators. AND and OR can combine multiple conditions. Below is an example of an AND condition:

adding the condition
adding the condition

In this example, only users who have a car and have more than €10.000,- on their account will go to the node taxes. Having a car but not more than €10.000,- will not work.

Important! You have to put parentheses around each condition!

The OR operator works slightly different. It will be true if either one of the conditions is true. In the example above, replacing AND by OR will send anyone with either a car or €10.000,- to the tax node.