Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Image Removed When using multivalued attributes as conditions in a decision table, make sure you place the condition alternatives in the correct order.

Warning

Since a decision table is evaluated by the Blueriq rule engine from left to right

...

, a decision can have an unexpected outcome when the condition alternatives are in the incorrect order.

See the example below. This decision advises how to prepare yourself by means of clothes or an umbrella in different weather conditions, when going outside.

...

  1. "What will the advice be when it rains and the wind blows?"
    It should be "Wear a raincoat"
  2. "What will the advice be when the sun shines and the wind blows?"
    It should be "Wear a coat"

...

Warning
iconfalse

Image Added

When it rains and the wind blows, the advice will be to wear a coat. Evaluated from left to right, the second condition alternative applies:

...

Warning
iconfalse

Image Added

When the sun shines and the wind blows, the advice will be "No dresscode". Evaluated from left to right, the first condition alternative applies:

...

Warning
iconfalse

Image Added

The correct decision table is given below, where the conditions are placed intentionally in the following order: From left to right from means from most complete to least complete.

...

Tip
iconfalse

Image Added

Another option is to use two conditions, both regarding the weather. Blueriq does not prohibit us to do so, which is nice. See below, where all possible combinations are modeled.

...

Tip
iconfalse

Image Added

The choice between the last two decision tables (in green) is a matter of taste. Some prefer the first, some prefer the second. 
A downside of the second decision table is that it is highly redundant. It is possible to make use of the fact that Blueriq evaluates decision tables from left to right to shorten the decision table a bit, as shown below, but this is not advised!

Image Removed
type
Note
iconfalse

Image Added

UI Text Box

Info

Carefully reading the decision table shown above might suggest that when first selecting "Rain" and then "Wind" makes the last condition alternative apply (and therefor Umbrella is advised). However, there is

no

no first and second in

e

a multivalued attribute, so selecting ["Rain", Wind] is exactly the same as selecting ["Wind","Rain"]. The third condition alternative will apply and in both circumstances, a raincoat is advised. As it should be!

...

 


Panel
Section
Column
width50%

Main chapter: Design considerations

Previous: Evaluation of decision tables from left to rightAttributes and expressions

Column

Next: Dealing with lots of logic and multiple versionselements