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

# Выбираемые поля (Selectable Fields)

> Динамический выбор измерений и мер пользователем

Выбираемые поля позволяют пользователю динамически менять измерения и меры в графике без редактирования конфигурации.

## Обзор

| Тип | Описание |
| - | - |
| `single` | Выбор одного значения из списка |
| `multiple` | Выбор нескольких значений |

### Поддержка в графиках

| График | Измерения | Меры |
| - | - | - |
| Pivot Table v2 | ✅ columns, rows | ✅ measures |
| Bar v2 | ✅ main, additional | ✅ main, additional |
| Pie | ✅ main | ✅ main |

***

## Single — Одиночный выбор

Пользователь выбирает одно значение из списка. Первый вариант выбран по умолчанию.

### Структура

**type** `"single"` *required*

Тип выбора

**hint** `string`

Подсказка для пользователя (отображается рядом с селектором)

**options** `SelectableOption[]` *required*

Варианты для выбора

**Структура SelectableOption для измерений**

**member** `CubeDimension`

Измерение (для выбора измерений)

**Структура CubeDimension**

**Обычное измерение:**

```yaml theme={null}
kind: basic
value: products.category
```

**Временное измерение:**

```yaml theme={null}
kind: time
value:
  dimension: sales.created_at
  granularity: month
```

**dimension** `CubeDimension`

Альтернативное поле для измерения (в Bar/Pie)

**title** `string`

Отображаемое название варианта

**Структура SelectableOption для мер**

**member** `string`

Имя меры

**measure** `string`

Альтернативное поле для меры (в Bar/Pie)

**title** `string`

Отображаемое название варианта

### Примеры

```yaml Выбор временной гранулярности theme={null}
selectable_columns:
  type: single
  hint: Выберите период
  options:
    - member:
        kind: time
        value:
          dimension: sales.created_at
          granularity: day
      title: По дням
    - member:
        kind: time
        value:
          dimension: sales.created_at
          granularity: week
      title: По неделям
    - member:
        kind: time
        value:
          dimension: sales.created_at
          granularity: month
      title: По месяцам
```

```yaml Выбор измерения theme={null}
selectable_main_dimension:
  type: single
  hint: Выберите разрез
  options:
    - dimension:
        kind: basic
        value: products.category
      title: По категориям
    - dimension:
        kind: basic
        value: managers.name
      title: По менеджерам
    - dimension:
        kind: basic
        value: stores.city
      title: По городам
```

```yaml Выбор меры theme={null}
selectable_main_measure:
  type: single
  hint: Выберите показатель
  options:
    - measure: sales.revenue
      title: Выручка
    - measure: sales.quantity
      title: Количество
    - measure: sales.margin
      title: Маржа
```

***

## Multiple — Множественный выбор

Пользователь выбирает несколько значений. Флаг `selected` определяет начальное состояние.

### Структура

**type** `"multiple"` *required*

Тип выбора

**hint** `string`

Подсказка для пользователя

**options** `SelectableOption[]` *required*

Варианты для выбора

**Структура SelectableOption**

**member** `string | CubeDimension`

Мера (string) или измерение (CubeDimension)

**title** `string`

Отображаемое название

**selected** `boolean` (default: false)

Выбрано по умолчанию

### Примеры

```yaml Выбор мер theme={null}
selectable_measures:
  type: multiple
  hint: Выберите показатели
  options:
    - member: sales.revenue
      title: Выручка
      selected: true
    - member: sales.quantity
      title: Количество
      selected: true
    - member: sales.margin
      title: Маржа
      selected: false
    - member: sales.average_check
      title: Средний чек
      selected: false
```

```yaml Дополнительные меры в Bar theme={null}
selectable_additional_measures:
  type: multiple
  hint: Дополнительные показатели
  options:
    - measure: sales.quantity
      title: Количество
      selected: false
    - measure: sales.margin
      title: Маржа
      selected: true
    - measure: sales.orders_count
      title: Заказы
      selected: false
```

***

## Применение в графиках

### Pivot Table v2

