Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex DataLens
    • Обзор
      • Обзор
      • Вкладки
      • Источники
      • Доступные методы
      • Уведомления
      • Связи чарта в дашбордах и отчетах
      • Кросс-фильтрация
      • Отладка чартов
    • Версионирование
    • Инспектор чартов
    • Управление доступом
  • Аудитные логи Audit Trails

В этой статье:

  • Meta
  • Params
  • Специальные параметры
  • Ограничения
  • Sources
  • Подключение к источнику данных через датасет
  • Подключение к источнику данных через SQL-запрос
  • Подключение к источнику данных через API Connector
  • Config
  • Prepare
  • Controls
  1. Чарты
  2. Чарты в Editor
  3. Вкладки

Вкладки

Статья создана
Yandex Cloud
Обновлена 9 апреля 2025 г.
  • Meta
  • Params
    • Специальные параметры
    • Ограничения
  • Sources
    • Подключение к источнику данных через датасет
    • Подключение к источнику данных через SQL-запрос
    • Подключение к источнику данных через API Connector
  • Config
  • Prepare
  • Controls

Примечание

Функциональность доступна только в рамках тарифного плана Business.

Конфигурация чарта настраивается с помощью кода на JavaScript, который заполняется на вкладках в редакторе в интерфейсе.

Код формирования конфигурации чарта, описанный на вкладках, выполняется на сервере. На этой странице представлены форматы заполнения каждой из вкладок.

Код функций, расположенный внутри Editor.wrapFn, выполняется на клиенте в браузере пользователя. Это накладывает ряд ограничений, подробнее можно почитать в разделе Доступные методы.

Вкладки выполняются в определенном порядке.

MetaMeta

Служит для описания служебной информации о списке связанных сущностей.

На вкладке Meta добавляются id объектов использующихся источников для чарта/селектора. Описание id объектов является обязательным. Эта информация используется для определения, с какими подключениями и датасетами связан чарт, а также для диалога связанных объектов, при копировании воркбука и при публикации в Public.

Идентификаторы объектов можно скопировать из меню соответствующего объекта или в навигации, нажав Копировать ID. Идентификатор будет сохранен в буфере обмена.

В качестве ключа необходимо указать произвольное имя-алиас, которое будет присвоено данному источнику данных в чарте. Далее на вкладке Source можно получить это имя-алиас с помощью Editor.getId(arg) и указать его в качестве источника.

Формат
Пример
{
    "links": {
        "<string>": "<string>",
        ...
    }
}
{
    "links": {
        "myDatasetKeyName": "qvnkqzm0wstyf",
        "connectionKey": "ch96co0501xy1",
        "apiConnectionKey": "uzrou8sqm5zaj"     
    } 
}

ParamsParams

Вкладка предназначена для установки дефолтных параметров чарта/селектора. Может быть пустой в случае, если вы не планируете настраивать связи с этим чартом/селектором. Значения параметров являются массивами строк. Если требуется передать только одно значение, его нужно оформить в виде массива из одного элемента.

Формат
Пример
{
    "<string>": "<string>",
    ...
}
module.exports = {
    count: ['10'],
    setting: ['value'],
};

В случае, если на дашборде или в отчете установить в настройках виджета другие значения параметров для такого чарта, то значения со вкладки Params будут переопределены. Также значения будут переопределены, если в селекторе дашборда или отчета выбрать значения, отличные от значений в селекторе по умолчанию или если применить кросс-фильтрацию другим чартом. Подробнее о переопределении параметров

Значения всех актуальных параметров на последующих вкладках можно получить с помощью метода Editor.getParams(), а получить актуальное значение параметра по его названию можно с помощью Editor.getParam(name).

Переопределить параметры можно через URL графика. Например:

&period=40&metric=2012&metric=2014

Такой URL, наложенный на параметры по умолчанию, описанные выше, образует следующий объект:

{
  period: 40,
  metric: ['2012', '2014'],
  id: ['1215', '1217', '979', '483']
}

При изначальной отрисовке дашборда или отчета параметры, которые связывают JS-селектор с чартами на дашборде или в отчете, остаются статичными. Если параметр динамически вычисляется в коде селектора, то перерисовка чартов с обновленными значениями параметра произойдет только при последующем изменении селектора.

