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

# Comparison Selector

> Display a selector for comparison options to use in SQL query templates

<img src="https://mintcdn.com/evidence/Z2CIIsynbphd2HX3/images/components/comparison_selector/comparison_selector.png?fit=max&auto=format&n=Z2CIIsynbphd2HX3&q=85&s=0487d947bfc5f61d49b99078e5fc468a" alt="Using comparison" width="1000" height="360" data-path="images/components/comparison_selector/comparison_selector.png" />

```liquid theme={null}
{% comparison_selector
    id="comp"
    default_value="prior year"
/%}

{% big_value
    data="demo.daily_orders"
    value="sum(total_sales)"
    fmt="usd1m"
    date_range={
        date="date"
        range="last 12 months"
    }
    comparison={
        compare_vs={{comp}}
    }
/%}
```

## Examples

### Using `comparison`

<img src="https://mintcdn.com/evidence/Z2CIIsynbphd2HX3/images/components/comparison_selector/comparison_selector.png?fit=max&auto=format&n=Z2CIIsynbphd2HX3&q=85&s=0487d947bfc5f61d49b99078e5fc468a" alt="Using comparison" width="1000" height="360" data-path="images/components/comparison_selector/comparison_selector.png" />

```liquid theme={null}
{% comparison_selector
    id="comp"
    default_value="prior year"
/%}

{% big_value
    data="demo.daily_orders"
    value="sum(total_sales)"
    fmt="usd1m"
    date_range={
        date="date"
        range="last 12 months"
    }
    comparison={
        compare_vs={{comp}}
    }
/%}
```

## Attributes

<ResponseField name="id" type="string" required>
  The id of the comparison selector to be used in SQL query templates
</ResponseField>

<ResponseField name="preset_values" type="array">
  Optional array of preset comparison values to show. If not provided, all comparison options will be available.
</ResponseField>

<ResponseField name="default_value" type="string">
  Default comparison to select on load

  **Allowed values:**

  * `prior year`
  * `prior period`
  * `target`
  * `benchmark`
</ResponseField>

<ResponseField name="title" type="string" default="Comparison">
  Text displayed above the selector
</ResponseField>

<ResponseField name="info" type="string">
  Information tooltip text
</ResponseField>

<ResponseField name="info_link" type="string">
  URL to link the info text to (can only be used with info)
</ResponseField>

<ResponseField name="info_link_title" type="string">
  Create a custom link title for the info link, placed after the info text (can only be used with info\_link)
</ResponseField>

<ResponseField name="placeholder" type="string">
  Placeholder text displayed when no value is selected
</ResponseField>

<ResponseField name="icon" type="string" default="triangle">
  Icon to display
</ResponseField>

<ResponseField name="width" type="number">
  Set the width of this component (in percent) relative to the page width
</ResponseField>

## Using the Filter Variable

Reference this filter using `{{filter_id}}`. The value returned depends on where you use it.

| Context           | Default Property | No Selection | Result                         |
| ----------------- | ---------------- | ------------ | ------------------------------ |
| Inline SQL query  | `.comparison`    |              | `{"compare_vs": "prior year"}` |
| `where` attribute | `.comparison`    |              | `{"compare_vs": "prior year"}` |
| Text / Markdown   | `.comparison`    |              | `{"compare_vs": "prior year"}` |

### Available Properties

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

#### .selected

Returns the selected comparison value with quotes. Returns an empty string when no value is selected.

````liquid theme={null}
{% comparison_selector id="comparison" preset_values=["prior year", "prior period"] /%}

```sql sales_comparison
select 
  date,
  sum(sales) as total_sales,
  '{{comparison.selected}}' as comparison_type
from orders
group by date
```
````

**Example value:** `'prior year'`

#### .literal

Returns the raw unescaped selected value.

````liquid theme={null}
{% comparison_selector id="comparison" preset_values=["prior year", "prior period"] /%}

```sql sales_comparison
select 
  date,
  sum(sales) as total_sales,
  {{comparison.literal}} as comparison_type
from orders
group by date
```
````

**Example value:** `prior year`

#### .compare\_vs

Returns the comparison type.

**Example value:** `prior year`

#### .comparison

Returns the full comparison configuration as JSON. Use `{{comp}}` directly with `compare_vs` to dynamically configure comparisons.

```liquid theme={null}
{% comparison_selector id="comp" /%}

{% big_value 
    data="demo.daily_orders"
    value="sum(total_sales)"
    comparison={ compare_vs={{comp}} }
/%}
```

**Example value:** `{"compare_vs": "prior year"}`

#### .agg

For benchmark comparisons: returns the aggregation function.

**Example value:** `avg`

#### .subject

For benchmark comparisons: returns the subject column that defines entities.

**Example value:** `region`

#### .target

For target comparisons: returns the target value or expression.

**Example value:** `100000`

## Allowed Children

* [benchmark\_comparison](/components/benchmark_comparison)
* [target\_comparison](/components/target_comparison)
