You are here:
Decision Matrices
A decision matrix matches input values to a table row and returns the row's output values. Expression sets and various digital procedures can call decision matrices. Decision matrices accept JSON input from, and return JSON output to the digital processes that call the matrices. Decision matrices are useful for implementing complex rules in a systematic, readable manner.
Required Editions
| User Permissions Needed | |
|---|---|
| To create, update, and delete decision matrices and matrix versions: | Rule Engine Designer |
| To use decision matrices in Business Rules Engine: | Rule Engine Runtime |
You can choose from these decision matrix types based on your business needs:
Multiple versions of the same decision matrix can be active simultaneously. The start date, end date, and rank determine which version of the matrix to use. Ranks are ascending, so rank 2 is higher than rank 1. If the start date of one version of a decision matrix overlaps the end date of another, you can set rank values to determine which one to use. If a call to a decision matrix specifies an effective date, that date is used to find the correct matrix. If an effective date isn't specified, the default is today.
- Standard Decision Matrices
Standard decision matrices have characteristics, such as input columns, output columns, and versions, that are common to all decision matrices, irrespective of their type. Use standard decision matrices when you don't need the matrix to be part of a group or to be versioned row by row. - Grouped Decision Matrices
With grouped matrices, you can group a matrix's data into different versions if several rows have the same column values. For example, in a matrix with age and gender-based transport fares, you can use gender as the matrix key, with male and female as the key values for the versions. This grouping prevents repeating male and female as row values in the matrix and groups the data for males in one version and females in another. - Text Ranges in Decision Matrices
If your matrix has considerable data, use ranges to keep the matrix small. With text ranges, you can concisely specify a range of acceptable values in a matrix column instead of listing individual values. - Numeric Ranges in Decision Matrices
Use numeric ranges to keep matrices with sizable data small. With number ranges, you can concisely specify a range of acceptable values in a matrix column instead of listing individual values. - Guidelines for Creating and Editing Decision Matrices
Decision matrices require certain criteria to be met to successfully create versions or modify the data in existing versions. - Create Standard Decision Matrices
You can create a standard decision matrix by uploading a CSV file, by creating a version of an existing matrix, or manually. - Create Grouped Decision Matrices
You can create a decision matrix that groups rows in versions based on a group key and, if necessary, a sub group key. Versions in a grouped decision matrix can have different start date time values. When a grouped matrix is invoked, the group or subgroup keys are considered like input variables, for which you must provide values for lookup. - Manage and Maintain Decision Matrices
Learn how to edit decision matrix rows and columns, sort and filter matrix rows, and export matrices to CSV or DMN files. - Decision Matrix Migration Considerations
Here are a few typical migration scenarios and recommendations on how to maintain decision matrices in your target org for a successful migration. - Decision Matrices for Developers
Developers in your Salesforce org can employ decision matrix developer resources to use and extend decision matrices.

