Apromore allows us to apply a variety of filters to slice and dice an event log in different ways, and focus on the results of the filtering. This can be used, for example, to segregate specific process cases that fulfill certain conditions, e.g. all cases that transit via a particular activity, or to segregate two variants of the same process for comparison purposes, e.g. the first variant containing slow cases and the second one containing fast cases.
Log filtering can be accessed from various places:
- In the Portal, select an event log and click on “Filter log” from the Discover menu.
- In the Performance Dashboard, click on the “Filter” menu on the top-right corner or select.
- In the Custom view of the Performance Dashboard, from the Edit frame, select Advanced and then “Filter log”.
- In Process Discoverer, click on the “Filter” button from the top buttons bar, as shown below.
No matter where you invoke the filter from, the filter editor shown above will pop up.
Filter types: Case vs. Event
There are two main filter types supported by Apromore: Case Filter and Event Filter. Both filter types allow us to create a filter based on particular conditions on the cases or events. More specifically:
- A case filter allows us to “slice” a log, i.e. to retain a subset of the process cases, e.g. those cases that contain a specific activity;
- An event filter allows us to “dice” a log, i.e. to retain a fragment of the process across multiple cases, e.g. a fragment containing two specific activities.
For case and event filters, we can set a number of filter criteria. Let’s take a look at the case filters first.
Case > Performance filter
In order to understand a process, we might want to retain or remove cases that fulfill certain performance requirements, e.g. retain all cases that complete within one month. We can use the “Performance” filter for this purpose. For example, the below screenshot captures only those cases that last no more than one month in duration.
For each filter, we can decide whether to retain or remove the cases that fulfill the condition set in the filter criteria. With reference to the example above, we may decide whether to retain or remove all cases that complete in one month.
The filter is created on clicking “Apply”. We can observe that 99.5% of the cases fulfill this requirement.
Case > Attribute filter
In order to retain or remove all the cases that include a specific attribute, we can make use of the “Attribute” filter. For example, we want to retain only those cases whose attribute “Age” is between 20 to 30.
For this, click on the “Attribute” filter. Select the age attribute from the drop-down list and set the range of the age by making changes to the “from” and “to” fields. Finally, Click on “Apply”. The result would be only those cases where the age attribute is between 20 to 30.
The range of values is only available for those attributes that are numerical. For categorical attributes like resources or product types, the list of values (categories) will be shown, and we can choose which specific values to retain or remove.
In addition, the Matching section allows us to set whether cases should be retained that satisfy any of the selected values (default selection) or all the selected values.
Case > Path filter
The “Path” filter can be used to identify bottlenecks or to analyze the transitions between the activities performed. For example, click on the “Path” filter to retain those cases where the activity “ER Registration” eventually follows “Release A”.
We can also filter out those cases where the same resource is performing the activities. This can be done by checking the “Require” checkbox and selecting “Resource” from the drop-down list of the “Path” filter.
The time between the occurrence of activities can also be captured by using the “Lower” and “Upper” bound fields of the “Path” filter. For example, retain those cases where the time interval between ER Registration and ER Sepsis Triage is greater than 2 hours.
Case > Timeframe filter
The “Timeframe” filter allows us to retain or remove those cases that are “active in”, “contained in”, “start in” or “end in” a particular time period of the log.
Case > Rework & repetition filter
In some processes, certain activities are repeated – this can be done in the form of direct repetitions or through the “back and forth” between two or more activities.
In order to isolate repetitions, a “Rework & repetition” filter can be used so that only those process sequences are retained or removed, that contain certain repetitions. We can also set the “Lower” and “Upper” bound for the reworked activities.
When setting multiple conditions on repeated activities, we can define whether the filter criterion should satisfy any condition or all conditions on the repeated activities.
Case > Case ID filter
We can choose to retain or remove cases based on a particular case ID by using the “Case ID” filter. In the below screenshot, we are retaining those cases with case ID ‘A’. The result would include the activities performed by the case ID ‘A’.
Case > Variant filter
We can make use of the “Case variant” filter to retain or remove the case variants based on a particular condition. For example, we want to retain up to 50 case variants to analyze the most common behavior of the process.
Let’s now take a look at the filter criteria for event filters. We can use the “Event” filter to dice the log, i.e. to isolate a specific fragment of the process, across all cases. The “Event” filter allows us to filter by “Attribute” and “Timeframe”.
Event > Attribute filter
The “Attribute” filter of type event allows us to retain or remove those events that satisfy the values of a specific event attribute. For example, we may want to remove those events whose activity label is “ER Registration”. This means effectively to dice the log in such a way to exclude all events related to activity “ER Registration”.
Any attribute value can be used to set conditions. For example, in order to remove all events where the value of “DiagnosticIC” is false, we can select “DiagnosticIC” from the drop-down list of event attributes, and then select the specific value we may want to retain or remove.
Event > Timeframe filter
The second type of filter criterion for events allows us to retain or remove events based on a particular timeframe.
Managing filter criteria
Apromore allows us to create one filter on top of another. We can do this by clicking the “Create” button.
In order to edit an existing filter, select the filter and click on “Edit”.
We can change the sequence of the filters by using the top-down arrows on the right side. In order to delete a single filter, click on the third button (“X”). Alternatively, to delete all the filters at once click the last “X” button.
To load a saved filter click on “Load” button.
We can save an existing saved filter by clicking on “Save”.
The “Save as” button is used to save a new filter.
We can also upload a filter by clicking on the “Upload” button. Select the filter (.json file format) from the file explorer.
A filter can also be downloaded using the “Download” button. We can edit the name of the filter before downloading it.
Clear all filters
To clear all the applied filters, click on the “Clear all filters” button.
In Process Discoverer, filters can also be defined by right-clicking on elements of the process map/BPMN model using the following keyboard shortcuts:
- Right-click on an arc: remove all cases containing the selected directly-follows relation
- CTRL + Right-click on an arc: retain only cases containing the selected directly-follows relation
- Right-click on a node: remove all cases with an event containing the selected attribute
- CTRL + Right-click on a node: retain only cases with an event containing the selected attribute
- Alt (Option) + Right-click on a node: remove all events containing the selected attribute
- Alt (Option) + CTRL + Right-click on a node: retain only events containing the selected attribute