Специальные параметрыСпециальные параметры

Относительная датаОтносительная дата

Форматы:

  • __relative_<знак><количество><единица_измерения>
  • __relative_<знак><количество><единица_измерения>_<тип_приведения><единица_измерения>
  • <знак>: + или -
  • <единица_измерения>:
    • y - год
    • Q - квартал
    • M - месяц
    • w - неделя
    • d - день
    • h - час
    • m - минута
    • s - секунда
    • ms - миллисекунда
  • <тип_приведения>:
    • s - к началу
    • e - к концу

Пример:

Если время на данный момент 2020-03-24T23:30:39.874Z, то

  • __relative_-7d - семь дней назад - 2020-03-17T00:00:00.000Z
  • __relative_+30m - через 30 минут - 2020-03-25T00:00:39.874Z
  • __relative_-0d - сегодня - 2020-03-24T00:00:00.000Z
  • __relative_-0h - сейчас - 2020-03-24T23:30:39.874Z
  • __relative_-3M_sQ
    • минус 3 месяца - 2019-12-24T00:00:00.000Z
      • приведенные к началу квартала - 2019-10-01T00:00:00.000Z
  • __relative_+15s_em
    • плюс 15 секунд - 2020-03-24T23:30:54.874Z
      • приведенные к концу минуты - 2020-03-24T23:30:59.999Z

Примечание: если не указаны приведения, то для единиц измерения от дня и выше время приводится к началу дня,
т.е. 00:00:00.000, а для единиц измерения меньше дня используется текущее время.

Вспомогательный метод: Editor.resolveRelative

ИнтервалИнтервал

Формат: __interval_<начало>_<конец>

начало/конец - относительная дата или ISO дата.

Пример:

Если время на данный момент 2020-03-24T23:30:39.874Z, то

  • __interval_2019-03-11T09:35:48_2019-12-28T09:35:48
    • с 2019-03-11T09:35:48 по 2019-12-28T09:35:48
  • __interval_2019-01-17T09:35:48___relative_+0d
    • с 2019-01-17T09:35:48 по сегодня (2020-03-24T23:59:59.999Z)
  • __interval___relative_-2w_sM___relative_+1d
    • от двух недель назад - 2020-03-10T00:00:00.000Z
      • приведенных к началу месяца - 2020-03-01T00:00:00.000Z
    • до завтра - 2020-03-25T23:59:59.999Z

Вспомогательный метод: Editor.resolveInterval

ОграниченияОграничения

При использовании параметров существуют следующие ограничения:

  • Зарезервированные ключи, которые нельзя использовать:

    • tab
    • state
    • mode
    • focus
    • grid
    • scale
    • tz
    • timezone
    • date
    • datetime
    • _action_params
    • _autoupdate
    • _opened_info
    • report_page
    • preview_mode

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

  • В ссылках могут быть использованы только те параметры, которые заданы в настройках дашборда. В противном случае они будут проигнорированы. Например, если в ссылке будет указано ?product=Furniture, но в настройках дашборда не будет задан параметр product (даже с пустым значением), то такой параметр будет проигнорирован.

  • Параметры дашборда в любом случае будут применены к виджетам, что может привести к ошибкам в запросах данных.

SourcesSources

На этой вкладке определяется структура для запроса данных, которые нужно визуализировать.

Данные можно запросить, используя:

  • датасет;
  • подключение к базам данных через SQL-запрос;
  • подключение через API Connector.

Подключение к источнику данных через датасетПодключение к источнику данных через датасет

Для использования данных из датасета:

Формат
Пример 1
Пример 2

Возвращаемый на вкладке JSON-объект вида:

{
    datasetId: "<string>",
    data: {
        fields: [
            {
                ref: {
                    title: "<string>",
                    type: "title"| "id",
                },
            },
            ...
        ],
    }
}

Где:

  • datasetId — id датасета, описанного на вкладке Meta и полученного с помощью метода Editor.getId(arg).

  • fields — массив имен колонок датасета:

    • title — название или id колонки;
    • type — тип колонки, указанной в title (выбирать колонку по названию или по id).
