Book a Demo

Please note : This help page is not for the latest version of Enterprise Architect. The latest help can be found here.

Prev Next

Decision Table

This icon in the top right corner of the Decision element or Business Knowledge (BKM) Model element indicates that it is implemented as a Decision Table. Decision Tables are the most commonly used of the expression types because of their tabular format, which is familiar to Business Managers and other non-technical staff who commonly work with spreadsheets and other tabular representations. Fundamentally, the Decision Table is a tabular representation of a set of related input and output expressions, organized into rules. The rules - which can be organized horizontally or vertically - indicate which output entry applies to a specific set of input entries. For example, we might have two rules, one that says that if a customer has a 'Gold' credit rating and spends $20,000 or more a year they will receive a discount of 20%, and a second rule that says if they have a 'Gold' credit rating and spend less than $20,000 they will receive a discount of 15%. When the Decision Table is put into production the input values would be supplied each time a decision is executed and, depending on the values, the customer would receive either a 15% or 20% discount.

The image shows the key parts of the DMN Expression window for the definition of  Decision Tables. Recall that there are three other types of value expression and the window will appear differently for each of them. This list contains the main parts of a Decision Table:

  • A list of rules, where each rule contains specific input entries and corresponding output entries
  • A list of Input Clauses, defined as expressions that typically involve one or more input values
  • A list of Output Clauses, defining the output corresponding to a specific set of inputs
  • The Table Hit Policy that specifies how the rules are applied

An Input Clause consists of an expression and an optional list of allowed values. Very often, the expression is simply an unmodified input value; however, it could also be an expression involving more than one input value, or perhaps a conditional statement such as 'Application Risk Score > 100'.  The allowable values apply to the expression result rather than the input values used.

Each Output Clause consists of an identifier (a name) and, again, an optional list of allowed values for that clause. The Table itself consists of a list of numbered rules, defining a set of input entries and corresponding output entries. The Decision Table should contain all  the inputs required to determine an output (and only those inputs). In determining which rules are applied, the expressions defined in the Input Clauses are evaluated for the given inputs and the expression results are then used to find rules with matching input entries.