Filter

Fixed filters can be set up for all application elements that list data. Filters can also be applied to some process elements, such as the data group action.

Dependencies

In contrast to fixed filters, filters in applications can also be set up dynamically with a so-called "dependency". An input in another application element triggers the filter, which is defined via a dependency (e.g. in a view table).

All information on dependencies can be found here.

Fixed filters

In the properties dialog of application elements that can be filtered, you will find the button "Filter".

Click on "Filter".

Filter

This dialog contains all filter expressions that have already been defined.

Add new filter expression / Edit filter expression

Opens a dialog in which one or more filter expressions can be created or edited.

Filter printout

If you create several filter expressions, you can select the type of link between the individual expressions. An "AND" linking will return only data records that fulfill all criteria, and an "OR" linking will return only the data records that fulfill a minimum of one criterion.

A filter expression consists of three parts:

  1. Data to be filtered

  2. Operator that defines the type of comparison

  3. Comparison value with which the data to be filtered is compared.

1. Data

Data group / Data field

Select the data group and the data field whose values are to be filtered here. The filter can also use data fields from a higher or lower data group level, i.e. parent or child data groups.

2. Operation

Depending on the type of data field selected, the following operators are available:

Data type: string, text

Operator

Delivers

Equal to

Every string that is identical with the comparative value. This is case-sensitive.

Unequal

Every string that is not identical with the comparative value. This is case-sensitive.

Less than or equal

Every string with a smaller or equal character values (ASCII) as the comparative value.

Less than

Every string with a smaller character values (ASCII)as the comparative value.

Greater than or equal

Every string with a greater or equal character values (ASCII) as the comparative value.

Greater than

Every string with a greater character values (ASCII) as the comparative value.

Undefined

Every data record whose data field does not contain a valid value or has not yet been initialized. A comparative value does not need to be defined for this operator.

Defined

The data field contains any random value. An empty string is also valid - e.g. when saving without an entry. A comparative value does not need to be defined for this operator.

Contains

All string that contain the comparative value.

Starts with

All string that start with the comparative value.

Ends with

All string that end the comparative value.

Is contained in

All strings that appear, even in part, in the comparative value. If the string delivered by the data field is identical to the comparative value, no result will be returned. Multiple values can be separated with ||.

Is not contained in

All strings that not appear, even in part, in the comparative value. Multiple values can be separated with ||.

The operators "Less than or equal", "Less than", "Greater than orequal", and "Greater than" offer special usefulness when filtering customer or product numbers that are made up of number and letter strings.

With the number "C1000" the ASCII value of the character string can deliver smaller numbers. The capital letter "C" has an ASCII value of 67, the number "1" has the value 49, and the number "0" has the value 48. The operators named above compare ASCII values lexicographically. With the operator "Less than", all numbers that are smaller than "C1000" will be returned ("C999, C998, "etc.). In order to deliver data sets that possess no entry in the data field, a query must be made with an "OR" link, i.e. whether the value of the field is "NULL" (operator: "Undefined"), or whether the entry is empty because no entry has been saved.

In order to return an empty string, select the operator "Equals" and set the comparison value to "User-defined". The "Character string" field will remain empty in this case. If all fields will be filtered to return entries (no empty string and no "NULL"), the filter must be run in this way with an "AND" linking.

Data type integer, double, datetime

Operator

Delivers

Equal to

Equal values

Unequal

Unequal values

Less than or equal

Smaller or equal values

Less than

Smaller values

Greater than or equal

Exceeding or equal values

Greater than

Exceeding values

Undefined

Every data set whose data field does not contain a valid value or has not yet been initialized. A comparative value does not need to be defined for this operator.

Defined

The data field contains any random value. A comparative value does not need to be defined for this operator.

Is contained in

The same as operator "Equals"

Is not contained in

The same as operator "Unequal"

Is contained in tenants

Is only available for selection if the UserID or a GUID from the Users application has been selected as the data field. It can be compared with the system values "Selected tenants of current user" and "All tenants of current user" to filter the current data by the tenant(s) that area assigned to the current user. More information about this topic can be found here.



