Skip to main content

Filters Panel

The Filters panel controls which rows from the data source reach each component or page in the output. Filters are defined in the designer and evaluated at render time. They are distinct from slicers (which expose interactive controls to the report consumer) — filter panel rules are part of the report definition itself and are not visible or changeable by the end consumer.

Report Forge filters panel

Filter scopes

ScopeEffectWhen to use
VisualApplies only to the currently selected component. Other components on the same page are not affected.A chart focused on one discipline while the table beside it shows all disciplines.
PageApplies to every component on the current page.A page dedicated to a single package, period, or contractor.
ReportApplies to the entire output across all pages.Global constraints like project scope, reporting period, or organisation.

Adding a filter rule

  1. Select the scope (Visual, Page, or Report) in the Filters panel.
  2. Click + Add filter.
  3. Select the Field to filter on.
  4. Select the Operator.
  5. Enter or select the Value (static, parameter, or field reference).
  6. Add additional rules and set the logic (AND / OR) between them.

Filter operators

OperatorApplies toDescription
EqualsText, Number, Date, BooleanExact match.
Not equalsText, Number, DateExcludes exact match.
Greater thanNumber, DateValue is strictly greater.
Greater than or equalNumber, DateValue is greater or equal.
Less thanNumber, DateValue is strictly less.
Less than or equalNumber, DateValue is less or equal.
BetweenNumber, DateValue falls within a min–max range (inclusive).
Not betweenNumber, DateValue falls outside a min–max range.
Is blankAll typesNo value present.
Is not blankAll typesA value is present.
ContainsTextSubstring match (case-insensitive).
Does not containTextExcludes substring match.
Starts withTextText begins with the prefix.
Ends withTextText ends with the suffix.
In listText, NumberMatches any value in a comma-separated list.
Not in listText, NumberDoes not match any value in a list.
Is beforeDateDate is earlier than the specified date.
Is afterDateDate is later than the specified date.
This periodDateDate falls within the current reporting period (relative).
Last N periodsDateDate falls within the last N calendar periods.

AND / OR logic

Multiple rules within the same scope are combined with:

LogicBehaviour
ANDAll rules must be satisfied for a row to be included.
ORAny one rule being satisfied includes the row.

Mixed AND/OR logic is supported using rule groups:

  • Create a rule group to nest rules with different logic inside a parent rule.
  • E.g., (Status = "Active" OR Status = "In Progress") AND Discipline = "Civil".

Filter values: static vs. parameter

Value typeWhen to use
Static valueThe filter value never changes between report runs (e.g., Status = "Approved").
ParameterThe filter value is provided at runtime by the report consumer or by a parent template. Use {ParameterName} as the filter value.
Field referenceThe filter value is derived from another field in the data source (e.g., filter activities whose finish date is before the project's data date field).

Page vs. visual scope interaction

Page-scope filters are applied first, then visual-scope filters are applied on top. A visual-scope filter cannot show data that was already excluded by a page-scope filter.

To show a component that displays all data while the rest of the page is filtered:

  1. Apply the restrictive filter at page scope.
  2. On the "all data" component, add a visual-scope filter that overrides by setting the condition to "is not blank" on the key field (effectively showing all records).

Note: Visual scope filters narrow further — they cannot expand beyond what page scope allows.


Good practice

  • Use the narrowest scope that achieves the filtering goal. Report-scope filters affect everything; use them only for constraints that genuinely apply everywhere.
  • Use parameters for any filter value that changes between report periods (e.g., reporting month, project reference).
  • Test filter combinations with real edition data to confirm the expected rows are included.
  • Document applied report-scope filters in a report assumptions section so consumers understand the data scope.