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

# Действия с данными (Data Point Actions)

> Интерактивные действия при клике на элементы графика

Data Point Actions позволяют добавлять интерактивные действия при клике на элементы графика.

## Обзор

Действия привязываются к точкам данных (ячейкам таблицы, столбцам диаграммы, секторам круговой диаграммы). При клике появляется контекстное меню с доступными действиями.

### Типы действий

| Ключ | Описание |
| - | - |
| `link:open` | Открыть ссылку |
| `dashboard:drill_through` | Переход на страницу дашборда |
| `dashboard:another_dashboard_drill_through` | Переход на другой дашборд |
| `custom:*` | Кастомное действие (не поддерживается) |

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

| График | Где определяется |
| - | - |
| Tile | `data_point_actions` на уровне графика |
| Table v2 | `data_point_actions` на уровне колонки |
| Pivot Table v2 | `data_point_actions` на уровне меры |
| Bar v2 | `data_point_actions` на уровне меры |
| Pie | `data_point_actions` на уровне меры |

***

## Структура действия

**id** `string` *required*

Уникальный идентификатор действия (UUID)

```yaml theme={null}
id: "f47ac10b-58cc-4372-a567-0e02b2c3d479"
```

**key** `string` *required*

Ключ действия в формате `namespace:action`

**Доступные ключи**

| Ключ | Описание |
| - | - |
| `common:copy_value` | Копировать значение |
| `common:view_raw_data` | Просмотр исходных данных |
| `link:open` | Открыть URL |
| `dashboard:drill_through` | Переход на страницу |
| `dashboard:another_dashboard_drill_through` | Переход на другой дашборд |
| `custom:{action_name}` | Кастомное действие |

**title** `string` *required*

Текст, отображаемый в контекстном меню

**icon** `IconReference`

Иконка действия

**Структура IconReference**

**library** `string` *required*

Библиотека иконок: `lucide`

**name** `string` *required*

Имя иконки

| Имя | Описание |
| - | - |
| `copy` | Копировать |
| `external-link` | Внешняя ссылка |
| `arrow-right` | Стрелка вправо |
| `eye` | Просмотр |
| `table` | Таблица |
| `share` | Поделиться |

**color** `RGBColor`

Цвет иконки `[R, G, B]`

```yaml theme={null}
icon:
  library: lucide
  name: external-link
  color: [66, 133, 244]
```

**placement** `DataPointActionPlacement`

Позиционирование в контекстном меню

**Структура DataPointActionPlacement**

**menu\_path** `string[]`

Путь в подменю

```yaml theme={null}
menu_path: ["Экспорт", "Подменю"]
```

**group** `ActionGroup`

Группа действий

**Структура ActionGroup**

**id** `string` *required*

ID группы

**label** `string`

Заголовок группы

**order** `number`

Порядок группы в меню

**order** `number`

Порядок внутри группы

```yaml theme={null}
placement:
  group:
    id: "navigation"
    label: "Навигация"
    order: 1
  order: 1
```

***

## Типы действий

### Copy Value — Копировать значение

Копирует значение ячейки в буфер обмена.

```yaml theme={null}
data_point_actions:
  - id: "f47ac10b-58cc-4372-a567-0e02b2c3d479"
    key: "common:copy_value"
    title: "Копировать значение"
    icon:
      library: lucide
      name: copy
```

### View Raw Data — Исходные данные

Открывает модальное окно с исходными данными.

```yaml theme={null}
data_point_actions:
  - id: "a1b2c3d4-5678-90ab-cdef-1234567890ab"
    key: "common:view_raw_data"
    title: "Показать данные"
    icon:
      library: lucide
      name: table
```

### Link Open — Открыть ссылку

Открывает URL с подстановкой значений.

**url** `string` *required*

URL для открытия. Поддерживает подстановку `{cube.member}`.

```yaml theme={null}
url: "https://crm.example.com/order/{orders.order_id}"
```

**open\_in** `enum` (default: new\_tab)

Где открывать ссылку

| Значение | Описание |
| - | - |
| `same_tab` | В текущей вкладке |
| `new_tab` | В новой вкладке |

```yaml theme={null}
data_point_actions:
  - id: "b2c3d4e5-6789-01bc-def0-234567890abc"
    key: "link:open"
    title: "Открыть в CRM"
    icon:
      library: lucide
      name: external-link
    url: "https://crm.example.com/order/{orders.order_id}"
    open_in: new_tab
```

