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
In this dialog, which you can access in the properties of application and process elements, you will find 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
Different operators are available depending on the data type of the selected data field.
Data type: string, text |
|
---|---|
Operator |
Delivers |
Equal to |
Any string identical to the comparison value. This is case-sensitive. |
Unequal |
Any string that is not identical to the comparison value. This is case-sensitive. |
Less than or equal |
Any character string whose character value (ASCII) is less than or equal to the character value of the comparison value. |
Less than |
Any character string whose character value (ASCII) is less than the character value of the comparison value. |
Greater than or equal |
Any character string whose character value (ASCII) is greater than or equal to the character value of the comparison value. |
Greater than |
Any character string whose character value (ASCII) is greater than the character value of the comparison value. |
Undefined |
All data records in which the data field does not contain any valid values or has not yet been initialized. No comparison value needs to be defined for this operator. |
Defined |
The data field contains any value. An empty string also counts as any value - e.g. if no input was saved. No comparison value needs to be defined for this operator. |
Contains |
All strings that contain the comparison value. |
Starts with |
All strings that begin with the comparison value. |
Ends with |
All strings that end with the comparison value. |
Is contained in |
All character strings that occur as a subset in the comparison value. If the character string returned by the data field is identical to the comparison value, no result is returned. Multiple values can be separated with ||. |
Is not contained in |
All character strings that do not occur as a subset in the comparison value. Multiple values can be separated with ||. |
The operators "Less than or equal to", "Less than", "Greater than or equal to" and "Greater than" can be used, for example, to filter customer or article numbers that consist of letters and number sequences.
With a number "C1000", smaller numbers can be determined using the ASCII value of the character string. The capital letter "C" has the ASCII value 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 "Less than" operator, all numbers that are less than "C1000" are supplied ("C999", "C998" etc.). To determine data records that have no entry in the data field, an OR link must be used to query whether the value of the field is NULL ("Undefined" operator) or whether the entry is empty because no entry was saved.
To determine an empty string, select the "Equal" operator and set the comparison value to "User-defined". The "String" field remains empty in this case. If all fields with an entry (no empty string and not NULL) are to be filtered, they must be compared in the same way using an AND link.
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 |
All data records for which the data field does not contain any valid data or has not yet been initialized. No comparison value needs to be defined for this operator. |
Defined |
The data field contains any value. No comparison value needs to be defined for this operator. |
Is contained in |
like operator "Equal" |
Is not contained in |
like operator "unequal" |
Is contained in tenants |
Is only available for selection 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. Further information on this topic can be found here. |
Data type: boolean |
|
---|---|
Operator |
Delivers |
Equal to |
Equal logical value |
Undefined |
Fields with the value ""NULL"" |
Defined |
Data records for which the data field has the value "True" or "False". |
Negation
The "Negation" setting can be selected for the "Contains", "Starts with" and "Ends with" operators. 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 data field of a parent data group
Opens a dialog in which data fields of a higher-level 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
For the "Language" comparison value, the table entries are filtered 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
For the "Layout" comparison value, the table entries are filtered according to the currently loaded layout.
Selected tenants of current user
Returns the data records contained in the clients selected by the user using the "Is contained in clients" operator. Further information on this topic can be found here.
All tenants of current user
Returns the data records that are contained in all clients assigned to the user using the "Is contained in clients" operator. Further information on 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. Information on customization can be found here.
Please note when filtering time periods that a day always begins at 00:00. So if you have the period 1.8. until 5.8. filter, the filter expression ">1.8. and <6.8." so that the 5.8. is still trapped 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 here 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 sub-query
Opens a dialog in which the sub-query for a data group can be defined.
Properties of the sub-query
You can also find this dialog for filter expressions in dependencies.
Select the application, data group and data field for the return value of the sub-query here.
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.
Editing filters in Expert mode
Opens the filter editor, in which the XML of the filter can be edited directly.