Filter operators
The ARIS process language provides the following operators to define filters in calculated fields or code filters.
List of filter operators supported by the ARIS process language:
Operator type | Subtype | Syntax | Description |
Filter list | Value filter | VALUE_MATCHES (field: Selection, value1: text | date | long | double, ...) | This filter matches if one of the values provided matches. |
Range filter: between | VALUE_BETWEEN (field: Field, lowerBoundary: date | long | double - upperBoundary: date | long | double, ...) | This filter matches if one of the ranges provided matches. | |
Range filter: greater than | VALUE_GREATER_THAN (field: Field, comparisonValue: date | long | double) | This filter matches if the value is greater than the comparison value provided. | |
Range filter: less than | VALUE_LESS_THAN (field: Field, comparisonValue: date | long | double) | This filter matches if the value is less than the comparison value provided. | |
Path filter: directly followed by | DIRECTLY_FOLLOWED_BY (activity1: text, activity2: text) | This filter matches a case if the second activity directly follows the first activity anywhere in the case flow. This filter works only in a MATCH_CASE() operator. | |
Path filter: eventually followed by | EVENTUALLY_FOLLOWED_BY (activity1: text, activity2: text) | This filter matches a case if the second activity eventually follows the first activity anywhere in the case flow. This filter works only in a MATCH_CASE() operator. | |
Activity filter: case starts with | CASE_STARTS_WITH (activity: text, ...) | This filter matches a case if the case starts with any of the activities provided. This filter works only in a MATCH_CASE() operator. | |
Activity filter: case ends with | CASE_ENDS_WITH (activity: text, ...) | This filter matches a case if the case ends with any of the activities provided. This filter works only in a MATCH_CASE() operator. | |
Activity filter: case passes through | CASE_PASSES_THROUGH (activity: text) | This filter matches a case if the case passes through all activities provided. This filter works only in a MATCH_CASE() operator. | |
Activity filter: case passes through any | CASE_PASSES_THROUGH_ANY (activity: text, ...) | This filter matches a case if the case passes through any activities provided. This filter works only in a MATCH_CASE() operator. | |
Field | FIELD (field: Field, parameterValue1, parameterValue2, ...) | Reference a field and optionally provide parameterized values. | |
filter inversion | Inverts filter | NOT (value: Boolean | Selection) | Inverts a logical expression of a filter. filters can be inverted only once. |
MATCH_CASE and MATCH_ACTIVITY operators
The boolean operators MATCH_CASE or MATCH_ACTIVITY can be used in value calculations to check for each case or activity whether they match or not. You must embed the filter statements as operands in these operators.
Note that the MATCH_CASE and MATCH_ACTIVITY filter operators are not supported for code filters. These operators are only required to create a filter in calculated fields.
MATCH_CASE(selection1: Selection, selection2: Selection, ...)
CASE
WHEN (MATCH_CASE( VALUE_MATCHES("_ARIS.Case"."Case ID", 'C1', 'C2') )) THEN 'first two'
ELSE 'some other case'
You can also specify multiple filter statements. These are then AND linked:
CASE
WHEN (MATCH_CASE( VALUE_MATCHES("_ARIS.Case"."Case ID", 'C1', 'C2'), DIRECTLY_FOLLOWED_BY('Arrival Ship', 'Customs check') )) THEN 'early & checked'
ELSE 'some other case'
Note that parameters are not allowed in filter statements.
Operator type | Subtype | Syntax | Description |
Match filter (boolean operators) | Match case | MATCH_CASE (selection1: Selection, selection2: Selection, ...) | Match a case that meets the filter criteria provided. All filters provided must match. |
Match activity | MATCH_ACTIVITY (selection1: Selection, selection2: Selection, ...) | Match an activity that meets the filter criteria provided. All filters provided must match. |