Dynamic Filters
The Dynamic Filters feature in NileDesk is a powerful mechanism that allows users to define flexible conditions for filtering, routing, and controlling data across multiple parts of the platform. Instead of writing code, users can design conditions visually using fields, operators, and logical groups.
Dynamic Filters are used in many areas of NileDesk, including:
- Process Steps Routing – controlling which path a process should follow based on form data.
- Table Row Filtering – refining which rows are displayed in datasets or embedded tables.
- Process List Filters – narrowing down visible processes for better management.
- Dropdown Filtering – limiting which records are available in a dropdown selection.
- Reports and Charts – filtering the dataset behind analytics and dashboards.
- Data Tags – defining which rows are included in calculations or summaries.
- Deadlines & Overdues – specifying conditional scenarios for due dates and reminders.

Core Structure of a Filter
Each filter condition is built from three main parts:
- Field Selection – Choose the target field whose value will be checked. Example: Customer City, Order Amount, Assigned User.
- Operator – Defines how the field will be compared. Operators vary depending on the type of field chosen.
- Comparison Value Type – Decide what the field will be compared against:
- Fixed Value – A static value typed by the user.
- Another Field – Compare against another field from the dataset or form (only available where fields are relevant).
- Expression – Use a calculated expression referencing fields and functions for advanced logic.
Finally, a value is provided according to the chosen type: the fixed value itself, the field to compare with, or the expression formula.
Operators by Field Type
1. Text Fields (Single line, Serial Numbers, etc.)
- Equal To
- Not Equal To
- Starts With
- Ends With
- Contains
- Not Contains
2. Multi-Select Fields (Lists of text values)
- Have – Matches if the list contains the exact value.
- Not Have – Opposite of Have.
- Contain – Matches if the value exists anywhere in the list.
- Not Contain – Opposite of Contain.
3. Number, Aggregate, Date, and DateTime Fields
- Equal To
- Not Equal To
- Greater Than
- Greater Than or Equal To
- Less Than
- Less Than or Equal To
4. Boolean and Lookup Fields
(Checkbox, Radio, Dropdown, User, DataLink, DataSnap)
- Equal To
- Not Equal To
Combining Multiple Conditions
Filters rarely stop at a single condition. To describe more realistic logic, conditions can be combined with AND and OR operators.
Within a Condition Set
- AND – All conditions in the set must be true.
- OR – At least one condition in the set must be true.
Between Condition Sets
You can also create multiple condition sets. Each set is grouped and then combined with another using AND or OR. This allows even more complex scenarios.
Example:
- Condition Set 1: Customer City = "New York" AND Customer Type = "Premium".
- Condition Set 2: Customer Balance > 1000.
- Final Logic: (Condition Set 1) OR (Condition Set 2).
This means the filter will select either Premium Customers in New York OR High-Spending Customers anywhere.

Expressions in Filters
When choosing Expression as the comparison value type, you gain access to dynamic functions and field references. This is useful for advanced filtering such as:
- Comparing a date field to Today().
- Checking if an amount is greater than another field’s value.
- Creating calculated thresholds.
Expression support makes filters not only dynamic but also highly intelligent, adapting to live data at runtime.
Example: Filtering a Customer Dataset
A business wants to select customers for a special campaign:
- Condition Set 1 – Premium Customers in New York:
Customer City = "New York"
Customer Type = "Premium"
Operator between conditions: AND - Condition Set 2 – High-Spending Customers (Any Location):
Customer Balance > 1000 - Final Logic: (Condition Set 1) OR (Condition Set 2).
Result: Customers who are either Premium in New York OR who have a balance above $1000.
Key Benefits of Dynamic Filters
- Consistency: Same filter logic works across processes, datasets, dropdowns, and reports.
- Flexibility: Simple to configure but can model complex business rules.
- Reusability: Similar filtering patterns can be applied in multiple modules.
- Scalability: Handles both straightforward conditions and deeply nested logic.
In short, Dynamic Filters in NileDesk turn complex business scenarios into clear, reusable rules that can be applied anywhere data or process routing needs to be controlled.