You are here: Reference > Rule types > Decision Trees > Decision Tree form - Completing the Decision tab

  Decision Tree form
Completing the Decision tab (Advanced format)

  1. About 
  2. New 
  3. Decision 
  4. Configuration 
  5. Parameters 
  6. Pages & Classes 
  1. Test Cases 
  2. History 
  3. More... 

Record the if.. then.. logic of the decision tree in the three-column array. These unlabeled columns are known as the comparison, action, and next value columns.

This help topic describes the advanced format of the Decision tab. If you encounter a Decision tab that does not contain Evaluate Parameter or Evaluate property name see Completing the Decision tab (Basic format).

At runtime, the system evaluates the if portion of the array, starting at the top row, and continues until it reaches a Return statement. If the system processes the entire tree but does not reach a Return statement, it returns the Otherwise value.

The Evaluate field at the topic identifies the Property value, if any, from the Configuration tab. When this field is blank, the value is taken from a parameter of the Property-Map-DecisionTree method. The Evaluate field does not appear if this decision tree was created in basic mode or if the Allowed to Evaluate Properties? box on the Configuration tab is not selected.

If the Redirect this Rule? box on the Configuration tab is selected, this circumstance-qualified rule is redirected and this tab appears blank.

Understanding the branch structure

Each indent level supports comparisons against a single value, determined by context:

Using the controls

Click in a field to display controls for that row or field.

Control

Action

 Collapse All  

Click to hide subtree structures, or click a minus sign to hide subtree structures.

 Expand All  

Click to show all the subtree structures, or click a plus sign to display specific subtrees.

magnifying glass icon

Click to start the Expression Builder. This tool provides prompting and guidance when creating complex expressions involving functions. See Using the Expression Builder.

magnifying glass icon
magnifying glass

Click to review a property (for a field that contains a property reference).

row buttons
add row and

Click to select a row; the background color changes to peach (). Then click theAppend Row, add row, or buttons to insert, append, or delete a row. (Equivalently, use the  Insert  ,  Shift+Insert  , and  Delete   keys).

 Show Conflicts  

Click to analyze the consistency of the tree. This button displays a warning icon () next to any parts of the tree that are unreachable. For example, a branch that extends below the two mutually contradictory tests (if Width > 100) and (if Width < 100) is unreachable.

Click the warning icon to highlight in orange () the parts of the tree that cause that branch to be unreachable. The selected has a yellow background (). A decision tree that contains no unreachable parts is called consistent.

The presence of unreachable portions of the tree does not prevent you from saving the rule. Comparisons involving two properties such as Width > Length are ignored in this analysis.

Conflicts are also checked when you save the form, and when you use the Guardrails landing page for the application.

Conflicts do not prevent the rule from validating or executing, but may indicate that a rule does not work as intended.

 Show Completeness  

Click to automatically add suggested portions of the decision tree that cover additional cases and reduce or eliminate the situations that fall through to the Otherwise Return expression. Suggested additions appear with a light green highlight () and may refer to values you must modify such as Result or DecisionTreeInputParam. These additions are only suggestions; you can alter or delete them.

Display Name

Display Label

When reviewing this tab, you can see a presentation using either property names or the Short Description (pyLabel) of properties. Click to toggle the display. (Note that two or more properties may have the same Short Description text.)

Modifying branches with drag and drop operations

To move a subtree structure, drag the small circle at its left.

To copy a subtree structure, drag while holding down the  CTRL   key, and drop it on the destination node.

Completing fields in a branch

Field

Description

if / if value is

add rowEnter a value for the current context, or a comparison starting with one of the six comparison operators <, >, =, !=, >= or <=.

The value can be an expression, such as a literal value between quotes or a Single Value property reference. (For basics of expressions, see About expressions.) Click the button to select a pattern that helps you enter Boolean expressions. The form changes to reflect your pattern decision.

This field is not visible if the action field is set to Otherwise.

(action)

Select an action from the selection list. The action you choose determines which branch of this decision tree the system follows at runtime when the condition to its left is reached and evaluates to true. Select a keyword:

Keyword

Effect

Return

Causes this branch of the decision tree to end processing when reached. If the system finds a Return row to be true, the value in the right column of this row becomes the result of the decision tree evaluation.

Continue

Causes the next row of the decision tree to be nested within this branch. The system reflects the nesting by indenting the next row on the form display and changing the arrow to , so that it points down to the indented row. The context for the Continue statement is the same as for the current statement.

Evaluate

Causes the system to use a new property, identified in the right column, as the context for nested comparisons below the current row. Enter a Single Value property reference in the value field to the right of the action field.

