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

# Filters

> The top bar on the Dashboard. Every widget on the page reacts to these filters.

The filter bar sits at the top of the Dashboard page and applies to every widget below it.

| Control                             | What it does                                                                                                                                                                                                                                                                                                                        |
| ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Compare** (toggle)                | Adds "Previous / Current / Change %" columns to every row on the page.                                                                                                                                                                                                                                                              |
| **Previous Year / Previous Period** | Visible only when Compare is on. Picks which window the "Previous" column uses — see [table below](#previous-column-logic).                                                                                                                                                                                                         |
| **Studios** (multi-select)          | One or more studios. A user only sees studios in their access scope — their own studio, all studios in their franchise, or all opened MBO-connected studios for ZOR-level users. A studio appears in the list only if it has opened (`grand_opening_date ≤ today`) and is MBO-connected (`mbo_site_id` and `mbo_shop_id` both set). |
| **Date** (range picker)             | The current period. Defaults to month-to-date ending yesterday (`startOfMonth(today-1)` → `today-1`). Max date is `today − 1`.                                                                                                                                                                                                      |
| **Apply**                           | Commits the filter selections and re-fetches data.                                                                                                                                                                                                                                                                                  |

## Multi-studio behavior

When more than one studio is selected:

* **Count-style values** (Sales $, appointment counts, new-client counts, budget $) are **averaged per studio**.
* **Rates and percentages** (Conversion %, Lead Conversion %, Batting Average, Stick Rate, Cancellation Rate, Saline Bag Add On %, Member Mix %) are computed on the **combined totals** — never averaged.

## "Previous" column logic

| Period selector     | Previous window                                                                                                                                     |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Previous Year**   | The **entire calendar year** one year back. `startOfYear(startDate − 1 year)` to `endOfYear(startDate − 1 year)`. Current window length is ignored. |
| **Previous Period** | The **same date range one year ago**. `startDate − 1 year` to `endDate − 1 year`. Preserves the current window's length.                            |
