Dashboard Filters
Dashboard filters let viewers slice and dice every chart on a dashboard simultaneously, without modifying the underlying chart configuration. CalabiIQ uses native filters — a built-in, high-performance filter system that ships as a collapsible sidebar.
Filter Architecture
Each filter targets a column in one or more datasets. When a viewer selects a value, CalabiIQ appends a WHERE clause to every chart query within the filter's scope.
Filter Types
| Filter Type | Use Case | Example |
|---|---|---|
| Value | Select one or more values from a categorical column | country IN ('US', 'UK') |
| Numerical Range | Restrict a numeric column to a min/max range | score BETWEEN 60 AND 100 |
| Time Range | Filter all time-series charts to a date range | exam_date BETWEEN '2025-01-01' AND '2025-12-31' |
| Time Grain | Change the time grouping (day/week/month/quarter/year) | DATE_TRUNC('month', exam_date) |
| Custom SQL | Any arbitrary WHERE clause | LOWER(email) LIKE '%@yourcompany.com' |
Adding a Native Filter
- Open the dashboard in Edit mode (click the pencil icon, top-right).
- Click the Filters icon (funnel) in the left sidebar.
- Click + Add filter / divider.
- Choose a filter type from the dropdown.
- Configure the filter fields (see sections below).
- Click Save to apply.
You must be a dashboard owner or Admin to add or edit filters. Viewers can use filters but cannot change their configuration.
Configuring a Value Filter
Value filters present a dropdown or multi-select widget populated from a column's distinct values.
| Field | What to set |
|---|---|
| Filter name | Display label in the filter bar (e.g., Country) |
| Dataset | The dataset whose column provides the filter values |
| Column | The column to filter on (e.g., country_name) |
| Filter type | Value |
| Multiple select | Allow selecting more than one value |
| Search all filter options | Fetch all distinct values (use for low-cardinality columns) |
| Default value | Pre-selected value(s) when the dashboard first loads |
Scoping a filter to specific charts
By default, a filter applies to all charts whose datasets contain the filtered column. To restrict scope:
- In the filter configuration panel, click Scope.
- Deselect charts you want to exclude.
- Click Save.
Configuring a Numerical Range Filter
- Add a filter and choose type Numerical range.
- Select the Dataset and Column (must be numeric).
- Set optional Min and Max bounds for the slider.
- Choose whether to render as a Slider or Input fields.
Example use case: Allow viewers to filter exam scores between 0 and 100.
Configuring a Time Range Filter
The Time Range filter is the most powerful filter type — it drives the time window for all time-series charts on the dashboard.
- Add a filter and choose type Time range.
- Optionally set a Default date range (e.g.,
Last quarter,This year).
Time range selector options
| Option | Description |
|---|---|
| Last day / week / month / quarter / year | Rolling relative windows |
| Previous calendar period | Previous full month, quarter, or year |
| Custom range | Exact start and end dates |
| No filter | Show all data regardless of date |
Use Last quarter as the default for operational dashboards — it gives immediate context without overwhelming users with too much historical data.
Configuring a Custom SQL Filter
For cases where no standard filter type fits your requirements:
- Add a filter and choose type Custom SQL.
- Write a SQL
WHEREclause fragment (without theWHEREkeyword):
-- Only show data from active candidates in EMEA
region = 'EMEA' AND candidate_status = 'active'
- Map the filter to the relevant datasets using Scope.
Custom SQL filters are static — viewers cannot change them at runtime. Use them for permanent editorial restrictions, not interactive slicing.
Time Grain Filter
The Time Grain filter lets viewers change how time-series data is grouped without rebuilding charts.
Example: A line chart showing daily exam volumes can be dynamically grouped by week or month by the viewer — just add a Time Grain filter and map it to the relevant charts.
- Add a filter, choose Time grain.
- Select which grains to expose:
Day,Week,Month,Quarter,Year. - Set a Default grain.
Cross-Filtering
Cross-filtering enables charts to act as interactive filters for other charts on the same dashboard. When a viewer clicks a bar in a bar chart, all other charts filter to match that selection.
Enabling cross-filtering
- Open the dashboard settings (pencil icon → ··· → Dashboard properties).
- Enable Cross-filtering.
- Click Save.
How it works
Cross-filter values are shown as chips in the filter bar. Click the × on any chip to remove that cross-filter.
Filter Bar Position
The filter bar can be placed on the left (default) or across the top of the dashboard.
- In Edit mode, click ··· → Edit dashboard.
- Toggle Filters on top in the panel.
- Click Save.
Left sidebar is recommended for dashboards with many filters. Top bar works better for dashboards with 1–3 quick-toggle filters.
Filter Interactions
Filter dependencies
You can make one filter depend on another — e.g., a City filter that only shows cities within the selected Country.
- Open the filter you want to make dependent (e.g., City).
- Check Pre-filter available values.
- Choose the parent filter (e.g., Country).
- Save.
Now the City dropdown automatically narrows to cities in the selected country.
Dashboard Filter URL State
Filter selections are encoded in the dashboard URL, making it easy to share a pre-filtered view:
https://calabi.yourdomain.com/bianalyst/dashboard/42?
native_filters_key=<encoded-filter-state>
Use the Share → Copy permalink button to capture the current filter state into a shareable URL.
Filter Reference
| Feature | Supported |
|---|---|
| Multiple simultaneous filters | Yes |
| Cascading (dependent) filters | Yes |
| Cross-filtering | Yes |
| Default filter values | Yes |
| Time range filter | Yes |
| Custom SQL filter | Yes |
| Scoping to specific charts | Yes |
| Shareable filter state via URL | Yes |
| Filter bar on top | Yes |
| Filter bar on left | Yes |