This choice is not available for decision trees created in basic mode, or when the Allowed to Evaluate Properties box on the Configuration tab is not selected.

Call Decision Tree

Causes the system to evaluate another decision tree, identified in the field to the right of this value. The result of the second decision tree becomes the result of this decision tree, and evaluation ends.

If, at runtime this decision table evaluates in a backward-chaining context (the AllowMissingProperties parameter to the method is true), the system evaluates the called decision tree in the same way.

This choice is not available for decision trees created in basic mode, or when the Allowed to Call Decision box on the Configuration tab is not selected.

Call Map Value

Causes the system to evaluate a map value, identified in the next field. The result of the map value becomes the result of this decision tree, and evaluation ends.

If, at runtime this decision table evaluated in a backward-chaining context (the AllowMissingProperties parameter to the method is true), the system evaluates the called map value in the same way.

This choice is not available for decision trees created in basic mode, or when the Allowed to Call Decision box on the Configuration tab is not selected.

Call Decision Table

Causes the system to evaluate a decision table, identified in the next field. The result of the decision table becomes the result of this decision tree, and evaluation ends.

If, at runtime this decision table evaluates in a backward-chaining context (the AllowMissingProperties parameter to the method is true), the system evaluates the called map value in the same way.

This choice is not available for decision trees created in basic mode, or when the Allowed to Call Decision box on the Configuration tab is not selected.

Otherwise

Select Otherwise only as the final choice in a set of alternatives. The value in the right column of this bottom row becomes the result of this decision tree evaluation.


(next value)

Identify a target based on the action value.

If you selected Return as the action and the Configuration tab is not blank, select one of the values listed on the Configuration tab.

Otherwise, enter a value or expression here that allows evaluation of the decision tree to continue. You can reference a property on any page, but be sure to enter any page you reference on the Pages & Classes tab. Enter a value that depends on the one of the following action value keywords:

Return or
Otherwise
Enter an expression for the result of this decision tree when this row is the final one evaluated.
Evaluate Identify a property reference that the system uses at runtime to evaluate the nested comparisons beneath the row that contains the Evaluate action. This optional is not available for decision trees created in basic mode, or when the Allowed to Evaluate Properties box on the Configuration tab is not selected.
Call Decision Tree Select another decision tree. The result of that rule becomes the result of this rule.
Call Map Value Select a map value. The result of that rule becomes the result of this rule.
Call Decision Table Select a decision table. The result of that rule becomes the result of this rule.
Call Base Decision Tree Available only for decision trees that are circumstance-qualified. When selected, the base (or non-qualified) decision tree of the same name, RuleSet, and version is executed.
Take Action Set one or more properties to values as the only outcome of the decision tree. This ends evaluation of the rule, returning the null string as its result. This capability is not available for decision trees created in basic mode, or when the Allowed to Take Action box on the Configuration tab is not selected.

This input field does not appear when the action value is Continue.

Click(magnifying glass) to open a referenced decision tree, map value, or decision table. (The Call Decision Tree, Call Map Value, and Call Decision Table choices are not available for decision trees created in basic mode, or when the Allowed to Call Decisions? field on the Configuration tab is not selected.)

add rowClick to access an optional array of properties and values. Clickto hide this array.

When the system evaluates the decision tree at runtime and this row is the source of the results, the system also recomputes the value of the target properties identified in this array. Order is significant.

This capability is not available for decision trees created in basic mode, or for decision trees when the Allowed to Set Take Action? box on the Configuration tab is not selected.

Property

Optional. Identify a property reference corresponding to a value to be set.

Value

Enter a value for that property — a constant, property reference, or expression.

Completing the Otherwise branch

Field

Description

Otherwise  
Return

Choose Return or Take Action to define the outcome of this decision tree when no result is determined by the tree structure above. If this field is blank and no other return value is computed, the system returns the null value.

Return

Choose Return to return a value, an expression defining a value to return if the evaluation of earlier branches does not return a value.

If the Allowed Results list on the Configuration tab is not blank, this field is required and limited to one of the constant values listed on that tab.

For guided assistance in entering an expression, click the magnifying glass icon () to start the Expression Builder.

Note: During backward chaining computations for Declare Expression rules, if the Otherwise Return value can be computed, but properties needed for other parts of the form are not defined, the Otherwise Return value is returned as the value of the decision table.

Take Action

Choose Take Action (when this choice is visible) to return the empty string as the value of the decision tree, but to also evaluate a function identified by an alias in the Allowed Action Functions field of the Configuration tab.

Most commonly, the Take Action choice allows one or more property values to be set as the outcome of a decision tree.

Select a property in the Set field. Enter a value for the property in the Equal to field.

Up About Decision Trees