Параметризация источников в DataLens
Примечание
В рамках руководства все объекты будут создаваться и храниться в воркбуке. Если вы пользуетесь старой навигацией, создайте отдельную папку и работайте в ней.
Создать папку
- Перейдите на главную страницу
DataLens. - На панели слева выберите
Все объекты или Личная папка. - В правом верхнем углу нажмите Создать → Папку.
- Введите название папки.
- Нажмите кнопку Создать.
В этом руководстве вы создадите подключение к источнику данных и узнаете, как использовать параметризацию источников датасета в DataLens.
Параметризация позволит:
- Подменять таблицу в запросах.
- Передавать в SQL, определяющий датасет, параметр как часть запроса.
В качестве источника будет использована демонстрационная база данных ClickHouse® с информацией о продажах товаров в сети московских магазинов.
Для визуализации и исследования данных подготовьте DataLens к работе, затем выполните следующие шаги:
- Создайте воркбук.
- Создайте подключение.
- Создайте датасет с параметром для замены таблиц.
- Создайте чарт с выбором таблицы в параметре.
- Создайте датасет с параметром для подзапроса.
- Создайте чарт с выбором условия для подзапроса в параметре.
Перед началом работы
Чтобы начать работать с DataLens:
- Войдите
в ваш аккаунт на Яндексе. Если у вас еще нет аккаунта, создайте его. - Откройте главную страницу
DataLens. - Нажмите Открыть сервис.
- Подтвердите, что ознакомились с Условиями использования
и принимаете их и нажмите кнопку Войти.
-
Войдите
в ваш аккаунт на Яндексе. -
Откройте главную страницу
DataLens. -
Нажмите Открыть сервис.
-
Выберите один из вариантов:
-
Если у вас уже есть организация, выберите ее в выпадающем меню на вкладке Организации и нажмите DataLens.
Примечание
Для активации экземпляра DataLens пользователю нужна роль
adminилиowner. Подробнее про роли см. в разделе Управление доступом в Yandex Identity Hub. -
Если у вас есть облако, но нет организации, нажмите Добавить новый DataLens. В открывшемся окне введите название и описание организации и нажмите Создать организацию и DataLens. Подробнее о работе с организациями см. в разделе Начало работы с организациями.
-
Если у вас возник технический вопрос по работе сервиса, обратитесь в службу поддержки
Создайте воркбук
- Перейдите на главную страницу
DataLens. - На панели слева выберите
Коллекции и воркбуки. - В правом верхнем углу нажмите Создать → Создать воркбук.
- Введите название воркбука —
Dataset parametrisation. - Нажмите кнопку Создать.
Создайте подключение
Для доступа к базе данных будет создано подключение Sample ClickHouse.
-
В правом верхнем углу воркбука нажмите Создать →
Подключение. -
В разделе Базы данных выберите подключение ClickHouse®.
-
В открывшемся окне выберите тип подключения
Указать вручнуюи укажите параметры подключения:- Имя хоста —
rc1a-ckg8nrosr2lim5iz.mdb.yandexcloud.net. - Порт HTTP-интерфейса —
8443(по умолчанию). - Имя пользователя —
samples_ro. - Пароль —
MsgfcjEhJk.
- Имя хоста —
-
Включите опцию Уровень доступа SQL запросов и выберите Разрешить подзапросы в датасетах и параметризация источников.
-
Нажмите кнопку Проверить подключение и убедитесь, что появился зеленый значок.
-
Нажмите кнопку Создать подключение.
-
Введите название подключения —
Sample ClickHouse. -
Нажмите кнопку Создать.

-
Дождитесь сохранения подключения.
Создайте датасет с параметром для замены таблиц
Создайте датасет на базе подключения Sample ClickHouse:
-
На странице подключения в правом верхнем углу нажмите кнопку Создать датасет.
-
Перенесите на рабочую область таблицу
samples.MS_SalesFacts. -
Включите параметризацию в настройках датасета. Для этого вверху нажмите
→ Включить параметризацию.
-
Сохраните датасет:
- В правом верхнем углу нажмите кнопку Сохранить.
- Введите название датасета —
Dataset with parametrisationи нажмите кнопку Создать.
-
Добавьте параметр с именем таблицы:
-
Перейдите на вкладку Параметры.
-
Нажмите кнопку Добавить и укажите:
- Название —
table_name; - Тип —
Строка; - Значение по умолчанию —
MS_SalesFacts; - Включите опцию Разрешить использовать в настройке источника и оставьте валидацию по умолчанию.

При нажатии на кнопку Добавить отобразится ошибка, что датасет не прошел валидацию. По умолчанию в значении параметра, разрешенного для использования в источнике, не допускается присутствие символа нижнего подчеркивания
_.
- Название —
-
-
Измените валидацию датасета так, чтобы она проходила успешно для значения
MS_SalesFactsв параметре. Для этого:-
Нажмите кнопку Добавить и укажите Название, Тип и Значение по умолчанию как на предыдущем шаге.
-
Включите опцию Разрешить использовать в настройке источника и для валидации значений выберите
Регулярное выражение. -
В поле введите регулярное выражение Python, позволяющее использовать заглавные и строчные символы, цифры и символ нижнего подчеркивания
_:^[a-zA-Z0-9_]+$

