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, which you can access in the properties of application and process elements, contains all the 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:
-
Data to be filtered
-
Operator that defines the type of comparison
-
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:
-
Login attempts (number of failed login attempts)
-
User ID / Container ID / Class ID
-
Gender
Locked
-
Priority of the user.
-
Deputy ID / supervisor ID (the "Is contained in" operator can be used to determine the deputy or supervisor of the current user)
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 subquery can be executed in the comparative 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.