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.



Pick the hit policy on purpose.