Skip to main content

Celonis Product Documentation

KM - Filters

Introduction to Filters
Why do they exist?

One of the most powerful capabilities of Studio and the PQL engine is data filtering using Filters. Filters provide a way to select only those data records that match certain criteria. Filters are used in various places and Studio services. By storing and maintaining Filters in a Knowledge Model, they can be easily reused and managed in one place.

What do they do?

The Filters segment contains KM Filters definitions and associated value assignments. These associated value assignments are the following:

  • Display Name: A human-readable label used in the user interface.

  • ID: A technical identifier used for unique referencing of this Filter.

  • Description: A human-readable description for the Filter.

  • Filter Statement: Defines the criteria which will be used to filter the data this Filter is applied to. This criterion is defined using PQL statements.

  • Scope: Indicates where in the Package the Filter can be used. If a Filter scope is disabled then the Filter cannot be accessed and used anywhere in a package. If the scope is not disabled, any defined Filter can be referenced within the KM wherever a Filter is expected to be provided.

57542470.png
YAML
Defining Filters

A filter is specified within the filters segment in the KM and is defined by the following fields:

Field name

Description

Required?

Expected value

id

A technical identifier that is used for unique referencing.

yes

Alphanumerical, no spaces

displayName

A human-readable label that is used in the user interface.

yes

String

description

A human-readable description.

String

pql

The PQL query statement.

yes

String: a PQL statement

global

If set to true, the Filter will be applied as a global background filter to any PQL query.

Boolean: true/false

Example

The following example shows a Filter definition that sets up a global background filter (global: true) and filters data down to entries where "Country" is 'DE' or 'US'. This will now serve very similar to a load script filter in the Analysis but is also working in Views and offers a more secure way of filtering out unwanted data than View filters.

- id: COUNTRY_FILTER
  displayName: "Country filter"
  description: "Filters down to DE and US data"
  pql: FILTER "TABLE"."Country" IN ('DE','US')
  global: true