```yaml Полный пример theme={null}
type: pivot_table_v2

selectable_columns:
  type: single
  hint: Период
  options:
    - member:
        kind: time
        value:
          dimension: sales.created_at
          granularity: week
      title: Неделя
    - member:
        kind: time
        value:
          dimension: sales.created_at
          granularity: month
      title: Месяц
    - member:
        kind: time
        value:
          dimension: sales.created_at
          granularity: quarter
      title: Квартал

selectable_rows:
  type: single
  hint: Разрез
  options:
    - member:
        kind: basic
        value: products.category
      title: Категория
    - member:
        kind: basic
        value: managers.name
      title: Менеджер
    - member:
        kind: basic
        value: stores.city
      title: Город

selectable_measures:
  type: multiple
  hint: Показатели
  options:
    - member: sales.revenue
      title: Выручка
      selected: true
    - member: sales.quantity
      title: Количество
      selected: true
    - member: sales.margin
      title: Маржа
      selected: false
    - member: sales.average_check
      title: Средний чек
      selected: false

include_rows_totals: true
```

### Bar v2

```yaml Полный пример theme={null}
type: bar_v2
direction: vertical

selectable_main_dimension:
  type: single
  hint: Разрез
  options:
    - dimension:
        kind: basic
        value: products.category
      title: По категориям
    - dimension:
        kind: basic
        value: managers.name
      title: По менеджерам

selectable_main_measure:
  type: single
  hint: Показатель
  options:
    - measure: sales.revenue
      title: Выручка
    - measure: sales.quantity
      title: Количество

selectable_additional_measures:
  type: multiple
  hint: Дополнительно
  options:
    - measure: sales.margin
      title: Маржа
      selected: false
    - measure: sales.average_check
      title: Средний чек
      selected: false

show_totals: true
```

### Pie

```yaml Полный пример theme={null}
type: pie
pie_type: donut

selectable_main_dimension:
  type: single
  hint: Разрез
  options:
    - dimension:
        kind: basic
        value: products.category
      title: По категориям
    - dimension:
        kind: basic
        value: products.brand
      title: По брендам
    - dimension:
        kind: basic
        value: managers.name
      title: По менеджерам

selectable_main_measure:
  type: single
  hint: Показатель
  options:
    - measure: sales.revenue
      title: Выручка
    - measure: sales.quantity
      title: Количество
    - measure: orders.count
      title: Заказы

options:
  legend:
    show: true
    position: right
```

***

## Комбинирование статических и выбираемых полей

> [!WARNING]
>
> Нельзя использовать одновременно статическое поле и его выбираемый аналог. Например, `columns` и `selectable_columns` взаимоисключающие.

Можно комбинировать статические и выбираемые поля разных типов:

```yaml theme={null}
type: pivot_table_v2

# Статические колонки
columns:
  - member:
      kind: time
      value:
        dimension: sales.created_at
        granularity: month
    title: Месяц

# Выбираемые строки
selectable_rows:
  type: single
  hint: Разрез
  options:
    - member:
        kind: basic
        value: products.category
      title: Категория
    - member:
        kind: basic
        value: managers.name
      title: Менеджер

# Выбираемые меры
selectable_measures:
  type: multiple
  hint: Показатели
  options:
    - member: sales.revenue
      title: Выручка
      selected: true
    - member: sales.quantity
      title: Количество
      selected: true
```

***

## Рекомендации

**1. Понятные названия**

Используйте `title` для человекочитаемых названий вариантов

**2. Разумные умолчания**

Для `multiple` отмечайте `selected: true` для наиболее полезных вариантов

**3. Информативные подсказки**

Используйте `hint` для объяснения, что пользователь выбирает

**4. Не перегружайте**

5-7 вариантов обычно достаточно. Больше усложняет выбор.

***

## См. также

> [card] [Сводные таблицы](../charts/pivot-table)
>
> Выбираемые поля в Pivot Table

> [card] [Столбчатые диаграммы](../charts/bar)
>
> Выбираемые поля в Bar

> [card] [Круговые диаграммы](../charts/pie)
>
> Выбираемые поля в Pie

> [card] [Измерения](https://iyree.mintlify.site/bi/charts/features/dimensions.md)
>
> Типы измерений

***

← [Условное форматирование](https://iyree.mintlify.site/bi/charts/features/conditional-formatting.md) | → [Сортировка](https://iyree.mintlify.site/bi/charts/features/sorting.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.