module.exports = {
    'myDatasetSource': {
        datasetId: Editor.getId('myDatasetKeyName'),
        data: {
            fields: [
                {
                    ref: {
                        type: "title",
                        title: "PaymentType",
                    },
                },
		{
                    ref: {
                        type: "title",
                        title: "OrderYear",
                    },
                },
		{
                    ref: {
                        type: "title",
                        title: "OrderMonth",
                    },
                },
            ],
        },
    },
};

Для удобства можно использовать вспомогательный служебный модуль для работы с датасетами, тогда Пример 1 будет выглядеть так:

const {buildSource} = require('libs/dataset/v2');
module.exports = {
    'myDatasetSource': buildSource({
        datasetId: Editor.getId('myDatasetKeyName'),
        columns: ['PaymentType', 'OrderYear', 'OrderMonth'],
    }),
};

Где:

  • datasetId — id датасета, описанного на вкладке Meta и полученного с помощью метода Editor.getId(arg).
  • columns — массив имен колонок датасета.

В дальнейшем появится дополнительный параметр, в котором можно будет передать массив идентификаторов колонок датасета.

Пример с получением только списка полей из датасета:

Вкладка Sources
module.exports = {
  fields: {
      datasetId: Editor.getId('mySource'),
      path: 'fields'
  }
};

См. такжеСм. также

  • Быстрый старт по созданию таблицы с подключением через датасет

Подключение к источнику данных через SQL-запросПодключение к источнику данных через SQL-запрос

Для получения данных из подключения (через SQL запрос):

Формат
Пример
{
    qlConnectionId: "<string>",
    data: {
        sql_query: "<string>",
    },
}

Где:

  • qlConnectionId — id подключения, описанного на вкладке Meta и полученного с помощью метода Editor.getId(arg).
  • sql_query — запрос данных.
module.exports = {
    'myDataSource': {
        qlConnectionId: Editor.getId('connectionKey'),
        data: {
            sql_query: 'SELECT 1 + 1',
        },
    }
}

См. такжеСм. также

  • Быстрый старт по созданию таблицы с подключением через SQl-запрос

Подключение к источнику данных через API ConnectorПодключение к источнику данных через API Connector

Для получения данных с помощью API Connector:

Формат
Пример
{
    apiConnectionId: "<string>",
    path: "<string>",
    method: "GET"|"POST",
    body: <object>,
}

Где:

  • apiConnectionId — id подключения с типом API Connector, описанного на вкладке Meta и полученного с помощью метода Editor.getId(arg).
  • path — путь к API после хоста.
  • method — метод: поддерживаются GET и POST.
  • body — тело запроса.
module.exports = {
    'myApiDataSource': {
        apiConnectionId: Editor.getId('apiConnectionKey'),
        path: '/html',
        method: 'GET',
    }
}

См. такжеСм. также

  • Быстрый старт по созданию таблицы с подключением через API Connector

ConfigConfig

В этой вкладке задаются настройки визуализации, например настройки кросс-чарт фильтрации.

Доступно для типов визуализаций График и Таблица. Возможное содержимое зависит от конкретного типа визуализации.

PreparePrepare

Вкладка отвечает за препроцессинг данных перед их передачей на отрисовку и предполагает следующие действия:

  • Получение загруженных данных из источников с помощью метода Editor.getLoadedData().

  • Обработка и приведение к нужному формату (зависит от типа визуализации).

  • Запись результатов в module.exports, откуда они попадают на отрисовку.

Доступно для типов визуализаций График, Advanced-чарт, Таблица, Markdown.

ControlsControls

В декларативном стиле описываются возможные контролы — элементы управления на чарте. В отличие от селекторов дашборда и селекторов отчета, контролы влияют только на текущий чарт, и их состояние не созраняется после обновления страницы.

Доступно для всех типов визуализаций. Подробный формат вкладки зависит от типа контролов.

Была ли статья полезна?

Предыдущая
Создание таблицы на основе API Connector
Следующая
Источники
Проект Яндекса
© 2025 ООО «Яндекс.Облако»