Decision Matrix

Introduction

The Decision Matrix is a decision-support tool that allows users to systematically reach a single or multiple outcome conclusion when several conditions and values have to be evaluated. In XMPro, the conclusion is always either one or many user(s) or group(s) of users, depending on how the matrices are configured.  Decision Matrix conclusions are typically used to determine process flow routing, i.e. who will be the next to act in the process.

Composition Overview

The Decision Matrix tool is composed of two parts. The first is the Decision Matrix Wizard where the matrices are created and configured. The second part is the Decision Matrix Connector that will be used to connect the matrices to an activity.

The Decision Matrix Wizard allows users to define a set of conditions to be used on the matrix. Rows of rules are then created using these conditions and different operators. Expected values are defined to satisfy each rule, and then outcomes or conclusions in the form of roles or business groups are assigned for each rule.

Once a matrix has been configured on the wizard, the Decision Matrix Connector is used to configure the matrix on an activity. The Connector executes the matrix rules in the order that they were configured, and helps map the data from the screen as entered by the user or retrieved from the database, to the conditions set up in the Decision Matrix and their respective outcomes.

As we move to the next section, it is important to know where to find and access the Decision Matrix Wizard and Connector.  Access to the Decision Matrix Wizard and Connector is granted at an individual level. Contact your System Administrator for assistance if you don’t have access rights.

The Decision Matrix Wizard can be found on the Design tab in the XMDesigner under the Business Rules grouping on XMPro v6.6, or on the Wizards tab under the Business Rules grouping on XMPro v6.1 and v6.5:

fig-1-rahul-article

XMDesigner v6.6

decision_matrix

XMDesigner v6.1 and v6.5

The XMPro Decision Matrix Connector is used within the XMPro Integration Wizard:

xmpro-integration-wizard

Decision Matrix Example

Background Information

In this example, we’ll be using a simple process that consists of two activities; Submit Expenses and Review Expenses. A decision matrix will need to be configured and set up on the Submit Expenses activity in order to determine who the expense reviewer will be.  The expense reviewer is based on the total amount of expenses and the type of expense.

There are two very broad expense categories and each has different expense types:

  1. Travel Expenses and
  2. Corporate Expenses

Travel Expenses is composed of ‘travel, car hire, air fare, stationary, meal, and hotel’.

The Corporate expenses category is only composed of ‘machinery’.

An expense report can only be one:

  • Travel Expenses or
  • Corporate Expenses

The following rules apply to determine the expense reviewer:

  • If the total amount is less than or equal to $50 and expense category is ‘Travel Expenses’
    • Then Expense Reviewer is the Supervisor
  • If the total amount is greater than $50 and expense category is ‘Travel Expenses’
    • Then Expense Reviewer is the Manager
  • If the expense category is ‘Corporate Expenses’, regardless of the amount spent
    • Then Expense Reviewer is the Director

Normally, a decision matrix is a ‘hidden’ player in determining process routing, meaning that it’s configured to act in the background and not visible to the end user. For the purposes of illustration, the conclusion or outcome will be visible on the Submit Expense form.

Configuration and Set Up

Decision Matrix Configuration

Step 1

If you are using v6.6, click on Decision Matrix from the Design tab. Otherwise, click on the Decision Matrix from the Wizards tab.

fig-1-rahul-article

XMDesigner v6.6

decision_matrix

XMDesigner v6.1 and v6.5

decision-matrix-wizard

Step 2

Enter “ExpenseRouting” as the name for a new Decision Matrix on the Select Matrix tab and click ‘Next’

This is to set up a new Decision Matrix with the name ExpenseRouting

decision-matrix-step-2

Step 3

Enter “Amount” and “Type” as the condition names and “Numeric” and “Text” as the Types, respectively on the Conditions tab and click ‘Next’

This is to set up two condition properties, of text and numeric types, for inputs or values to be evaluated in the decision matrix.

step-3

 Step 4

For condition(s):

  • ‘Amount’
    • Enter operator “<=”
    • And value “50”
  • ‘Type’.
    • Enter operator “In”
    • And values “Travel, Car Hire, Air Fare, Stationery, Meal, Hotel”
  • For the Conclusion, select the role “rahuld”

In this step, we are setting up the following rule:

  • If the total amount is less than or equal to $50 and expense category is ‘Travel Expenses’
    • Then Expense Reviewer is the Supervisor

step-4

Step 5

