Filter

For all application elements that display lists of data, fixed filters can be set up. Filters can also be applied to certain process elements, such as the data group action.

Dependencies

Unlike hard-coded filters, filters in applications can also be set up dynamically using what is known as a "dependency." In this case, an entry made in another application element triggers the filter that is defined via a dependency (e.g., in a view table).

You can find all the information about dependencies here.

Hard-coded filters

In the Properties dialog box for application elements that can be filtered, you'll find the "Filter" button ( ) for each one.

Click "Filter" under " ."

Filter

In this dialog, which you can access from the Properties of application and process elements, you will find all the filter expressions that have already been defined.

/ Edit filter expression

Opens a dialog box where you can create or edit one or more filter expressions.

Filter Expression

If you create multiple filter expressions, you can choose how the individual expressions are combined. With an "AND" operator, only records that meet all criteria are returned; with an "OR" operator, records that meet at least one criterion are returned.

A filter expression consists of three parts:

  1. Data to be filtered

  2. Operator that determines the type of comparison

  3. A reference value against which the data to be filtered is compared.

1. Data

Data Group / Data Field

Select the data group and data field here whose values you want to filter. Data fields from a parent or child data group can also be used in the filter expression.

2. Surgery

Depending on the data type of the selected data field, different operators are available.

Data type: string, text

Operator

Returns the following result

Right away

Any string that is identical to the reference value. This process distinguishes between uppercase and lowercase letters.

Unequal

Any string that is not identical to the comparison value. This process distinguishes between uppercase and lowercase letters.

Less than or equal to

Any string whose character value (ASCII) is less than or equal to the character value of the comparison value.

Smaller than

Any string whose character value (ASCII) is less than the character value of the comparison value.

Greater than or equal to

Any string whose character value (ASCII) is greater than or equal to the character value of the comparison value.

Greater than

Any string whose character value (ASCII) is greater than the character value of the comparison value.

Undefined

All records in which the data field does not contain valid values or has not yet been initialized. With this operator, you do not need to specify a comparison value.

Defined

The data field contains any value. An empty string is also considered an arbitrary value—for example, if the data was saved without any input. With this operator, you do not need to specify a comparison value.

Contains

All strings that contain the comparison value.

Begins with

All strings that begin with the comparison value.

Ends with

All strings that end with the comparison value.

Included in

All strings that appear as a subset in the comparison value. If the string returned by the data field is identical to the comparison value, no result is returned. Multiple values can be specified, separated by ||.

Not included in

All strings that do not appear as a subset in the comparison value. Multiple values can be specified, separated by ||.

Using the operators "Less than or equal to," "Less than," "Greater than or equal to," and "Greater than," you can filter, for example, customer or item numbers that consist of letters and sequences of numbers.

For a number such as "C1000," the ASCII value of the character string can be used to determine smaller numbers. The uppercase letter "C" has the ASCII value 67, the digit "1" has the value 49, and the digit "0" has the value 48. The operators listed above compare ASCII values lexicographically. The "less than" operator returns all numbers that are less than "C1000" ("C999," "C998," etc.). To identify records that have no entry in a data field, you must use an OR operator to check whether the field's value is NULL (the "Undefined" operator) or whether the entry is empty because it was saved without an input.

To determine an empty string, select the "Equal" operator and set the comparison value to "User-defined." In this case, the "String" field remains blank. If you want to filter all fields that contain an entry (i.e., not an empty string and not NULL), you must use an AND operator to compare them in the same way.

Data types: integer, double, datetime

Operator

Returns the following result

Right away

All the same values

Unequal

All unequal values

Less than or equal to

Smaller and equal values

Smaller than

Smaller values

Greater than or equal to

Greater than and equal to

Greater than

Larger values

Undefined

All records in which the data field does not contain valid data or has not yet been initialized. With this operator, you do not need to specify a comparison value.

Defined

The data field contains any value. With this operator, you do not need to specify a comparison value.

Included in

like the "equal" operator

Not included in

like the "not equal to" operator

Included in clients