> [!NOTE]
>
> Используйте `{cube.member}` для подстановки значений из точки данных. Например, `{orders.order_id}` подставит ID заказа.

### Drill Through — Переход на страницу дашборда

Переход на другую страницу текущего дашборда с передачей фильтров.

**target\_page\_id** `string` *required*

UUID целевой страницы

**filter\_mappings** `DrillThroughFilterMapping[]`

Маппинг фильтров (см. раздел ниже)

```yaml theme={null}
data_point_actions:
  - id: "c3d4e5f6-7890-12cd-ef01-34567890abcd"
    key: "dashboard:drill_through"
    title: "Детали категории"
    target_page_id: "d4e5f6a7-8901-23de-f012-456789abcdef"
    filter_mappings:
      - target_filter_id: "e5f6a7b8-9012-34ef-0123-56789abcdef0"
        sources:
          - type: data_point_dimension
            member_name: products.category
```

### Another Dashboard Drill Through — Переход на другой дашборд

Переход на страницу другого дашборда.

**target\_dashboard\_id** `string` *required*

UUID целевого дашборда

**target\_page\_id** `string` *required*

UUID целевой страницы

**open\_in\_new\_tab** `boolean` (default: false)

Открывать в новой вкладке браузера

**filter\_mappings** `DrillThroughFilterMapping[]`

Маппинг фильтров

```yaml theme={null}
data_point_actions:
  - id: "f6a7b8c9-0123-45f0-1234-6789abcdef01"
    key: "dashboard:another_dashboard_drill_through"
    title: "Открыть отчёт продаж"
    target_dashboard_id: "a7b8c9d0-1234-56a1-2345-789abcdef012"
    target_page_id: "b8c9d0e1-2345-67b2-3456-89abcdef0123"
    open_in_new_tab: true
    filter_mappings:
      - target_filter_id: "c9d0e1f2-3456-78c3-4567-9abcdef01234"
        sources:
          - type: source_dashboard_filter
            source_filter_id: "d0e1f2a3-4567-89d4-5678-abcdef012345"
```

### Custom Action — Кастомное действие

Произвольное действие с дополнительной конфигурацией.

**config** `Dict`

Дополнительные параметры для обработчика

```yaml theme={null}
data_point_actions:
  - id: "e1f2a3b4-5678-90e5-6789-bcdef0123456"
    key: "myapp:send_to_slack"
    title: "Отправить в Slack"
    icon:
      library: lucide
      name: share
    config:
      channel: "#sales-alerts"
      template: "Новый заказ: {orders.order_number}"
```

***

## Маппинг фильтров (Filter Mappings)

Определяет, как данные из точки клика передаются в фильтры целевой страницы.

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

**target\_filter\_id** `string` *required*

UUID фильтра на целевой странице

**sources** `FilterSource[]` *required*

Источники данных для фильтра

**Типы источников**

### data\_point\_dimension

Берёт значение измерения из точки клика.

**type** `"data_point_dimension"` *required*

Тип источника

**member\_name** `string` *required*

Имя измерения

```yaml theme={null}
sources:
  - type: data_point_dimension
    member_name: products.category
```

***

### data\_point\_time\_dimension

Берёт значение временного измерения с учётом гранулярности.

**type** `"data_point_time_dimension"` *required*

Тип источника

**member\_name** `string` *required*

Имя временного измерения

**granularity** `enum`

Гранулярность (опционально)

```yaml theme={null}
sources:
  - type: data_point_time_dimension
    member_name: sales.created_at
    granularity: month
```

***

### source\_dashboard\_filter

Передаёт значение фильтра с текущей страницы.

**type** `"source_dashboard_filter"` *required*

Тип источника

**source\_filter\_id** `string` *required*

UUID фильтра на текущей странице

```yaml theme={null}
sources:
  - type: source_dashboard_filter
    source_filter_id: "f2a3b4c5-6789-01f6-7890-cdef01234567"
```

### Пример комплексного маппинга

