Report Filters

Report Filters are filters that may be applied to specific attributes within a process that limit the amount of data to be returned.  The filter may be applied to key attributes of a given task such as an answer to a question on a form, the current status of a request (Last Milestone), the status of task, or even on a recipient of a given task.

In this section we will discuss:

  • Adding filters to a report
  • Exposing filters
  • Bitwise Operators (and/or)
  • Grouping Filters

Adding Filters

To add a new filter to your report, navigate to the Filters tab.  You will be presented with a list of all filters current saved for that particular report:

filter_001.png

To add a new filter to a report, select the Add Filter button and you will be presented with the following dialog:

ef.png

Similar to adding columns, you will have various options with which to select Source data from within the process to filter on.

The dialog will be dynamic based on the Source option you select.  For instance, if you were to select Request as the source then the dialog will change and present you with a list of available attributes about a Request:

rd.png

The following is a high-level break down of each available Source:

Source Description
Data The Data option will enable you to select any data associated with a given task.
When the Data option is selected, a secondary drop-down list of available tasks will be presented.
Depending on the type task selected, the available data elements will vary. For a Form task, it is possible to select data from the questions submitted on a form, for an Approval task you may retrieve the approval option a user selected when the task was completed, etc.
Requester Profile information associated with the Requester of the process such as name, division, cost center, location, etc.
Client Profile information associated with the Client of the process such as name, division, cost center, location, etc.
Task Completer

Profile information associated with the person who completed a specific task within the process. You will need to select both the task and the profile attribute you would like displayed.

Task Recipient

Profile information associated with the person who was a recipient of a specific task within the process. You will need to select both the task and the profile attribute you would like displayed.

Requesters Manager Profile information associated with the Requester’s Manager of the process such as name, division, cost center, location, etc.
Client’s Manager Profile information associated with the Client’s Manager of the process such as name, division, cost center, location, etc.
Task Completers Manager Profile information associated with the manager of a person who completed a specific task within the process. You will need to select both the task and the profile attribute you would like displayed.
Task Recipients Manager Profile information associated with the manager of a person who was a recipient of a specific task within the process. You will need to select both the task and the profile attribute you would like displayed.
Request High-level data associated with an overall request such as the request id, the date started, date completed, last milestone, last milestone date, etc.
Task
(for Task reports only)
High-level data associated with a specific task in the process such as the task name, date started or completed, name, and task status.
Any Data
(for Task reports only)

Option to get to data via a generic identifier (Label, ID, Property). If you want to pull back any data associated with the known ID (i.e. question ID or form ID), then you can use this.


NOTE: By nature, Any Data queries are non-indexed, full table scans. Use Any Data thoughtfully as it can result in poor performance.

Current Task
(for Task reports only)
Option to define the attributes for the current task. Commonly used to view how many tasks are assigned to users, total counts of tasks, time between task assignments and completions, etc.

Once you have selected the item from the Field list, defined the Operator, and a Value, press the Save button and the new filter will be added to the filter list:

la.png

In the example above, we are restricting the results of the report to retrieve data only from requests where the Last Milestone is equal to the value Loan Approved.

Report Operators

Operator Usage Wildcards Available
Is Any text value %
Is Not Any text value %
Contains Any text value %
Does Not Contain Any text value  
Starts With Any text value  
Is Greater Than Numeric fields only None
Is Greater Than or Equal To Numeric fields only None
Ends With Any text value None
Is Less Than Numeric fields only None
Is Less Than Or Equal To Numeric fields only None
Is Empty Any text value  
Is Not Empty Any text value  
Is in Date Range Calendar questions, fields containing dates  
     

Expose Filter Labels

If you want the user that runs the report to have the ability to define the filter, select the Expose Filter Label field for the filter you want to expose and give it a name (label).

lm.png

When running the report, the exposed filter will give the user to edit the filter.  In this example, we are allowing the user to change the 'Last Milestone' field to get the view he/she desires:

la2.png

NOTE: If you blank out an exposed filter at runtime, the provided default value will be used.

Bitwise Operators (And/Or)

It is possible to create a report that will retrieve various elements of process data based on multiple types of filters. When this happens it is often necessary to employee the user of the bitwise operators for restrict or open the range of data you would like to retrieve.

To change the bitwise operator, add more than one filter to your report and double-click the And/Or column next to filter:

ao.png

By default, the bitwise operator will always be AND but, as in the case above, you may want to change it to OR.  This way, we can retrieve data from requests with two different filters.

Grouping Conditions

For complex filtering scenarios it is possible to group a series of filters to evaluate together when the report is executing.  

To group a series of filters, click in the column marked with an open parentheses where you would like to start the filter and add an open parentheses.

paren_001.png

To end your grouping, simply click in the closed parentheses column to the right of a filter and add a closing parentheses.

 

For Custom Reports, there are some built-in Parameters that can function like Report Filters

When working with custom reports based on your own SQL query, there are a few built-in parameters that can be used to qualify the data returned on your report:

@user_sid allows you to access the SID associated with the user that is running the report

@date_limit_start & @date_limit_end accesses the corresponding date values stored in the report's LIMITS tab

Here's an example use:

select
INSTANCE_GUID "REQUEST_LINK",
INSTANCE_ID "ID"
from
(select
INSTANCE_ID,
INSTANCE_GUID,
REQUESTER_GUID
from
INSTANCE
where INSTANCE.CREATED_BY = @user_sid 
and CREATE_DATE >= @date_limit_start 
and CREATE_DATE <= @date_limit_end
and INSTANCE.DELETED_DATE is null
) derived
order by
derived.INSTANCE_GUID