For condition

  • ‘Amount’
    • Enter operator “>”
    • And value “50”
  • ‘Type’.
    • Enter operator “In”
    • And values “Travel, Car Hire, Air Fare, Stationery, Meal, Hotel”
  • For the Conclusion, select the role “keithm”

In this step, we are setting up the following rule:

  • If the total amount is greater than $50 and expense category is ‘Travel Expenses’
    • Then Expense Reviewer is the Manager

step-5

Step 6
  • Leave the operator and value as default for the condition ‘Amount’.
  • Enter operator “==”, and value “Machinery” for the condition ‘Type’.
  • For the Conclusion, select the role “James Smith”

In this step, we are setting up the following rule:

  • If the expense category is ‘Corporate Expenses’, regardless of the amount spent
    • Then Expense Reviewer is the Director

step-6

Step 7

As a catch all for any uncovered conditions or scenarios:

  • Leave the operator and value as default for the condition ‘Amount’
  • Leave the operator and value as default for the condition ‘Type’
  • Select ‘Site Administrator’ as a conclusion

This is particularly useful in a Single Outcome configuration. Since the matrix rules are evaluated in the order in which they were configured, and this rule is the last one, if there are any inputs that do not match any of the conditions in the rows above, the ‘catch all’ rule will make sure to return a result/conclusion.

In the case of a Multiple Outcome configuration, it is advised to not configure a catch all unless necessary as this outcome will be returned for every single scenario.

step-7

Decision Matrix Connector Set Up

Step 8
  • Navigate to the example Expense process
  • Right-click on Expense Submission activity
  • Click on XMPro Integration

step-9

Step 9

Select “XMPro Decision Matrix Connector” as the Plugin and leave the Initializing Parameters as the default

step-9-actual

Step 10

Select the previously configured Decision Matrix “ExpenseRouting” as the Source Object

step-10

Step 11

Select “Singe Outcome Decision” as the Allowed Operation

step-11

Step 12

Select the conditions “Amount” and “Type” as the input properties

step-12

 Step 13

Map the selected conditions to the relevant existing control elements as below

step-13

Step 14

Select “Conclusion” as the output property

step-14-actual

Step 15

Map the output property as the object to the relevant existing control element on the activity

step-15-actual

Step 16
  • Give the integration a relevant name
  • Select if the integration is to execute when the activity first loads or when the activity is refreshed (via a configured post back)
  • Apply execution conditions if necessary

step-16-actual

Step 17

The Expense Review activity can then be routed to the resulting role from the Decision Matrix conclusion. This is done by using the “Approver” field from Expense Submission activity and using it as the Creation Value for the Expense Review’s Role Object Value creation type.

Note: This step is not in scope for the Decision Matrix functionality, but is listed as a step to complete the loop for the two- step Expense Submission and Review process.

step-17-actual

Results

The conclusion outcome can be used for dynamic routing to the specified roles or business groups. To demonstrate the results, a Show Approver check box was added to the screen with the AutoPostBack property set to ‘True’ and the decision matrix conclusion was mapped to the Approver field on the screen to dynamically display the outcome on refresh:

  • If total expense amount is <= 50 and the expense category is Travel Expenses:
    • Result = Rahul D (Supervisor)

results-1

  • If total expense amount is > 50 and the expense category is Travel Expenses:
    • Result = Keith M (Manager)

results-2

 

  • If expense category is a Corporate Expenses (Machinery), regardless of the amount:
    • Result = James Smith (Director)

results-3

Detailed Configuration Options

The following is a comprehensive outline of all the configuration options available for the Decision Matrix Wizard and Connector.

Decision Matrix Wizard

Input Tabs on the Wizard:

  1. Select Matrix Tab

On the Select Matrix tab, users can choose to create a new decision matrix or select an existing matrix they would like to modify. The following are the two options available:

  • Add a new decision matrix
  • Select an existing decision matrix

page-16

2. Matrix Conditions Tab

On the Conditions tab, users can add or modify conditions by giving a meaningful name to describe the condition and selecting the data type. Inputs required on this tab are:

  • Condition Name
    • User input; text
  • Type
    • Pre-configured list; numeric and text only

page-17
3. Configure Tab

On the Configure tab, users can define row operators and input fields to test the conditions.

Row Operators

  • Move row up
    • Used to move the configuration row up by one line
    • This is important to be ordered in a way that the first conclusion that is ‘true’ is returned in the order of execution when configured with the Decision Matrix Connector as a Single Outcome Decision
  • Move row down
    • Used to move the configuration row down by one line
    • This is important to be ordered in a way that the first conclusion that is ‘true’ is returned in the order of execution when configured with the Decision Matrix Connector as a Single Outcome Decision
  • Duplicate row
    • Used to duplicate the previous configuration row
    • This saves the effort of re-entering a configuration when there is a small difference in either/or both operator and value.

