Build a DMN decision table

Building a table is mechanical once the structure is clear: add the input columns, add the output columns, then add one row per rule.

Set the hit policy deliberately before writing rules, because it decides what happens when two of them match.


#What this is for

  • Turning a set of business rules into something executable.

  • Replacing a spreadsheet of rules that nobody can validate.

  • Documenting rules a business owner will maintain.


#How it works

Action

How

Add an input column

Set its expression and its type reference.

Add an output column

One or more, each with a type.

Allowed values

Constrain a column to a list, which turns typos into errors.

Add rules

One row each, with a value, a range, or a dash in every input cell.

Hit policy

Top-left. Unique is the safest default.

Annotation column

Right-most. Notes that do not affect the result.


#A few things that catch people out

  • Set allowed values where you can. It is the difference between a validated table and a spreadsheet.

  • A dash means the input is irrelevant to that rule. An empty cell is not the same thing.

  • With Unique, overlapping rules become a visible error, which is exactly what you want.



Draw the map before writing the rules.