This option is available only if the User ID or a GUID from the user application has been selected as the data field. Can be compared with the system values "Selected clients of the current user" and "All clients of the current user" to filter the current data to the client(s) assigned to the current user. You can find more information on this topic here.



Data type: boolean

Operator

Returns the following result

Right away

Equal Truth Values

Undefined

All NULL values

Defined

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

Negation

For the operators "Contains," "Starts with," and "Ends with," you can select the "Negation" setting. This filters out all records to which the current operator does not apply.

Starting with Intrexx version 12.1.5:

Swap the order of the arguments

In filter expressions using the operators "Contains," "Starts with," and "Ends with," the order of the arguments can be reversed.

From

"Data field contains / starts with / ends with value"

will be

"Value contains / starts with / ends with data field".

Starting with Intrexx 12.1.5, the filter expression "Data field contains data field" can be applied to the following database types and OData:

  • MariaDB

  • Oracle

  • Postgres

  • Mssql

  • MySQL

3. Comparative value

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

Current value

This option can be selected when the filter expression is created from a page that displays a record. The filter result will then contain all records that include the current value of the data field selected here—in accordance with the selected operator.

Select a data field from a parent data group

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

Current User

This option allows you to select a reference value from the "Users" module.

When comparing with an integer data field (1), the following options are available:

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

System value

Record ID

ID of the currently displayed record.

Parent Record ID

ID of the parent record.

Set / Container

Compare with the corresponding objects from the "Users" module, which can be selected from the drop-down list below the option.

Using the "Is contained in" operator, this returns records of users who are contained in the set or container. Only users are identified; no other objects, such as user groups, are included.

Exchange Mailbox Information

String or text data fields (1) can be compared with the system value "Exchange Mailbox Info." The following values are possible:

INBOX

(HRef of the Inbox folder),

USER EMAIL ADDRESS

(Exchange user's email address),

USER MAILBOX

(Exchange user's mailbox),

DRAFTS

(Href of the "Drafts" folder),

DELETEDITEMS

(HRef of the "Deleted Items" folder),

SENTITEMS

(Hyperlink to the "Sent Items" folder),

CALENDAR

(HRef for the "Calendar" folder),

CONTACTS

(HRef of the "Contacts" folder),

TASKS

(HRef of the "Tasks" folder),

VERSION

(Exchange Server version from the Exchange configuration)

In "Default," you can enter a default value that will be used if the variable is not defined.

Language

For the "Language" comparison criterion, the table entries are filtered based on the portal's language setting. This requires a comparison with a data field (data type "string") in which the language codes (e.g., de, en) were recorded for each data record.

Layout

For the "Layout" comparison value, the table entries are filtered based on the currently loaded layout.

Selected Clients of the Current User

Using the "Is contained in client" operator, this returns the records that are contained in the clients selected by the user. You can find more information on this topic here.

All clients of the current user

Using the "Is contained in clients" operator, this returns the records that are contained in all clients assigned to the user. You can find more information on this topic here.

Adjustment

If a comparison is made with a data field of the "datetime" data type, its value can be compared with the current date and time. You can find information about customization here.

When filtering by time periods, please note that a day always begins at 12:00 a.m. So if you select the date range August 1, through August 5 If you want to filter, the filter expression must be ">1.8. and <6.8." read, so that August 5 is still trapped in the filter.

Binding

Here, you can compare values using session values, request values, values from the processing context, system data fields, or parameters. Comparisons with parameters are only possible in applications. In processes, parameters are not available as reference values. In an API environment, API parameters can also be used here for comparison.

Specification

Enter the name of the binding here.

Custom

For string data fields, any string can be specified as a custom, static comparison value. Please be sure to use the correct uppercase and lowercase letters. For integer or double data fields, comparisons can be made with any number. Datetime data fields can be compared to any date.

Subquery

A subquery 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 box where you can define the subquery for a data set.

Subquery Properties

You'll also find this dialog in filter expressions within dependencies, among other places.

Select the application, data group, and data field for the subquery's return value here.

Click "OK" to save your changes and close the dialog box.

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

The completed filter output is now displayed here.

Edit Filters in Expert Mode

Opens the filter editor, where you can edit the filter's XML directly.