Filter on current status or Activity

Dear Team,

We are trying to create a dashboard with different KPI’s. 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 don’t 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.

image001.jpg

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 Viana’s code is throwing an error, it’s because she didn’t 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 don’t 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 aren’t 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,

It’s 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 aren’t 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 you’re suddenly trying to include aren’t available as they weren’t 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