Filters
Filters dynamically change what data is returned by a query. Filters take the input that a user provides via a component, and use it to change the query.
The below example uses the Evidence <Dropdown/>
component.
Examples
Filtering a query with a dropdown
```sql unique_items
select
item
from needful_things.orders
group by 1
```
<Dropdown
name=selected_item
data={unique_items}
value=item
/>
```sql orders_by_month
select
date_trunc('month', order_date) as month,
sum(sales) as sales_usd
from needful_things.orders
where item = '${inputs.selected_item.value}'
group by 1
```
<BarChart
data={orders_by_month}
x=month
y=sales_usd
/>
Filtering a query with a default value
The %
character can be used as a wildcard in SQL. It will return all items when the user selects "All Items" from this dropdown.
Note also the use of the like
operator in the where
clause.
```sql items
select
item
from needful_things.orders
group by 1
```
<Dropdown
name=selected_item
data={unique_items}
value=item
>
<DropdownOption value="%" valueLabel="All Items"/>
</Dropdown>
```sql orders_by_month
select
date_trunc('month', order_date) as month,
sum(sales) as sales_usd
from needful_things.orders
where item like '${inputs.selected_item.value}'
group by 1
```
<BarChart
data={orders_by_month}
x=month
y=sales_usd
/>