Название таблицы
MS_SalesFactsудовлетворяет такому регулярному выражению. При нажатии на кнопку Добавить валидация датасета пройдет успешно. -
-
Сохраните датасет.
-
Измените определение имени таблицы по параметру:
-
Перейдите на вкладку Источники.
-
В списке таблиц напротив MS_SalesFacts нажмите
→ Изменить настройки. -
Cправа от поля Имя таблицы со значением
MS_SalesFactsнажмите и выберите параметрtable_name. Теперь имя таблицы будет определяться указанным параметром.
-
Нажмите кнопку Применить и сохраните датасет.
-
Создайте чарт с выбором таблицы в параметре
-
Вверху датасета нажмите кнопку Создать чарт.
-
Выберите тип визуализации Таблица.
-
Создайте вычисляемое поле:
- В левой части экрана над списком полей датасета нажмите
→ Поле. - Введите название:
Year. - Введите формулу:
YEAR([OrderDatetime]). - Нажмите кнопку Создать.
- В левой части экрана над списком полей датасета нажмите
-
Добавьте в чарт новое поле. Для этого из раздела Измерения перетащите поле
Yearв секцию Столбцы. -
Добавьте в чарт сумму продаж. Для этого из раздела Измерения перетащите поле
Salesв секцию Столбцы и измените агрегацию для него:- В секции Столбцы нажмите значок
#у поляSales. - В поле Агрегация выберите Сумма, затем нажмите Применить.

- В секции Столбцы нажмите значок
-
Откройте инспектор и убедитесь, что данные выбираются из таблицы
MS_SalesFacts. Для этого в правом верхнем углу чарта нажмите → Инспектор.
-
Сохраните чарт:
- В правом верхнем углу нажмите кнопку Сохранить.
- В открывшемся окне введите название чарта
Table with parametrisationи нажмите кнопку Сохранить.

-
Измените имя таблицы в параметре чарта:
-
В разделе Параметры нажмите значок у параметра
table_name. -
Значение по умолчанию укажите
MS_SalesFacts_up.
-
Нажмите кнопку Сохранить. Теперь данные для чарта выбираются из таблицы
MS_SalesFacts_up.
-
Создайте датасет с параметром для подзапроса
Создайте еще один датасет на базе подключения Sample ClickHouse:
-
Перейдите к подключению
Sample ClickHouseи в правом верхнем углу нажмите кнопку Создать датасет. -
Добавьте SQL-запрос к источнику:
-
Внизу слева под списком таблиц нажмите
→ Добавить. -
Перейдите на вкладку SQL и в поле Подзапрос введите текст запроса:
SELECT * FROM samples.MS_SalesFacts -
Нажмите кнопку Применить.
-
-
Включите параметризацию в настройках датасета. Для этого вверху нажмите
→ Включить параметризацию. -
Сохраните датасет:
- В правом верхнем углу нажмите кнопку Сохранить.
- Введите название датасета —
Dataset with parametrisation for sqlи нажмите кнопку Создать.
-
Добавьте параметр с условием для подзапроса:
-
Перейдите на вкладку Параметры.
-
Нажмите кнопку Добавить и укажите:
-
Название —
custom_where; -
Тип —
Строка; -
Значение по умолчанию —
1=1. Такое условие всегда будет возвращать значениеTrue; -
Включите опцию Разрешить использовать в настройке источника и для валидации значений выберите
Регулярное выражение. В поле введите регулярное выражение Python, позволяющее использовать символы, которые могут понадобиться при составлении SQL-запросов:^[a-zA-Z0-9а-яАА-ЯёЁ_\s\(\)\.\'\=\-\+\*/\,\<\>!]+$
При нажатии на кнопку Добавить валидация датасета пройдет успешно.
-
-
-
Сохраните датасет.
-
Добавьте условие в текст SQL-запроса, используя параметр:
-
Перейдите на вкладку Источники.
-
В списке таблиц напротив SQL нажмите
→ Изменить настройки. -
В поле Подзапрос к тексту запроса добавьте строку
WHERE:SELECT * FROM samples.MS_SalesFacts WHERE -
Под полем ввода запроса нажмите
Вставить параметр и выберите параметрcustom_where. Теперь условие в SQL-запросе будет определяться указанным параметром:SELECT * FROM samples.MS_SalesFacts WHERE {{custom_where}}
-
-
Сохраните датасет.
Создайте чарт с выбором условия для подзапроса в параметре
-
Вверху датасета нажмите кнопку Создать чарт.
-
Выберите тип визуализации Индикатор.
-
Из раздела Измерения перетащите поле
Salesв секцию Показатель. К полю автоматически применится агрегация, оно станет показателем.
-
Откройте инспектор и убедитесь, что в тексте SQL-запроса используется значение параметра из датасета
1=1.
-
Измените условие SQL-запроса в параметре:
-
В разделе Параметры нажмите значок у параметра
table_name. -
Значение по умолчанию укажите:
ProductID IN (SELECT ProductID FROM samples.MS_Products WHERE ProductCategory='Техника для дома'). -
Нажмите кнопку Сохранить. Данные в чарте отфильтрованы по условию: только продукты категории
Техника для дома.
-
Откройте инспектор и убедитесь, что в условии SQL-запроса теперь используется новое значение параметра.

-
-
Сохраните чарт:
- В правом верхнем углу нажмите кнопку Сохранить.
- В открывшемся окне введите название чарта
Chart with parametrisation sqlи нажмите кнопку Сохранить.
ClickHouse® является зарегистрированным товарным знаком ClickHouse, Inc