Data type: boolean

Operator

Delivers

Equal to

Equal logical value

Undefined

Fields with the value "NULL"

Defined

Records in which the data field has either the value "True" or "False".

Negation

This setting can be activated for the operators "Contains", "Begins with", and "Ends with". This will identify all data fields that do not match the filter.

3. Comparative value

Any data or reference field can be selected as a comparison value. A comparison is only possible if the data type matches.

Current value

This option can be selected if the filter expression is created from a page that displays a data set. The filter result then contains all data records that contain the current value of the data field selected here - corresponding to the selected operator.

Select a data field from a parent data group

Opens a dialog where data fields from a parent data group can be selected. The button is only active if the data group has a parent data group (or higher).

Current user

This option can be used to select a comparison value from the "User" module.

If a comparison is made with an integer data field (1), a selection is available here:

For data fields (1) with other data types, other corresponding fields from the "User" module can be selected as a comparison value.

System value

Data record ID

ID of the currently displayed data record.

Parent data record ID

ID of the parent data record.

Set / Container

Comparison with the corresponding objects from the "User" module, each of which can be selected from the selection list below the option.

Returns data records of users contained in the set or container using the "Is contained in" operator. Only users are determined, no other objects such as user groups.

Exchange Mailbox Info

String or text data fields (1) can be compared with the system value "Exchange-Mailbox-Info". Possible values:

INBOX

(HRef of the folder inbox)

USERMAILADDRESS

(Email address of the exchange user)

USERMAILBOX

(Mailbox of the exchange user)

DRAFTS

(HRef of the folder drafts)

DELETEDITEMS

(HRef of the folder deleted items)

SENTITEMS

(HRef of the folder sent items)

CALENDAR

(HRef of the folder calendar)

CONTACTS

(HRef of the folder contacts)

TASKS

(HRef of the folder tasks)

VERSION

(Version of the Exchange server in the Exchange configuration)

A default value can be entered in "Default", which is used if the variable is not defined.

Language

The comparison value "Language" will filter the table entries depending on the language setting of the portal. The prerequisite is that the comparison is made with a data field (data type "string") in which the language abbreviations (e.g. de, en) have been entered for each data record.

Layout

The comparison value "Layout" will filter the table entries depending on the current layout of the portal.

Selected tenants of current user

In combination with the operator "Is contained in tenants", this returns the records that are contained in the tenants selected by the current user. More information about this topic can be found here.

All tenants of current user

In combination with the operator "Is contained in tenants", this returns the records that are contained in every tenant assigned to the current user. More information about this topic can be found here.

Adjustment

If a data field with the data type "datetime" is compared, its value can be compared with the current date and time. You can find out more about adjusting dates here.

Please note when filtering time periods that a day always begins at 00:00. So if you want to filter the period 8/1 to 8/5, the filter expression must be ">8/1 and <8/6" so that 8/5 is still included in the filter.

Binding

You can compare the value of the date field with session values, request values, values from the processing context, system data fields or parameters. Values can only be compared with parameters in applications. Parameters cannot be selected as the comparison value in processes. In the API environment, API parameters can also be used for the comparison.

Default

Enter the name of the binding here.

Custom

Any character string can be entered as a user-defined, static comparison value to compare string data fields. Please note that these are case-sensitive. For integer or double data fields, you can compare with any number. "Datetime" data fields can be compared with a date.

Subquery

A sub-query can be executed in the comparison value in combination with the operators "Is contained in" or "Is not contained in".

Edit subquery

Opens a dialog where the subquery for a data group can be defined.

Subquery properties

This dialog can be found in various places, including under filter expressions in Dependencies.

Select the application, data group and data field for the return value of the subquery.

Click "OK" to save changes and close the dialog again.

Click "OK" to save the configuration of the filter expression and close the dialog again.

The completed filter printout is now displayed here.

Edit filter in expert mode

Opens the filter editor where the filter's XML can be edited directly.