About the Decision matrix
- Last UpdatedApr 07, 2025
- 3 minute read
The Decision matrix is a powerful feature that produces streams of repeatable data (Decision matrix outputs) based on predefined conditions (Decision matrix inputs) and configured stream-based data (Rules outputs). A Decision matrix can be used with fields of any AVEVA™ Production Management module.

Matrix component functions
This table describes Decision matrix components and their relationships to each other.
|
Matrix component |
Description |
|---|---|
|
Decision matrix inputs |
The HistoricalExpression for the decision matrix inputs will form the conditions to determine which rule is active. For example: Project.[System Configuration].datasources.OpcHdaDataSource.OpcHdaGroup.MotorRunning.Samples[time] would look at the value for the MotorRunning tag. |
|
Decision matrix rules |
The input masks on the Decision matrix rules specify the required input values for a rule to be active, or can also be set to ignore in which case that particular input value is ignored. |
|
Rule outputs |
The result of the HistoricalExpression for rule outputs determines the value to set the Decision matrix output if that particular rule is active. For example: Project.[System Configuration].[Lookup Lists].[Cause Codes].Jammed.CauseCodeID would set the output to the cause code Jammed. |
|
Decision matrix outputs |
The Decision matrix output is the result of the HistoricalExpression for the active rule. |
Scenario example
The expression result for inputs of a decision matrix must be Boolean (True or False).
In an example with two Inputs, the combination of values matches one of these four combinations. These four combinations are based on the state of the three input expressions when True and False are used.
|
Time |
t0 |
t1 |
t2 |
t3 |
|
|
Input1 |
0 |
1 |
0 |
1 |
|
|
Input2 |
0 |
0 |
1 |
1 |
|
|
Rule1 |
1 |
0 |
0 |
0 |
Input1 = False, Input 2 = False |
|
Rule2 |
0 |
1 |
0 |
0 |
Input1 = True, Input 2 = False |
|
Rule3 |
0 |
0 |
1 |
0 |
Input1 = False, Input 2 = True |
|
Rule4 |
0 |
0 |
0 |
1 |
Input1 = True, Input 2 = True |
|
R1 Output |
A |
A |
A |
A |
|
|
R2 Output |
B |
B |
B |
B |
|
|
R3 Output |
C |
C |
C |
C |
|
|
R4 Output |
D |
D |
D |
D |
|
|
OUTPUT |
A |
B |
C |
D |
|
Guidelines
-
At any point in time, only one rule can be active. If multiple rules are active due to configuration, the first active rule is considered to be the active rule.
-
For any moment of time, the value of the 'DecisionMatrix Output stream' comes from the 'Rule Output' which is active at the same moment. Only one rule can "open the gate" for the DecisionMatrix Outputs. If Rule1 is active, all DecisionMatrix Outputs get values from the corresponding active rule outputs.
-
Because DecisionMatrix Output (DMO) values combines values from the corresponded output of all rules, the data type of the corresponding output of all rules should be the same as the stream type of the DMO. This is enforced by configuration. The stream type of the output of the rule is read-only and depends on the corresponding DecisionMatrix Output. The same applies for the Rule Output Name: it is read-only and is the same as the corresponding DecisionMatrix Output Name.
-
The display order of precedence for the Decision matrix items is specified by the Display Order property of the item.
Copy and paste and delete
You can use Copy and Paste on any input, output, or rule at the root level of the Decision matrix. You can also delete inputs and outputs at the root level.