```yaml theme={null}
filter_mappings:
  # Передать категорию из точки клика
  - target_filter_id: "a3b4c5d6-7890-12a7-8901-def012345678"
    sources:
      - type: data_point_dimension
        member_name: products.category
  
  # Передать период из текущего фильтра
  - target_filter_id: "b4c5d6e7-8901-23b8-9012-ef0123456789"
    sources:
      - type: source_dashboard_filter
        source_filter_id: "c5d6e7f8-9012-34c9-0123-f01234567890"
  
  # Передать месяц из точки клика
  - target_filter_id: "d6e7f8a9-0123-45d0-1234-012345678901"
    sources:
      - type: data_point_time_dimension
        member_name: sales.created_at
        granularity: month
```

***

## Полные примеры

```yaml Таблица с действиями theme={null}
type: table_v2
columns:
  - type: dimension
    member:
      kind: basic
      value: orders.order_number
    title: Номер заказа
    data_point_actions:
      - id: "e7f8a9b0-1234-56e1-2345-123456789012"
        key: "common:copy_value"
        title: "Копировать номер"
        icon:
          library: lucide
          name: copy
        placement:
          order: 1
      
      - id: "f8a9b0c1-2345-67f2-3456-234567890123"
        key: "link:open"
        title: "Открыть в CRM"
        icon:
          library: lucide
          name: external-link
        url: "https://crm.example.com/orders/{orders.order_id}"
        open_in: new_tab
        placement:
          order: 2
      
      - id: "a9b0c1d2-3456-78a3-4567-345678901234"
        key: "dashboard:drill_through"
        title: "Детали заказа"
        icon:
          library: lucide
          name: arrow-right
        target_page_id: "b0c1d2e3-4567-89b4-5678-456789012345"
        filter_mappings:
          - target_filter_id: "c1d2e3f4-5678-90c5-6789-567890123456"
            sources:
              - type: data_point_dimension
                member_name: orders.order_id
        placement:
          group:
            id: "navigation"
            label: "Навигация"
          order: 1
  
  - type: measure
    member: orders.total
    title: Сумма
```

```yaml Плитка с drill-through theme={null}
type: tile
main_measure: sales.total_revenue
data_point_actions_placement: tile
data_point_actions:
  - id: "d2e3f4a5-6789-01d6-7890-678901234567"
    key: "dashboard:drill_through"
    title: "Детализация продаж"
    icon:
      library: lucide
      name: arrow-right
    target_page_id: "e3f4a5b6-7890-12e7-8901-789012345678"
    filter_mappings:
      - target_filter_id: "f4a5b6c7-8901-23f8-9012-890123456789"
        sources:
          - type: source_dashboard_filter
            source_filter_id: "a5b6c7d8-9012-34a9-0123-901234567890"
```

```yaml Столбчатая диаграмма theme={null}
type: bar_v2
main_dimension:
  dimension:
    kind: basic
    value: products.category
  title: Категория
main_measure:
  measure: sales.revenue
  title: Выручка
  data_point_actions:
    - id: "b6c7d8e9-0123-45b0-1234-012345678901"
      key: "common:view_raw_data"
      title: "Исходные данные"
      icon:
        library: lucide
        name: table
    
    - id: "c7d8e9f0-1234-56c1-2345-123456789012"
      key: "dashboard:drill_through"
      title: "Товары категории"
      icon:
        library: lucide
        name: arrow-right
      target_page_id: "d8e9f0a1-2345-67d2-3456-234567890123"
      filter_mappings:
        - target_filter_id: "e9f0a1b2-3456-78e3-4567-345678901234"
          sources:
            - type: data_point_dimension
              member_name: products.category
```

***

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

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

Пользователь должен понимать, что произойдёт при клике

**2. Группировка действий**

Используйте `placement.group` для логической группировки

**3. Не перегружайте меню**

3-5 действий обычно достаточно

**4. Добавьте иконки**

Визуальные подсказки улучшают UX

**5. Тестируйте маппинг**

Убедитесь, что фильтры на целевой странице существуют

***

## См. также

> [card] [Базовые типы](https://iyree.mintlify.site/bi/charts/reference/types.md)
>
> IconReference и другие типы

> [card] [Таблицы](../charts/table)
>
> Действия в таблицах

> [card] [Сводные таблицы](../charts/pivot-table)
>
> Действия в сводных таблицах

***

← [Иерархии измерений](https://iyree.mintlify.site/bi/charts/features/dimension-hierarchy.md) | → [Условное форматирование](https://iyree.mintlify.site/bi/charts/features/conditional-formatting.md)


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