Row operators are as highlighted in blue below.

page-18

Test Condition Tab

  • Operators
    • A choice between 8 operators as shown above. See detailed list of operator types below.
  • Value
    • A value must be typed for each condition based on the data type chosen on the previous tab (Numeric or Text).
    • Multiple values can be entered either by separating the values by commas or by entering each value on a new line.

Conclusion Tab

  • Value
    • A selection should be made between the available list of Business Groups or Roles

Types of Operators

  • “==” or “Equals”
    • This works alike for both Text and Numeric
    • Selecting this operator makes it look for an exact match of the corresponding value entered
  • “!=” or “Not Equals”
    • This works alike for both Text and Numeric
    • Selecting this operator will return true for all instances except for when an exact match of the corresponding value entered is found
  • “>” or “Greater Than”
    • For Numeric, if the data is greater than the corresponding value then it returns ‘true’
    • For Text, if all the alphabets of a word are at a minimum equal (in the same order) and at least one alphabet is greater than (for example “b” is greater than “a”) the corresponding value, then the result is ‘true’
    • Example: test > best
  • “<” or “Less Than”
    • For Numeric, if the data is less than the corresponding value then it returns ‘true’
    • For Text, if all the alphabets of a word are at a maximum equal (in the same order) and at least one alphabet is less than (for example “y” is less than “z”) the corresponding value, then the result is ‘true’
    • Example: pride < prize
  • “>=” or “Greater Than or Equals”
    • For Numeric, if the data is greater than or equal to the corresponding value then it returns ‘true’
    • For Text, if all the alphabets of a word are at a minimum equal (in the same order) and at least one alphabet is greater than (for example “b” is greater than “a”) the corresponding value, then the result is ‘true’
  • “<=” “Less Than or Equals”
    • For Numeric, if the data is less than or equal to the corresponding value then it returns ‘true’
    • For Text, if all the alphabets of a word are at a maximum equal (in the same order) and at least one alphabet is less than (for example “y” is less than “z”) the corresponding value, then the result is ‘true’
  • “In”
    • This works alike for both Text and Numeric
    • If the data is contained in the list of corresponding values assigned, then the result is ‘true’
    • Example: If data entered or retrieved is “Alpha” and the corresponding values for the “In” operator are (“Alpha”, “Bravo”, “Charlie”) then the result is ‘true’
  • “Between”
    • For Numeric, if the data lies between the corresponding values entered (not including) then the result is ‘true’
    • For Text, if at least one of the alphabets of a word lies in between (for example “c” is in between “a” and “e”) when compared to the test entered in the corresponding value field, then the result is true
    • Example: “testb” lies in between “test” and “tests”

Decision Matrix Connector

Required Input Options:

1.  Connector Tab

  • Select Decision Matrix Connector as the Plugin
  • Leave the Initializing Parameters as defined

page-192. Objects Tab

  • Select the previously configured Decision Matrix as the source object

page-19-2

3. Operations Tab

  • Single Outcome Decision
    • Used when a single outcome/conclusion is to be returned when the input(s) satisfy the first condition.
  • Multiple Outcome Decision
    • Used when multiple outcomes/conclusions should be returned when input(s) satisfy multiple conditions.

page-20

4. Input Properties Tab

  • Input Mappings
    • Select the Matrix Conditions to be used as inputs

page-21

 

5. Input Mappings Tab

  • Configure Mappings
    • Map the matrix condition to an existing field on the form, or;
    • Automatically create a new field on the form and map the matrix condition to it

5

6. Output Properties Tab

  • Output Mappings
    • Select the “Conclusion” property as configured in the Decision Matrix Wizard

6

7. Output Mappings Tab

  • Configure Mappings
    • Map the matrix condition to an existing field on the form, or;
    • Automatically create a new field on the form and map the matrix condition to it

7

8. Save Tab – Configuration Complete

The following need to be entered on this tab

  • Name: Give a meaningful name
  • Executed: Execution type (when activity first loads or is refreshed)
  • Execution conditions (Optional)

Click on ‘Finish’ to complete the integration configuration.

888

This is the legacy version of the XMPro Documentation site. For the latest XMPro documentation, please visit documentation.xmpro.com

X