Applies to:  CELONIS 4.0 CELONIS 4.2 CELONIS 4.3 CELONIS 4.4 CELONIS 4.5 

Description

MATCH_ACTIVITIES flags cases with certain activities without taking the exact order of activities into account. If the order is of importance, use MATCH_PROCESS_REGEX or MATCH_PROCESS.

Syntax

MATCH_ACTIVITIES( [activity_column ,] [STARTING activity_list] [,] [NODE activity_list] [,] [NODE_ANY activity_list] [,] [ENDING activity_list] [,]  [EXCLUDING activity_list] [,] [EXCLUDING_ALL activity_list])
  • activity_column: string column of the activity table
  • activity_list: [ activity_name [, activity_name ]* ]
  • STARTING: case has to start with specified activity
  • NODE: case has to have the specified activities
  • NODE_ANY: case has to have at least one of the specified activities
  • ENDING: case has to end with specified activity
  • EXCLUDING: case must not have the specified activities
  • EXCLUDING_ALL: case must not have any of the specified activities

Result

MATCH_ACTIVITIES returns an integer column, which flags all matching cases with 1 and all non matching cases with a 0. The result is often used in combination with a filter.

Combine Specifiers

If you are combining several specifiers, keep in mind that the order of the specifiers matters. For example START has to come before NODE.

Examples


Here MATCH_ACTIVITIES is used to filter cases which have activity 'A' and 'B'. The order doesn't matter but both activities have to be present in a case.

Query
Filter
FILTER MATCH_ACTIVITIES ( "Table1"."ACTIVITY", NODE [ 'B', 'A' ]) = 1
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:01:00.000
'2''C'
Sun Jan 01 2017 13:02:00.000
'2''D'
Sun Jan 01 2017 13:03:00.000
Output
Result
Column1 : STRINGColumn2 : STRING
'1''A'
'1''B'



In this example MATCH_ACTIVITIES, by using the keyword NODE_ANY, flags all cases which have either activity 'B', 'C' or both.

Query
Filter
FILTER MATCH_ACTIVITIES ( "Table1"."ACTIVITY", NODE_ANY [ 'B', 'C' ]) = 1
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:01:00.000
'2''C'
Sun Jan 01 2017 13:02:00.000
'2''D'
Sun Jan 01 2017 13:03:00.000
Output
Result
Column1 : STRINGColumn2 : STRING
'1''A'
'1''B'
'2''C'
'2''D'



The keyword EXCLUDING excludes all cases which have activity 'B', 'C' or both.

Query
Filter
FILTER MATCH_ACTIVITIES ( "Table1"."ACTIVITY", EXCLUDING [ 'B', 'C' ]) = 1
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:01:00.000
'2''C'
Sun Jan 01 2017 13:02:00.000
'2''D'
Sun Jan 01 2017 13:03:00.000
Output
Result
Column1 : STRINGColumn2 : STRING



In this example, applying EXCLUDING_ALL excludes all cases which have activity 'A' and 'B'.

Query
Filter
FILTER MATCH_ACTIVITIES ( "Table1"."ACTIVITY", EXCLUDING_ALL [ 'B', 'A' ]) = 1
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:01:00.000
'2''C'
Sun Jan 01 2017 13:02:00.000
'2''D'
Sun Jan 01 2017 13:03:00.000
Output
Result
Column1 : STRINGColumn2 : STRING
'2''C'
'2''D'



In this example STARTING and ENDING are combined to flag cases which begin with activity 'A' and end with activity 'B'.

Query
Filter
FILTER MATCH_ACTIVITIES ( "Table1"."ACTIVITY", STARTING[ 'A' ], ENDING [ 'B' ]) = 1
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:01:00.000
'2''C'
Sun Jan 01 2017 13:02:00.000
'2''D'
Sun Jan 01 2017 13:03:00.000
Output
Result
Column1 : STRINGColumn2 : STRING
'1''A'
'1''B'


  • No labels