Skip to main content
Dear Team,
We are trying to create a dashboard with different KPIs. We have a scenario that we would like to filter in cuirrent status of the order. When we try to use Case ends with then there could be still some activites happening after that status and thus we dont see the results.
Also, we would like to filter as an OR condition on multiple activities.
FILTER MATCH_ACTIVITIES ( _CEL_O2C_ACTIVITIES.ACTIVITY_EN, NODE_ANY [ CRM Order: Released, CRM Order: Open, CRM Order: In process ] ) = 1;
FILTER MATCH_ACTIVITIES ( _CEL_O2C_ACTIVITIES.ACTIVITY_EN, NODE [ CRM Order Item: Contains Errors ] ) = 1;
FILTER CRMD_ORDERADM_H.PROCESS_TYPE in (ZTA, ZFD);
In nut shell we want all the orders which are in Open, In process or released and contains error for certain process types.
We are missing on how to apply filter on activities? Can someone help here?
Thanks
Naveen Gupta
Hi Naveen,
in order to solve your problem concerning the filtering of the current status of the order, I would need more information on how your formula looks like.
Can you please provide some screenshots or further explanations on your problem?
Regarding your second request, the applied formula does not do what you intend it to do. Your first filter statement contains the correct formula, expressed as a OR statement - this one is executed.
FILTER MATCH_ACTIVITIES ( _CEL_O2C_ACTIVITIES.ACTIVITY_EN, NODE_ANY [ CRM Order: Released, CRM Order: Open, CRM Order: In process ] ) = 1;
Anyway, this filter statement already excludes all other activities that are not filtered for, meaning that the second filter statement would not be executed anymore.
FILTER MATCH_ACTIVITIES ( _CEL_O2C_ACTIVITIES.ACTIVITY_EN, NODE [ CRM Order Item: Contains Errors ] ) = 1;
Having executed the very first filter statement already excludes all other activities - also orders containing errors. This means that you would need to combine your filter statements into ONE statement that includes the OR and the AND condition.
I hope this helps!
Best,
Viana
Hi Viana,
Thanks for the feedback. How can I use AND and OR status at the same time in the filter. What we would like to do
Filter all Orders which are in Status
CRM Order: Released, CRM Order: Open, CRM Order: In process and CRM Order Item: Contains Errors.
``
Can you please help with the Syntax to achieve that? Thanks !
Hi Naveen,
Please, try this statement as this is a combination of the filters that you would like to create:
CASE WHEN PROCESS EQUALS (CRM Order: Released, CRM Order: Open, CRM Order: In process ) AND PROCESS EQUALS 'CRM Order Item: Contains Errors THEN 1 ELSE 0.
I hope this is what you want to achieve.
Best,
Viana
Hi Viana,
Thanks for quick feedback. I think so I cannot use this in
Component Filter. May be I provide more details here.
We have a KPI which is called Order Count.

KPI formula : COUNT(DISTINCT(VBAK.VBELN))
What we wanted to achieve is only look for Orders which are
in error so we planned for putting a component Filter like below now. Or the Syntax which you provide.
FILTER MATCH_ACTIVITIES ( _CEL_O2C_ACTIVITIES.ACTIVITY_EN,
NODE_ANY [ CRM Order: Released, CRM Order: Open, CRM Order: In process ] ) = 1;
FILTER MATCH_ACTIVITIES ( _CEL_O2C_ACTIVITIES.ACTIVITY_EN,
NODE [ CRM Order Item: Contains Errors ] ) = 1;
FILTER CRMD_ORDERADM_H.PROCESS_TYPE in (ZTA, ZFD);
Is there any other smarter way of doing this?
Thanks
Regards
Naveen Gupta
Hi Naveen,
If Vianas code is throwing an error, its because she didnt explicitly mention that the case when statement needs to be closed by the word END.
If you want to avoid using two activity filters you could just write them together, like this:
FILTER MATCH_ACTIVITIES ( _CEL_O2C_ACTIVITIES.ACTIVITY_EN,
NODE_ANY [ CRM Order: Released, CRM Order: Open, CRM Order: In process ], NODE [ CRM Order Item: Contains Errors ] ) = 1;
NODE list the essential activities, all of which must be present for the case to be included while, NODE_ANY list the activities for which only one must be included.
Also if you want to copy this code into Celonis please dont forget to replace all the single and double quotation marks, as they are formatted in the Celonis Community differently than in the Celonis software so when copying and pasting into the software they arent recognised properly and cause errors.
Does this answer your question?
Best wishes,
Calandra
Hi Calendra,
That helps. Thanks !
Hi Calendra,
Another question is that we plan to have dynamic filter statement on Analysis level. We have
a Filter like below.
Hi Naveen,
Its not possible to have dynamic filters on Analysis level.
This is because when an analysis is opened all relevant datapoints for that process model which arent excluded by any analysis filters are loaded into a different area of memory so that they can be rapidly accessed for use within the analysis. This is done for performance reasons. So, if you change the analysis filter then the cases that youre suddenly trying to include arent available as they werent loaded into the relevant area of memory. If you change analysis filters it is necessary to exit and re-enter the analysis to trigger the reloading of the relevant data points into the relevant memory place.
You can however use dynamic variable in sheet filters so you can achieve the desired effect by just using same sheet filter on all sheets in the analysis.
To make a dynamic filter, just create a variable, then make a button dropdown Component which writes the values you want the viewer to be able to choose between to this variable. Then in the filter just write <%= variable_name %> in the relevant place in the condition. If you need help this, we are happy to help you, but please ask the question in a new post so that other Celonis users with similar problems in the future can find the thread more easily.
Best wishes,
Calandra

Reply