> ## Documentation Index
> Fetch the complete documentation index at: https://docs.omni.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Dynamic filter controls

> Let dashboard viewers add their own ad-hoc filters without pre-configuring every filter option.

Dynamic filter controls let viewers add their own filters to a published dashboard without the creator having to predefine every filter option. This enables ad-hoc exploration while giving creators control over which fields viewers can filter on.

<Frame caption="Adding a filter as a dashboard viewer">
  <img src="https://mintcdn.com/omni-e7402367/RkvXRuyeLoqMrcGw/visualize-present/images/dynamic-filter-control-add-viewer-filter.png?fit=max&auto=format&n=RkvXRuyeLoqMrcGw&q=85&s=3380205419dfdd18baeb771dfc97b95b" alt="Add filter field picker in an Omni dashboard" width="441" height="397" data-path="visualize-present/images/dynamic-filter-control-add-viewer-filter.png" />
</Frame>

## Requirements

Creating and modifying dynamic filter controls requires **Editor**, **Manager**, or **Owner** permissions on the document.

## Creating dynamic filter controls

<Steps>
  <Step title="Create the control" id="create-control" titleSize="h3">
    1. Open the dashboard in edit mode
    2. Click **Add > Control > Dynamic Filter Control** in the toolbar. The control editor panel will open on the right side of the page.
    3. Enter a **Label** and **Description**.
  </Step>

  <Step title="Define available fields" id="available-fields" titleSize="h3">
    In the **Available fields** section, define how viewers will be able to interact with the filter:

    * **All fields** - Viewers can filter on any field in the model. New fields become available automatically.
    * **Automatically populate filter fields** - Include all fields from selected topics. Updates when selected topics are updated. When selected, you'll be prompted to choose topics to include.
    * **Manually populate filter fields** - Include only fields you select. When selected, you'll be prompted to choose fields to include.
  </Step>

  <Step title="Select display options" id="display-options" titleSize="h3">
    <Note>
      This step is optional.
    </Note>

    Use the options in the **Display options** section to configure how the field displays to dashboard viewers:

    * **Include view name in labels** - By default, only field names are included in filter chips. Selecting this option will also include the name of the view containing the field. This is helpful for allowing viewers to distinguish between fields with the same name from different views.
    * **Hide this control when viewing the dashboard** - Dashboard viewers will not see the control. However, the value can still be adjusted in [scheduled deliveries](/share/deliveries) and embedded links.
  </Step>
</Steps>

## Using dynamic filter controls as a viewer

When a dashboard viewer opens a published dashboard, they'll see an **Add filter** button:

<Frame caption="Click **Add filter** to create a new filter">
  <img src="https://mintcdn.com/omni-e7402367/RkvXRuyeLoqMrcGw/visualize-present/images/dynamic-filter-control-add-filter.png?fit=max&auto=format&n=RkvXRuyeLoqMrcGw&q=85&s=e701fa05fc25011f083ec2ce115a8a22" alt="Highlighted Add filter button under a dynamic filter control on an Omni dashboard" width="653" height="236" data-path="visualize-present/images/dynamic-filter-control-add-filter.png" />
</Frame>

To add a filter:

1. Click **Add filter** on the dashboard.
2. Select a field from the picker. The available fields are determined by the filter's [**Available fields**](#available-fields) setting.
3. Choose filter values.

The filter will be immediately applied to all compatible tiles on the dashboard.

<Note>
  Viewer-added filters aren't saved to the dashboard.
</Note>

### Removing a filter

To remove a filter, hover over the filter and click the <Icon icon="x" /> that displays:

<Frame caption="Click the X to remove a filter">
  <img src="https://mintcdn.com/omni-e7402367/RkvXRuyeLoqMrcGw/visualize-present/images/dynamic-filter-control-remove-filter.png?fit=max&auto=format&n=RkvXRuyeLoqMrcGw&q=85&s=cc48c6db6e474d1bc6761dda8ddb407b" alt="X removal icon displaying on a viewer-added filter in an Omni dashboard" width="518" height="103" data-path="visualize-present/images/dynamic-filter-control-remove-filter.png" />
</Frame>

## Limitations

* Dynamic filters are stored in the URL only and cannot be saved to the dashboard
* Filters don't apply to custom SQL queries unless they use [dynamic filtering](/analyze-explore/sql#custom-sql-filters)
