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:
- Running/Completed process instances
- Canceled/Non Canceled process instances
- Start/End dates
- Process instance duration
- Executed flow nodes
- Combined filters
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 setting one of those filters (e.g.
Running Instances Only) while the other one is already set (e.g.
Completed Instances Only), will show a warning message since these two filters are incompatible with each other and will not show any data.
Canceled Instances Only Filter
Canceled Instances Only Filter is applied, the report will consider only those instances, which were terminated before completion, either
internally or externally. Be aware that adding this filter along with the
Running Instances Only will show a warning message since having such combination is incompatible and will not show any data.
Non Canceled Instances Only Filter
Opposite to the
Canceled Instances Only Filter, applying this filter will make Optimize query only those instances, which were not canceled during
the execution. This means, that only active and completed instances are considered, externally or internally terminated instances are not included in the report.
In Optimize, there are two kinds of date filters: the start date filter and the end date filter. Applying the start date filter will result in report considering only process instances that started within the defined range of dates. The end date filter will work same way for the end dates of the processes.
A 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 or ended (depending on the kind of date filter you selected) within a fixed date 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/ended within the last seven days you can just click the “Past 7 days” button.
Relative Date 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/ended 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 relative date of the past three days, you get all process instances which were started/ended from March 26th to March 28th. Now a day passes and we have March 29th. Applying the same filter now filters the process instances which were started/ended from March 27th to March 29th.
The start date filter and the end date filter are independent and can be applied to a report simultaneously. However, be aware that each of these filters can only exist once. For instance, you can set a
Fixed Date start date filter. Defining now a
Relative Date start date filter will replace the former start date filter. Defining a second
Relative Date start date filter will also replace the first one. Applying any type of an end date filter at this point won’t change the applied start date filters.
Also note, that reports with the end date filter applied, will consider only completed process instances.
As an alternative way to create a start date filter, if your report is visualized as bar- or linechart, you can use your mouse to select the area you want to create the filter for.
Duration Filter allows you to only regard process instances that took a certain time span for their whole execution. For instance, you can filter process instances that took more 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 about to create. You can also filter process instances where certain flow nodes were not executed.
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.
The variable filter can only filter for variables of a primitive type. If you want to use complex types like object, you can use the Variable Import Customization feature to transform your object variables into primitive type variables.
Start creating a variable filter by searching and selecting from the suggestions list of variable names, where the list contains only primitive types.
There are now four type of variables that you can filter for:
- Boolean variables: They can have the state
false. Therefore, you can choose if the boolean variable should have the value true or false in the process instance.
- String variables: The first 10 values are loaded and displayed. If the variable has more than 10 values a
Load Morebutton is shown to be able to extend the list as much as you need. You can also search through the whole list of values using the search input field. In case the
isoption 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 corresponds to the
oroperator in the boolean logic). In case the
is notoption 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 corresponds to the
andoperator 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 several times at once. In case the
isoption 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 corresponds to the
oroperator in the boolean logic). In case the
is notoption 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 corresponds to the
andoperator in the boolean logic). In case the
is less thanor
is greater thanoption is selected, only one value can be entered.
- Date variables: This filters all instances where the selected date variable has a value within a specified date range. You can click on one of the input fields to open a date-picker. Clicking on any day sets the start- or end date. After setting the start date, the next click sets the end date, allowing a convenient way to select a range when clicking on the start date field first. In addition to the date-picker, you can choose from multiple predetermined ranges using the buttons below the input fields.
Apart from filtering for particular values there is a type independent option to filter for process instances where a particular variable is either not present/undefined or present but with it’s value set to
null. When this option is activated all the value filters will be ignored. You can However easily switch back to the value filter by toggling.
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 valid 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: