Skip to content

Advanced Filter Values

By default, filters compare a column against static values you type in. But you can also compare against other columns or connect to dashboard-level filter variables.

Each filter condition supports three value types, selectable via buttons next to the value field:

TypeIconDescription
StaticData type icon (text, number, calendar, toggle)Enter values directly
Filter VariableFunnel iconConnect to a filter variable
ColumnGrid iconCompare against another column

Static values are the default. You type or select the comparison value directly.

For String and Boolean columns, the input provides autocomplete based on actual values in your data. Start typing to see matches, or click the dropdown to browse.

Some operators allow selecting multiple values:

  • String: Equals, Not Equal, Contains, Does Not Contain, Starts With, Ends With
  • Number: Equals, Not Equal

When you select multiple values:

  • “Equals” includes rows matching ANY selected value
  • “Not Equal” excludes rows matching ANY selected value

Date columns have specialized inputs depending on the operator and time mode. See Date Filtering for details.

Use Is Blank and Is Not Blank operators for null/empty values. These operators don’t need a value input.

On string and categorical columns, Is Blank matches empty strings as well as null and missing values.

Column comparison lets you compare values between two columns in the same row. Useful for finding records where column relationships matter.

  1. Click the Column button (grid icon) in the value input area
  2. Select the column to compare against
  3. The filter compares each row’s value in the left column against the corresponding value in the right column

You can only compare compatible data types:

Source columnCan compare to
StringString only
Number (int, float)Number only
DateDate, Datetime
DatetimeDate, Datetime
BooleanBoolean only

Incompatible columns are disabled in the picker.

When comparing columns, you can optionally apply an offset:

For Number columns:

  • Enter a numeric offset added to the comparison column’s value
  • Example: Compare revenue to cost + 100

For Date/Datetime columns:

  • Enter a time offset using days, hours, and minutes
  • Example: Compare due_date to created_date + 7 days

Find overdue items:

  • Column: due_date
  • Operator: Before
  • Compare to: current_date (if available) or use date filtering with “now”

Find profitable sales:

  • Column: revenue
  • Operator: Greater Than
  • Compare to: cost

Find records where fields match:

  • Column: shipping_address
  • Operator: Equals
  • Compare to: billing_address

Find records where fields differ:

  • Column: assigned_to
  • Operator: Not Equal
  • Compare to: created_by

Widget filters can reference the dashboard-level date filter directly. This is useful when a widget needs a date condition that is not covered by the global date filter mapping, or when you want to use the dashboard date range as a filter value in a more complex expression.

When a filter supports date values and the dashboard has a date filter configured, the filter variable picker shows three dashboard date options under Dashboard Date Filter:

ReferenceTypeDescription
Dashboard Date RangeDynamic date rangeMatches dates that fall between the current start and end dates of the dashboard date filter
Dashboard Date StartDateMatches dates against the start date of the dashboard date filter using the chosen operator (On, Before, After, etc.)
Dashboard Date EndDateMatches dates against the end date of the dashboard date filter using the chosen operator
  1. In a widget filter, select a date or datetime column
  2. Click the Filter Variable button (funnel icon)
  3. Choose one of the Dashboard Date Filter options
  4. Select the appropriate operator for the reference type

Fallback when the dashboard date filter is unset

Section titled “Fallback when the dashboard date filter is unset”

If the dashboard date filter has not been set, you can choose what the condition does:

  • Match all rows (default): The filter condition is ignored and all data is included
  • Match no rows: The filter condition blocks all data

To change this, click the settings icon that appears after selecting a dashboard date filter reference and pick the fallback behavior.

ReferenceCompatible operators
Dashboard Date RangeEquals, Not Equal
Dashboard Date StartOn, Not On, Before, After
Dashboard Date EndOn, Not On, Before, After
  • Use Dashboard Date Range when you want the same date window as the global filter
  • Use Dashboard Date Start or End when you only care about one boundary, such as “created after the dashboard start date”
  • Set the fallback to Match no rows for strict date filtering, or Match all rows for optional filtering

Filter Variables let dashboard-level filtering connect to multiple widgets. When someone changes a filter variable, all connected widget filters update automatically.

  1. Create a filter variable in your dashboard (see Filter Variables)
  2. In a widget’s filter, click the Filter Variable button (funnel icon)
  3. Select the filter variable to connect
  4. The filter’s value is now controlled by the dashboard filter variable
  • Consistent filtering: Multiple widgets filter by the same criteria
  • User interactivity: Viewers can change filters without editing widgets
  • Dynamic dashboards: Create flexible, reusable layouts

Filter variables must match the column being filtered:

  • String filter variable → string column filters
  • Date filter variable → date/datetime column filters
  • And so on

For complete docs, see Filter Variables.

  1. Use filter variables for user-facing dashboards: Let viewers filter without edit access

  2. Use column comparison for business rules: “Revenue greater than cost” is clearer than calculating margins separately

  3. Match data types carefully: Mismatched types prevent filter creation or produce unexpected results

  4. Consider performance: Column comparisons are evaluated row-by-row and may be slower on very large datasets

  5. Document complex filters: When using multiple advanced features together, add widget descriptions explaining the filter logic