Applies to:  CELONIS 4.0 CELONIS 4.2 CELONIS 4.3 CELONIS 4.4 

Description

PROCESS EQUALS matches the variants of a process based on simple expressions. PROCESS EQUALS is less powerful than MATCH_PROCESS but it is also simpler to use.

Syntax

PROCESS [ NOT ] equals [ start ] activity ( to activity )* [ end ]
  • equals: EQUALS | #
  • start: START | ^ (The case has to match from the start)
  • end: END | $ (The case has to match till the end)
  • to: TO | ->
  • activity: ANY | * | single_activity | grouped_activity
    • single_activity: [LIKE] activity (Activity name. LIKE allows you to use wildcards in your activity name)
    • grouped_activity: single_activity (, single_activity )*

Examples

PROCESS EQUALS to filter down to cases where activity 'A' is directly followed by 'B'. Where in the case the activity 'A' is followed by 'B' doesn't matter in this case.

Query
Filter
FILTER PROCESS EQUALS 'A' to 'B'
Column1
"Table1"."CASE_ID"
Column2
"Table1"."ACTIVITY"
Input
Table1
CASE_ID : STRINGACTIVITY : STRINGTIMESTAMP : DATE
'1''A'
Sun Jan 01 2017 13:00:00.000
'1''B'
Sun Jan 01 2017 13:02:00.000
'1''C'
Sun Jan 01 2017 13:03:00.000
'2''A'
Sun Jan 01 2017 13:00:00.000
'2''C'
Sun Jan 01 2017 13:00:00.000
Output
Result
Column1 : STRINGColumn2 : STRING
'1''A'
'1''B'
'1''C'




ANY or short * is placeholder for no activity or an arbitrary number of activities. Therefore in this example all three cases are in the result.

Query
Filter
FILTER PROCESS EQUALS 'A' to ANY to 'C'
Column1
"Table1"."CASE_ID"
Column2
"Table1"."ACTIVITY"
Input
Table1
CASE_ID : STRINGACTIVITY : STRINGTIMESTAMP : DATE
'1''A'
Sun Jan 01 2017 13:00:00.000
'1''C'
Sun Jan 01 2017 13:02:00.000
'2''A'
Sun Jan 01 2017 13:00:00.000
'2''B'
Sun Jan 01 2017 13:02:00.000
'2''C'
Sun Jan 01 2017 13:04:00.000
'3''A'
Sun Jan 01 2017 13:00:00.000
'3''B'
Sun Jan 01 2017 13:02:00.000
'3''B'
Sun Jan 01 2017 13:04:00.000
'3''C'
Sun Jan 01 2017 13:06:00.000
Output
Result
Column1 : STRINGColumn2 : STRING
'1''A'
'1''C'
'2''A'
'2''B'
'2''C'
'3''A'
'3''B'
'3''B'
'3''C'




With END the given pattern has to match directly before the end of the case.

Query
Filter
FILTER PROCESS EQUALS 'A' END
Column1
"Table1"."CASE_ID"
Column2
"Table1"."ACTIVITY"
Input
Table1
CASE_ID : STRINGACTIVITY : STRINGTIMESTAMP : DATE
'1''A'
Sun Jan 01 2017 13:00:00.000
'1''B'
Sun Jan 01 2017 13:02:00.000
'2''B'
Sun Jan 01 2017 13:00:00.000
'2''A'
Sun Jan 01 2017 13:02:00.000
Output
Result
Column1 : STRINGColumn2 : STRING
'2''B'
'2''A'




With START the given pattern has to match directly from the case start.

Query
Filter
FILTER PROCESS EQUALS START 'A'
Column1
"Table1"."CASE_ID"
Column2
"Table1"."ACTIVITY"
Input
Table1
CASE_ID : STRINGACTIVITY : STRINGTIMESTAMP : DATE
'1''A'
Sun Jan 01 2017 13:00:00.000
'1''B'
Sun Jan 01 2017 13:02:00.000
'2''B'
Sun Jan 01 2017 13:00:00.000
'2''A'
Sun Jan 01 2017 13:02:00.000
Output
Result
Column1 : STRINGColumn2 : STRING
'1''A'
'1''B'




It is also possible to use a shorter syntax. The example query is identical to PROCESS EQUALS START 'A' TO 'B' END.

Query
Filter
FILTER PROCESS # ^ 'A' -> 'B' $
Column1
"Table1"."CASE_ID"
Column2
"Table1"."ACTIVITY"
Input
Table1
CASE_ID : STRINGACTIVITY : STRINGTIMESTAMP : DATE
'1''A'
Sun Jan 01 2017 13:00:00.000
'1''B'
Sun Jan 01 2017 13:02:00.000
'2''B'
Sun Jan 01 2017 13:00:00.000
'2''A'
Sun Jan 01 2017 13:02:00.000
Output
Result
Column1 : STRINGColumn2 : STRING
'1''A'
'1''B'




With LIKE wildcards can be used for the activity names.

Query
Filter
FILTER PROCESS EQUALS START 'A' TO LIKE 'B%' END
Column1
"Table1"."CASE_ID"
Column2
"Table1"."ACTIVITY"
Input
Table1
CASE_ID : STRINGACTIVITY : STRINGTIMESTAMP : DATE
'1''A'
Sun Jan 01 2017 13:00:00.000
'1''BC'
Sun Jan 01 2017 13:02:00.000
'2''A'
Sun Jan 01 2017 13:00:00.000
'2''B'
Sun Jan 01 2017 13:02:00.000
Output
Result
Column1 : STRINGColumn2 : STRING
'1''A'
'1''BC'
'2''A'
'2''B'




Restricts the result to cases where A isn't directly followed by C.

Query
Filter
FILTER PROCESS NOT EQUALS 'A' to 'C'
Column1
"Table1"."CASE_ID"
Column2
"Table1"."ACTIVITY"
Input
Table1
CASE_ID : STRINGACTIVITY : STRINGTIMESTAMP : DATE
'1''A'
Sun Jan 01 2017 13:00:00.000
'1''C'
Sun Jan 01 2017 13:02:00.000
'2''A'
Sun Jan 01 2017 13:00:00.000
'2''B'
Sun Jan 01 2017 13:02:00.000
'2''C'
Sun Jan 01 2017 13:04:00.000
'3''A'
Sun Jan 01 2017 13:00:00.000
'3''B'
Sun Jan 01 2017 13:02:00.000
'3''B'
Sun Jan 01 2017 13:04:00.000
'3''C'
Sun Jan 01 2017 13:06:00.000
Output
Result
Column1 : STRINGColumn2 : STRING
'2''A'
'2''B'
'2''C'
'3''A'
'3''B'
'3''B'
'3''C'




  • No labels