Skip to main content
Using filters
{% slider
    id="sales_filter"
    data="demo_daily_orders"
    value_column="total_sales"
    title="Sales Amount"
/%}

{% bar_chart
    data="demo_daily_orders"
    x="date"
    y="sum(total_sales)"
    filters=["sales_filter"]
    date_grain="month"
/%}

Examples

Using filters

Using filters
{% slider
    id="sales_filter"
    data="demo_daily_orders"
    value_column="total_sales"
    title="Sales Amount"
/%}

{% bar_chart
    data="demo_daily_orders"
    x="date"
    y="sum(total_sales)"
    filters=["sales_filter"]
    date_grain="month"
/%}

Using where

Using where
{% slider
    id="sales_filter"
    data="demo_daily_orders"
    value_column="total_sales"
    range=true
/%}

{% table
    data="demo_daily_orders"
    where="total_sales {{sales_filter.between}}"
/%}

Using Inline SQL

Using Inline SQL
{% slider
    id="sales_filter"
    data="demo_daily_orders"
    value_column="total_sales"
    range=true
/%}

```sql filtered_orders
select * from demo_daily_orders
where total_sales {{sales_filter.between}}
```

{% table data="filtered_orders" /%}

Attributes

id
string
required
The id of the slider to be used in a filters prop
title
string
Text displayed above the slider
info
string
Information tooltip text
URL to link the info text to (can only be used with info)
Create a custom link title for the info link, placed after the info text (can only be used with info_link)
data
string
Name of the table to query for min/max values
value_column
string
SQL expression to get min/max values from. When provided with data, queries MIN(value_column) and MAX(value_column) to set the slider range.
min
number
Minimum value for the slider
max
number
Maximum value for the slider
step
number
default:"1"
Step size for the slider
snap_to_step
boolean
default:"true"
If true, automatically adjusts min/max to align with step boundaries for cleaner numbers (e.g., range 15-103818 with step=10000 becomes 0-110000)
fmt
string
default:"num"
Format code for the slider values (e.g., “num”, “usd”, “pct”). See formatValue documentation for available formats. See Value Formatting for available formats.
range
boolean
default:"false"
If true, enables range mode with two handles for selecting a min/max range
initial_value
number | array
Initial selected value (number for single value, [min, max] array for range mode)
show_input
boolean
default:"false"
If true, shows a number input next to the slider value for direct editing

Using the Filter Variable

Reference this filter using {{filter_id}}. The value returned depends on where you use it.
ContextDefault PropertyNo SelectionResult
Inline SQL query.value500
where attribute.value500
Text / Markdown.value500

Available Properties

You can also access specific properties using {{filter_id.property}}:

.value

Returns the numeric slider value, or the selected range when in range mode.
{% slider id="age_filter" data="users" value_column="age" /%}

```sql filtered_users
select * from users
where age >= {{age_filter}}
```
Example value: 500

.filter

Returns a complete SQL filter expression. Returns true when no value is selected. Only available when value_column is provided.
{% slider id="age_filter" data="users" value_column="age" /%}

```sql filtered_users
select * from users
where {{age_filter.filter}}
```
Example value: age >= 25

.literal

Returns the raw numeric value. Only available in single value mode.
{% slider id="price_filter" min=0 max=1000 /%}

```sql filtered_products
select * from products
where price >= {{price_filter.literal}}
```
Example value: 500

.min

Returns the minimum value of the selected range. Only available when range mode is enabled.
{% slider id="age_filter" data="users" value_column="age" range=true /%}

```sql filtered_users
select * from users
where age >= {{age_filter.min}}
```
Example value: 25

.max

Returns the maximum value of the selected range. Only available when range mode is enabled.
{% slider id="age_filter" data="users" value_column="age" range=true /%}

```sql filtered_users
select * from users
where age <= {{age_filter.max}}
```
Example value: 65

.between

Returns a SQL BETWEEN clause fragment. Only available when range mode is enabled.
{% slider id="price_filter" min=0 max=1000 range=true /%}

```sql filtered_products
select * from products
where sale_price {{price_filter.between}}
```
Example value: BETWEEN 25 AND 65