Locating flaws in your process models can be a huge challenge when you have millions of process instances to sift through. Define filters in Optimize to narrow down your view to only a subset of process instances.

Camunda Optimize offers various ways of filtering your data, such as filter by:

All the listed filters can be applied to reports and during the analysis. Here you can see how to select one of the filters in a report:

Running/Completed Instances Only Filter

By default, a report considers all process instances, regardless of whether they are still running or not. With the filters Running Instances Only and Completed Instances Only, you can decide only to consider only those process instances that are still running or those that already completed. Be aware that you cannot have both filters at the same time, since they are mutal exclusive. Setting one of those filters (e.g. Running Instances Only) while the other one is already set (e.g. Completed Instances Only), will overwrite the existing filter and leave only the newly added one (Running Instances Only in this example).

Start Date Filter

A start date filter can be defined in to different ways - filter by Fixed Date or Relative Date. The first version considers only process instances that were started within a fixed data range, e.g. filter all process instances between 2018-01-01 and 2018-01-26. That does not change even when days pass on. To simplify the process of picking such a date range, there are common shortcuts for the most used date ranges that can be used, for instance to get all process instances that were started within the last seven days you can just click the “Past 7 days” button.

With the Relative Date start date filter you define a date range that does not remain static, but delivers a subset of the process instances in a rolling fashion, e.g. all process instances started in the past seven days. For every day that passes, this range is automatically adjusted. To make it more clear, let’s take an example: today is the March 28th. If you set a relatve date of the past three days, you get all process instances which were started from 2018-03-26 to 2018-03-28. Now a day passes and we have March 29th. Applying the same filter now filters the process instances which were started from 2018-03-27 to 2018-03-29.

Be aware that only one start date filter at a time can be defined which also includes that only start date filter of the same type can be set. For instance, you can set a Fixed Date filter. Defining now a Relative Date filter will replace the former date filter. Defining a second Relative Date filter will replace the first one.

Duration Filter

The Duration Filter allows you to only regard process instances that took longer or less then a certain time span for their whole execution. For instance, you can filter process instances that took longer than three days or less than five seconds. Note: This filter shows only completed process instances, since the total duration of running process instances is not yet known.

Flow Node Filter

Retrieve only those process instances that executed certain flow nodes (e.g. a task) within your process by using the Flow Node Filter. Selecting several values at once, means that all of the selected flow nodes need to have been executed at least once in the process instance lifetime. At the top of the flow node filter modal you can see a preview of the filter you are beeing about to create. The following video shows an example usage:

Variable Filter

Use the Variable Filter to retrieve only those process instances, where during the execution certain variables with specific values were used. For instance, assume you want to analyze only those process instances, which used the variable ‘department’ with the value ‘marketing’. The variable filter can only filter for the final value of the variable. Let’s take the example from before with the ‘department’ variable: on start of the process instance the variable has the value ‘sales’ and then is somewhere along the way reassigned to the value ‘marketing’ until the process instance finishes. In case you filter process instances for the variable ‘department’ with value ‘sales’, you won’t get the process instance described in the previous sentence.

Start creating a variable filter by selecting from the list of variable names, where the list contains only primitive types. There are now three type of variables that you can filter for:

  • Boolean variables: they can have the state true or false. Therefore, you can choose if the boolean variable should have the value true or false in the process instance.
  • String variables: the first 20 values are loaded and displayed. If the variable has more than 20 values a Load More button is shown to be able to extend the list as much as you need. In case the is option of the toggle button is selected, checking one or more values means that you want to see only those process instances where the variable value equals one of the checked values (this corresponse to the or operator in the boolean logic). In case the is not option of the toggle button is selected, checking one or more values means that you want to see only those process instances where the variable value does not equal any of the checked values (this corresponse to the and operator in the boolean logic).
  • Numeric variables: here you have an input field to define if a variable value in the process instance should be equal, not equal, less than or greater than a certain value. You can even add more input fields and apply the same operation serveral times at once. In case the is option of the toggle button is selected, adding one or more values means that you want to see only those process instances where the variable value equals one of the checked values (this corresponse to the or operator in the boolean logic). In case the is not option of the toggle button is selected, adding one or more values means that you want to see only those process instances where the variable value does not equal any of the checked values (this corresponse to the and operator in the boolean logic). In case the is less than or is greater than option is selected, only one value can be entered.

Heads Up!

The variable filter can only filter for variables of a primitive type. If you want use complex types like object, you can use the Variable Import Customization feature to transform your object variables into primitive type variables.

Combined Filters

All the previous mentioned filters can be combined together by adding one filter after another. Only those process instances where all of the configured filters are vaild are regarded in the report or analysis. The duration filter, flow node filter and variable filter can be defined several times. See the following screenshot for possible very long combination of filters: