FEEL expressions
FEEL is the expression language DMN uses in table cells and expressions. It is deliberately readable, so a business analyst can write a range or a negation without learning a programming language.
It is what makes a DMN table more expressive than a spreadsheet.
#When it matters
Any table where a cell needs to mean a range rather than a value.
Decisions with dates, durations or list membership.
#The symbols
Symbol | Means |
|---|---|
Exact value | "UK" or 42 |
Range | [18..65] inclusive, (18..65) exclusive, [18..65) mixed |
Comparison | >= 1000 |
List | "UK", "IE", "FR" |
Negation | not("UK") |
Any value | - (a dash means this input is irrelevant to this rule) |
Date | date("2026-09-01") |
#A few things that catch people out
A dash means the input does not matter for that rule. An empty cell is not the same thing.
Strings need double quotes. A bare word is read as a name, not a value.
Ranges are inclusive or exclusive depending on the bracket, exactly as in mathematics.
#Related
Pick the hit policy on purpose.
