Data Filters
Feb 16, 2023 • 5 minutes to readData filters are logical expressions with static or dynamic conditions that control what data from the data source appears in your DataParts. With this feature, you can configure a condition based on a static value that you specify, or a dynamic value loaded from another DataPart (for example, a search form that sends values to a tabular report). As a result, you can display only the records that meet your specific criteria.
To support more complex filtering logic and further refine the data in your DataPart, you can combine many filters in groups and create logical binding within groups with AND and OR operators. Additionally, you can nest groups within other groups.
For example, to allocate medical staff more efficiently, as the facility manager, you might want to know which active physicians can take new patients or speak in a specific language. To implement this improvement plan, you can filter the list of physicians to display only active doctors who joined before a specific date and can either accept new patients or speak English, as shown in the following image:
All report types and the details/update form support data filters.
Filtering with Multiple DataParts Using the Same Data Source
You can filter data dynamically when multiple DataParts share the same data source. When filtering criteria refer to different DataParts that use the same data source, the session parameter set most recently takes precedence. Filtering criteria based on earlier DataParts with the same data source are bypassed. This ensures that your application displays data contextually, based on the latest interaction by the user.
For example, a Details/Update Form can display a record based on the selected item in a report or the newly created item in a Submission Form. If a user clicks a record in a report, the Details/Update Form will show the selected record. However, after creating a new record, the same Details/Update Form will automatically display the newly created item instead.
Compatible Data Types in Filters
You can compare fields from different DataParts if they are compatible with each other, as shown in the following table:
Search form field | Compatible report fields |
---|---|
Text255 Text64k |
Text255, Text64k, Formula (text), Integer, Numeric, Currency, Formula (numeric), File, Autonumber, GUID, Prefixed_Autonumber, Random ID |
Integer Numeric Currency |
Text255, Text64k, Formula (text), Integer, Numeric, Currency, Formula (numeric), Autonumber |
Date&Time TimeStamp |
Date&Time, TimeStamp, Formula (datetime) |
List String | List String |
List Number | List Number |
List Date | List Date |
Yes/No | Yes/No, Formula (yes/no) |
File | Text255, Text64k, Formula (text), File |
Autonumber | Text255, Text64k, Formula (text), Integer, Numeric, Currency, Formula (numeric), Autonumber |
GUID | Text255, Text64k, Formula (text), GUID |
Prefixed Autonumber | Text255, Text64k, Formula (text), Prefixed Autonumber |
Random ID | Text255, Text64k, Formula (text), Random ID |
Formula | The data type of a formula field depends on its expression and return value and follows the conversion compatibility for that data type. After any conversion, the computed values are replaced with static values. |
Comparison Types in Filters
Filters compare the source data against the criteria that you set. You can use the following comparison types to filter your data:
Comparison type | Description | Field where applicable |
---|---|---|
Is between or equal to | Returns records with number values that are either in the range of two values or the same as one of these two values. | Integer Number Currency Formula Autonumber |
Is not between | Returns records with number values that are either outside of the range of two values or the same as one of these two values. | |
Begins with | Returns records that start with a specific character or number value. | Text255 Text64k Formula Prefixed Autonumber GUID Random ID |
Contains any of Contains all Contains none | Returns records that contain at least one, all, or none of the specific values that you select, depending on your settings. | List-Number List-String List-Date |
Does not contain any of | Returns records that do not contain any of the specific values that you select. | |
Is after Is before | Returns records that have date values that fall before or after a specific date and time, excluding that date and time. | Date/Time Timestamp |
Is after or exactly Is before or exactly | Returns records that have date values that fall before or after a specific date and time, including that date and time. | |
Is in the last Is in the next | Returns records with date values within the specific number of previous or next days, weeks, months, quarters, or years, including the current date. | |
Is in the current | Returns records with date values within this day, week, month, quarter, or year. | |
Is not in the last Is not in the next | Returns records with date values that do not include the specific number of previous or next days, weeks, months, quarters, or years counted from the current date. Example: If you build an “Is not in the last 3 months” filter, it will exclude records from previous three calendar months, to show only the records from before and after that period. | |
Is not in the current | Returns records with date values that are not within the current day, week, month, quarter, or year. |
For more information about comparison types and logical operators, see Comparison Types.