Documentation

Filtering Data

Apply precise filters to find exactly the records you need with type-aware filter operators.

Overview

Simpl's filter system understands your column types and offers appropriate operators for each. Filter by text, numbers, dates, booleans, arrays, and more.

Filter panel with active filters

Opening the Filter Panel

Click the Filter button in the toolbar above the list view to open the filter panel.

Filter button in toolbar

Adding Filters

Step 1: Select a Column

Choose which column to filter from the dropdown. All columns from your table are available.

Column selector dropdown

Step 2: Choose an Operator

Available operators depend on the column type (see Filter Operators below).

Step 3: Enter a Value

Provide the value(s) to filter by. Input type matches the column type (text input, date picker, number input, etc.).

Step 4: Apply

Click Apply or press Enter. The list view immediately updates to show matching records.

Filter Operators

Text Filters

OperatorDescriptionExample
equalsExact match"John Smith"
containsSubstring match"smith" matches "Goldsmith"
starts withBegins with value"inv-" matches "inv-001"
ends withEnds with value"@gmail.com"
is emptyField is null or empty string-
is not emptyField has a value-

Text filter operators

Number Filters

OperatorDescriptionExample
equalsExact match100
greater thanValue > filter> 50
less thanValue < filter< 1000
greater than or equalValue >= filter>= 0
less than or equalValue <= filter<= 99
betweenValue in range10 to 100
is emptyField is null-
is not emptyField has a value-

Number filter with between operator

Date Filters

OperatorDescriptionExample
isExact date match2024-01-15
is afterDate > filterAfter Jan 1, 2024
is beforeDate < filterBefore Dec 31, 2023
is betweenDate in rangeJan 1 to Mar 31
is emptyNo date set-
is not emptyDate is set-

Date filter with date picker

Boolean Filters

OperatorDescription
is trueField equals true
is falseField equals false
is nullField is null
is not nullField has a boolean value

Boolean filter options

Enum Filters

For PostgreSQL enum columns, you'll see a dropdown with all possible values:

OperatorDescription
isEquals the selected value
is notDoes not equal the selected value
is emptyField is null
is not emptyField has a value

Enum filter dropdown

Array Filters

OperatorDescriptionExample
containsArray includes value["a","b"] contains "a"
is emptyArray is null or empty[]
is not emptyArray has elements-
length equalsArray has N elementslength = 3
length greater thanArray has more than N elementslength > 5
length less thanArray has fewer than N elementslength < 10

Array filter with contains operator

UUID & JSON Filters

OperatorDescription
equalsExact match
starts withBegins with value
is emptyField is null
is not emptyField has a value

Multiple Filters

Adding Multiple Conditions

Click Add Filter to add additional conditions. Each filter narrows your results further.

Multiple filters applied

AND Logic

Multiple filters are combined with AND logic:

  • Filter 1: status = active
  • Filter 2: created_at > 2024-01-01
  • Result: Records that are both active AND created after Jan 1, 2024

Removing Filters

Click the X button on any filter chip to remove it.

Filter chips with remove buttons

Clearing All Filters

Click Clear All in the filter panel to remove all active filters at once.

Filter URL State

Your filters are saved in the URL, which means:

  • Shareable links - Copy the URL to share a filtered view with others
  • Browser history - Use back/forward to navigate filter states
  • Bookmarks - Save commonly-used filter combinations

Example URL with filters:

/dashboard/c/abc123/users?filters=status:eq:active,created_at:gt:2024-01-01

Combining with Search

Filters and search work together seamlessly:

  1. Apply filters to narrow your dataset
  2. Use search to find specific records within filtered results
  3. Both conditions must match for records to appear

This is powerful for scenarios like:

  • "Find all active users whose name contains 'smith'"
  • "Search invoices over $1000 for 'overdue'"

Best Practices

Start Broad, Then Narrow

Begin with one or two filters, then add more as needed. This helps you understand your data distribution.

Use Empty/Not Empty

The "is empty" and "is not empty" operators are useful for:

  • Finding incomplete records
  • Auditing data quality
  • Filtering out nulls

Date Ranges

For time-based analysis:

  • Use "between" for specific periods
  • Use "is after" for recent records
  • Combine with sorting for chronological views

Next Steps