> ## 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.

# Working with dashboard filters

> Add filters to Omni dashboards, set defaults, connect them to tiles, and choose how viewers interact with them.

<Tip>
  Want to let dashboard viewers add their own filters? See [Dynamic filter controls](/visualize-present/dashboards/dynamic-filter-controls).
</Tip>

Dashboard filters let viewers narrow data across an entire dashboard without editing it. Each filter is based on a field, and Omni connects it to every tile that uses a matching field. When a viewer changes the filter value, the connected tiles update.

Setting up a filter generally involves three steps:

1. **Add the filter** by picking the field it's based on.
2. **Configure how it behaves** — set a default value, choose how it's displayed, or hide it from viewers.
3. **Map it to tiles** — Omni does this automatically for matching fields, but you can remap or disable per tile.

## Requirements

Creating and modifying filters requires **Editor**, **Manager**, or **Owner** permissions on the document.

## Add a filter

<Steps>
  <Step title="Add the filter" noAnchor>
    1. In a dashboard in edit mode, click **Add > Filter**. The filter panel will open on the right side of the page.
    2. In the filter panel, choose the field you want the filter to be based on. The field you pick determines:

       * Where suggested filter values come from
       * Which field on each dashboard tile Omni initially maps the filter to (you can change this per tile later)
       * The type of field the filter can apply to (string, numeric, date)
    3. Click **Add** to create the filter.
  </Step>

  <Step title="Configure filter settings and behavior" noAnchor>
    In the **Settings** tab, add information about the filter and define how it should behave:

    * **Label** - The name of the filter as it displays to dashboard viewers
    * **Description** - What the filter does or how to use it. Viewers see an <Icon icon="info-circle" /> icon next to the filter name; the description displays on hover:
          <img src="https://mintcdn.com/omni-e7402367/wxO35u5tH0YVe-_w/visualize-present/images/filter-description-hover.png?fit=max&auto=format&n=wxO35u5tH0YVe-_w&q=85&s=0b411ec320caa285df4675ae346c18d2" alt="A dashboard filter with the info icon visible and the description showing on hover" width="341" height="141" data-path="visualize-present/images/filter-description-hover.png" />
    * **Filter type** - Defines how the [filter displays on the dashboard](#filter-display-options). Only appears when the source field is a string or date.
    * **Default value** - Defines a default value for the filter, which pre-loads when the dashboard is opened. See [Set a default value](#default-values) for more information.
    * **Apply to new queries** - When enabled, the filter will be automatically applied to new queries added to the dashboard
    * **Require a value for this filter** - When enabled, viewers must select a value for the filter before they can view data
    * **Hide this filter when viewing the dashboard** - See [Hiding filters from viewers](#hide-filter)
  </Step>

  <Step title="Map to tiles" noAnchor>
    The **Mapping** tab in the filter editor allows you to manage the filter's connection to query tiles on the dashboard. By default, Omni automatically maps the filter to tiles that use a matching field.

    <img src="https://mintcdn.com/omni-e7402367/-tqhX6I5Gu-LUQ5_/visualize-present/images/filter-mapping-tab.png?fit=max&auto=format&n=-tqhX6I5Gu-LUQ5_&q=85&s=ae5675dffc2a21a9b08df70f0b273f14" alt="Mapping tab in the filter editor" width="427" height="353" data-path="visualize-present/images/filter-mapping-tab.png" />

    Use the checkboxes next to the tiles to map or unmap the filter to the specific tile. Selections are saved automatically. See [Map filters to tiles](#mapping) for more information.
  </Step>
</Steps>

## Configure filter behavior

<h3 id="default-values">
  Set a default value
</h3>

Filters can have default values, which will pre-load when the dashboard opens. Default values also override any workbook-level filters on the same field.

To set a default value, open the filter editor and use the **Default value** field in the **Settings** tab. What you can select depends on how the **Filter type** is configured:

* If **Filter type** is set to **Advanced**, you can define a condition using the filter dialog:

  <img src="https://mintcdn.com/omni-e7402367/-tqhX6I5Gu-LUQ5_/visualize-present/images/filter-condition-dialog.png?fit=max&auto=format&n=-tqhX6I5Gu-LUQ5_&q=85&s=7da41f43be11813ea1650e83e4a0776a" alt="Filter dialog" width="408" height="234" data-path="visualize-present/images/filter-condition-dialog.png" />

  <Tip>
    Default values can be user attributes. This is useful when you want a tailored dashboard experience for viewers — for example, a sales dashboard with a default filter set to an Account Executive (AE) name attribute, so each AE sees only their own deals when they open it.
  </Tip>

* If **Filter type** is set to any other option, the default value picker matches that filter type. For example, if a string filter is set to **Single selection**, you can only select a single option from a list of suggestions:

  <img src="https://mintcdn.com/omni-e7402367/-tqhX6I5Gu-LUQ5_/visualize-present/images/filter-default-value-single-select.png?fit=max&auto=format&n=-tqhX6I5Gu-LUQ5_&q=85&s=c08edfc67d7264188bf39e01003468f3" alt="Single select filter field options" width="411" height="626" data-path="visualize-present/images/filter-default-value-single-select.png" />

<h3 id="filter-display-options">
  Select display options
</h3>

<Note>
  This feature is not available for classic dashboards.
</Note>

String and date filters can be displayed in several ways, such as a row of button toggles or a timeframe picker. See [Filter display options](/visualize-present/dashboards/filter-display-options) for more information.

<h3 id="hide-filter">
  Hide a filter from viewers
</h3>

To hide a filter, enable **Hide this filter when viewing the dashboard** in the filter editor's **Settings** tab. The filter value still applies to connected tiles and the value can still be set via the dashboard's URL, but viewers won't see the filter on the dashboard.

<Note>
  Hiding a filter does not restrict data access. To restrict access to data, use [access filters](/modeling/topics/parameters/access-filters), which enforce data access at the model layer.
</Note>

<h2 id="mapping">
  Map the filter to tiles
</h2>

By default, Omni maps the filter to any tile with a matching field. You can change which field it maps to per tile, disable it on specific tiles, or map it to a calculation defined in a tile's query.

<Note>
  Filters don't automatically apply to custom-written SQL queries. See [dynamic filtering in SQL](/analyze-explore/sql#custom-sql-filters) to make a SQL tile respond to dashboard filters.
</Note>

<h3 id="map-different-fields">
  Map to different fields per tile
</h3>

You can map a filter to a tile and select a different field for the filter to use. For example, you might want a date filter to update `user_created_at` on one tile and `orders_created_at` on another.

To change the field mapping for a tile:

1. Open the filter editor for the filter.
2. Click the **Mapping** tab.
3. Use the dropdowns next to the tile titles to select a different field:

   <img src="https://mintcdn.com/omni-e7402367/-tqhX6I5Gu-LUQ5_/visualize-present/images/filter-mapping-tab.png?fit=max&auto=format&n=-tqhX6I5Gu-LUQ5_&q=85&s=ae5675dffc2a21a9b08df70f0b273f14" alt="Filter mapping tab" width="427" height="353" data-path="visualize-present/images/filter-mapping-tab.png" />

   The available fields will be the same type as the filter source field. For example, if the source field is a date, only date fields can be selected for the tile. For tiles built from a topic, you can only map to fields within that topic.

<h3 id="map-calculation">
  Map to a calculation
</h3>

In addition to view fields, you can map a filter to calculations defined in a tile's query. When editing a filter and selecting the field mapping for a tile, calculations appear in a separate **Calculations** group in the dropdown. This lets you apply a dashboard filter to a custom calculation without defining it as a field in your model:

<img src="https://mintcdn.com/omni-e7402367/-tqhX6I5Gu-LUQ5_/visualize-present/images/filter-calculations.png?fit=max&auto=format&n=-tqhX6I5Gu-LUQ5_&q=85&s=0e4ec65c2395f6e9c9150a0206116581" alt="Highlighted Calculations section in filter field picker" width="328" height="396" data-path="visualize-present/images/filter-calculations.png" />

You can also use [calculations](/analyze-explore/calculations/) as the source for a dashboard filter. See the [Filtering with calculated fields guide](/guides/dashboards/calculated-field-filter) for an example.

<h3 id="disable-specific-tiles">
  Disable a filter on specific tiles
</h3>

There are two ways to disable a filter on specific tiles:

* In the filter editor's **Mapping** tab, deselect the tile
* Select the filter on the dashboard, then click the <Icon icon="filter" /> icon in the upper left corner of the tile:

  <img src="https://mintcdn.com/omni-e7402367/-tqhX6I5Gu-LUQ5_/visualize-present/images/filter-disconnect-tile-on-chart.png?fit=max&auto=format&n=-tqhX6I5Gu-LUQ5_&q=85&s=92150c43c80b2b6282912007b8f151e5" alt="Highlighted filter icon on a tile" width="695" height="353" data-path="visualize-present/images/filter-disconnect-tile-on-chart.png" />

## Troubleshooting

<AccordionGroup>
  <Accordion title="A filter isn't showing options for a tile when I try to connect it">
    Field types must match — a string filter only maps to string fields, a date filter only to date fields, and so on. Fields with unknown types won't show as matches either.
  </Accordion>

  <Accordion title="A SQL tile isn't responding to a dashboard filter">
    Filters don't automatically apply to custom-written SQL. See [dynamic filtering in SQL](/analyze-explore/sql#custom-sql-filters).
  </Accordion>

  <Accordion title="A hidden tile isn't picking up a new filter">
    New filters don't automatically map to hidden tiles. Un-hide the tile, add the filter, then re-hide it.
  </Accordion>
</AccordionGroup>

## Next steps

* [Filter display options](/visualize-present/dashboards/filter-display-options) — show filters as buttons, dropdowns, single-day pickers, or timeframe controls
* [Filter interactivity](/visualize-present/dashboards/filter-interactivity) — cross-filtering and faceted filters
* [Dashboard settings](/visualize-present/dashboards/settings) — enable cross-filtering and faceted filters at the dashboard level
* [Dynamic filter controls](/visualize-present/dashboards/dynamic-filter-controls) - allow dashboard viewers to add their own filters
