Working with Decision Tables

  • Updated

The contents of this article pertain to the current version of Author Studio released in the fall of 2023. If you have not updated to the newest version of the product, see our Archived Author Studio Documentation here.

Decision tables are a powerful way to represent a set of related business rules in matrix form. They are exceptionally useful in modeling and maintaining large sets of complex business decisions in a compact format.

A decision table is made up of conditions and resulting actions. The resulting matrix of conditions and actions is displayed in a precise yet compact tabular manner, as rows of rules, which can be easily managed by business users. 

The decision table evaluates from the top down until it finds a path where all conditions resolve to True. Business experts can easily check the logic represented in a decision table for consistency, completeness, and correctness.

Decision Table Workspace

Decision Table Workspace.png

1. Filter

The Filter checks the input within all columns and rows. If there is a match, the complete row will show for the match. The filter allows for large data sets to be easily searched.

2. Condition

Selecting Condition will add a new column to the decision table. 

Each defined Condition Set creates a corresponding column in the decision table. Specific instances of named Expressions are defined for each Condition in a Condition set, which will populate the selections for each row in the Condition's column within the decision table. 

There are many options for defining Conditions: Simple field comparison, Syntax Expression, Business Language Expression, or building the conditions from a value list.

3. Action

Selecting Action will add a new column to the decision table.

The end result of the logic path through a decision table is determined by a set of defined Actions. Multiple Action Sets can be defined (each being a column in the decision table) with many Actions for each set. These Actions will then be available to associate with a row of conditions in the body of the decision table.

4. Row

Selecting Row will add a new row to the decision table. 

Decision Table Properties

Decision Table PRoperties.png

1. Name
The title of the decision table is saved here.

2. Enabled
You can enable or disable the selected decision table. Disabled decision tables will not run when the rule set is executed.

3. Description
The description is saved and edited here.

Runtime

4. Compatibility Mode

When checked, the identity of conditions that evaluate and actions that execute will include the row identifier (e.g. Row3). Turning this feature on will result in slower compilation and execution performance.

If the Run Mode of the parent rule set is Auto-Optimized, Compatibility mode is the only option and must be used.

5. Exit At First True

When checked, the decision table will stop evaluating rows after a row matches its conditions and executes its actions. If unchecked, execution continues to evaluate the remaining rows in the table and executes actions for any row whose conditions match.

Column Editor

Manage the content of the columns by selecting the column header and selecting desired options.

Manage.gif

 

Pencil Icon

Opens a menu where you can edit the column.

Edit Column.png

1. Evaluate for this Entity Field

Links an action or a condition to a specific entity field from the list of entities that are available in the dropdown.

2. Condition Display Name (optional)

Specifies the name of the Condition Set that appears in the decision table column header.

3. Include -Any- Condition

Check or uncheck the -Any- option for the condition column by clicking on the edit icon on the condition heading. The -Any- option will appear in the values dropdown when the -Any- option is turned on.

Enable Any Option.gif

4. Advanced Options

Under the Advanced Options section, you will find the Value List field. If the Condition is linked to a Field, a value list may be selected to automatically populate the Condition Set.

 

Advanced Options.png

Add Column Icon

When clicked, the editor adds the same column type as an active column.

Add Column Icon.png

Trash Icon

Deletes the column.

Delete Column Icon.png

Row Editor

Manage the content of the rows by selecting the row ID and selecting desired options.

Add Row Icon

Adds a new row.

addrow.gif

Copy Row Icon

Copies and pastes the selected row below.

copyrow.gif

Trash Icon

Deletes the selected row.

deleterow.gif

Cell Selection for Condition

Select a Value

When a cell is selected, there is an option to select from the connected Value List. A data selection can be made by selecting a value. 

The Any option provides for a catch-all that essentially triggers the Condition to True. 

selectvalue.gif

Edit a Value

An existing value can be edited by clicking on the Edit icon that appears to the left of the Trash icon. Editing the value will update all cells with that value.

mceclip0.png

Delete a Value

Data from the Value List can also be removed from the decision table, by clicking on the Trash icon. 

deletevalue.gif

Select +New Value

In the current release of Author Studio™, Field is the only active Condition Type that can be selected. In future releases, Expression and business language will become active fields.

  • Select an Expression and enter the appropriate Value(s) for the desired condition.
  • Under Condition Display Name (optional), enter a name desired to be shown when the value is set to True.

selectnew.gif

Cell Selection for Action

Select a Value

When a cell is selected, there is an option to select from the connected Value List. A data selection can be made by selecting a value. 

The Ignore option means the cell will be ignored as if it did not exist.

selectvalue2.gif

Delete a Value

Data from the Value List can also be removed from the decision table by clicking on the Trash icon.

deletevalue2.gif

Select +New Value

Enter a Value to be placed in the cell.

Action Display (optional) enter a name desired to be shown in the value dropdown list and in the cell when selected.

Select2.gif

Drag and Drop Functionality

Columns and rows are designed to be dragged and dropped for easy ordering. Click and drag the decision table rows to change the execution order. 

dragcolumns.gif

dragrows.gif

Was this article helpful?

0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.