The Search Bar Is Powerful
The IR search bar at the top of the report is more powerful than most users realize. It searches across all columns by default and supports specific operators. Teaching users these features and configuring them correctly makes the IR dramatically more useful.
Column-Specific Search
Click the magnifying glass icon next to the search bar to switch from “All Columns” to a specific column. When searching a specific column, the search is more efficient (uses the column’s index if available) and supports column-type-specific operators like date ranges and numeric comparisons.
Search Operators
Users can use operators directly in the search bar when searching a specific column: =Active for exact match, %widget% for LIKE, >1000 for greater than, BETWEEN 100 AND 500 for ranges, NOT NULL for non-null values. These operators transform the simple search bar into a powerful filter tool.
Developer Configuration
For each column, set the “Searchable” property to control whether it is included in the all-columns search. Exclude CLOB columns and computed columns from search to improve performance. Set the “Filter LOV Type” to “Use Named LOV” for columns with known values, which gives users a dropdown of valid filter values instead of requiring them to type.
Sticky Filters
When users apply filters, they appear as removable tags below the search bar. These filters persist across page refreshes within the session. To make filters persist across sessions, users can save the filtered report as a private saved report.
Row Filter
The Row Filter feature (Actions, then Filter, then Row Filter) allows complex boolean expressions combining multiple column conditions with AND/OR operators. This is the power-user alternative to creating multiple individual column filters.
Developer Tip: Pre-Applied Filters via Page Items
Use page items with the IR search bar for common filters. Add a Status select list and a Date Range picker above the report. Reference them in the IR source query with standard bind variables. This gives users one-click filtering for the most common criteria while keeping the full IR filtering available for ad-hoc needs:
SELECT * FROM orders
WHERE (:P10_STATUS IS NULL OR status = :P10_STATUS)
AND (:P10_DATE_FROM IS NULL OR order_date >= :P10_DATE_FROM)
AND (:P10_DATE_TO IS NULL OR order_date <= :P10_DATE_TO);