Работа с датасетом
В этом разделе вы узнаете, как работать с датасетом:
- Создать датасет
- Добавить данные
- Настроить связи
- Создать поля
- Настроить поля
- Добавить параметры
- Добавить фильтры
- Настроить доступ
Создать датасет
Новый датасет можно создать одним из способов:
-
Перейдите на главную страницу
DataLens. -
Нажмите кнопку Создать датасет.
- Перейдите на страницу коллекций и воркбуков
. - Откройте воркбук, в котором хотите создать датасет.
- В правом верхнем углу нажмите кнопку Создать и выберите Датасет.
На панели слева выберите
Добавить данные
В датасет можно добавлять данные из таблиц, которые доступны в источнике, или использовать произвольный SQL-запрос в источник.
Примечание
Использование SQL-запросов доступно только для источников-БД.
-
В датасете перейдите на вкладку Источники.
-
На панели подключений нажмите
Добавить. -
Выберите подключение к источнику данных.
-
Добавьте данные из источника:
ТаблицаSQL-запросПеретащите нужные таблицы с панели таблиц на рабочую область. Между таблицами автоматически установится связь по первому совпадению имени и типа данных полей.
Важно
- Максимальное количество таблиц в одном датасете — 32.
- Максимальное количество полей в одном датасете — 1200.
Примечание
- Чтобы использовать подзапросы в качестве источника, включите опцию Уровень доступа SQL запросов → Разрешить подзапросы в датасетах при создании или редактировании подключения.
- При описании датасета через SQL-запрос не поддерживаются параметры. Но вы можете использовать параметризованные запросы в QL-чартах.
-
На панели таблиц нажмите
Добавить. -
Введите Название источника и текст SQL-запроса в поле Подзапрос.
-
Нажмите кнопку Создать.
Пример SQL-запроса
SQL-запрос объединяет данные из таблиц
samples.MS_SalesFacts
,samples.MS_Products
иsamples.MS_Shops
и группирует их по полямМагазин
иТип продукции
. Для каждой группы подсчитывается сумма продаж. При этом учитываются записи о продажах только за 2019 год:SELECT t3.ShopName AS "Магазин", t2.ProductCategory AS "Тип продукции", COUNT(t1.OrderID) AS "Число продаж", SUM(t1.Price*t1.ProductCount) AS "Сумма продаж" FROM samples.MS_SalesFacts t1 INNER JOIN samples.MS_Products t2 ON t2.ProductID=t1.ProductID INNER JOIN samples.MS_Shops t3 ON t3.ShopID=t1.ShopID WHERE toYear(t1.OrderDatetime)='2019' -- условие отбора продаж за указанный (2019) год GROUP BY "Магазин", "Тип продукции" -- группировка по Магазинам и Типу продукции ORDER BY "Магазин", "Тип продукции" -- сортировка по Магазинам и Типу продукции
Заменить подключение
Чтобы заменить подключение в датасете:
-
В датасете перейдите на вкладку Источники.
-
Удалите все таблицы из рабочей области.
-
На панели подключений нажмите значок
у подключения и выберите Заменить подключение. -
Выберите другое подключение.
-
Перетащите на рабочую область таблицы, которые будут источником данных для датасета.
-
Отредактируйте или удалите вычисляемые поля, в которых используются поля, отсутствующие в новой таблице.
-
В правом верхнем углу нажмите кнопку Сохранить.
Примечание
Если схема данных в источнике поменялась, обновите поля датасета.
Настроить связи
Данные из таблиц источника можно объединять.
Примечание
При объединении данных из нескольких таблиц в датасете появляются дубликаты полей, по которым устанавливается связь. Их можно удалить вручную из списка полей датасета. Также можно описать датасет с помощью SQL-запроса, исключив в нем повторы полей в результирующем наборе.
-
В датасете перейдите на вкладку Источники.
-
Нажмите на изображение связи между таблицами.
-
Выберите тип связи:
inner
,left
,right
илиfull
. -
Выберите поля для связи между таблицами. Установить связь можно только по полям с одним и тем же типом данных. Информацию о типе данных поля DataLens получает непосредственно из подключения. Если вам нужно объединить таблицы по полям с разным типом данных, воспользуйтесь одним из вариантов:
-
Приведите поля к одному типу данных на уровне источника.
-
Опишите датасет через SQL-запрос. Для преобразования типа данных используйте функции CAST или CONVERT
. Например:SELECT * FROM lead INNER JOIN user ON lead.assigned_by_id = CONVERT(user.external_id, CHAR)
-
-
При необходимости добавьте связь между таблицами по другим полям. Для этого нажмите кнопку Добавить связь.
-
(опционально) Отключите опцию Оптимизировать связь, чтобы сделать связь обязательной. В этом случае операция объединения (оператор
JOIN
) будет выполняться, даже если выбираются поля только из одной таблицы. -
Нажмите кнопку Применить.
Новые таблицы из источника данных при добавлении на рабочую область по умолчанию автоматически связываются с первой таблицей, которая там расположена. При необходимости можно явно указать таблицу, с которой нужно установить связь. Для этого наведите новую таблицу на добавленную ранее так, чтобы вокруг последней появилась серая рамка, затем отпустите таблицу. Новая связь образуется с указанной таблицей.
Ранее добавленную таблицу можно заменить. При перетаскивании новой таблицы наведите ее на иконку с круговыми стрелками справа от заменяемой таблицы так, чтобы фон иконки стал синим, затем отпустите таблицу.
Примечание
Если у обновленной таблицы останется тот же набор полей с такими же названиями, ID полей в датасете не поменяются. В этом случае все чарты, которые созданы на основе этого датасета, не нарушатся. Если у обновленной таблицы поменялась схема, обновите поля датасета.
Создать поля
В датасет можно добавлять поля из таблиц источника данных или создавать вычисляемые поля с помощью формул.
-
В датасете перейдите на вкладку Поля.
-
В верхней части экрана нажмите кнопку
Добавить поле. -
Создайте поле:
Вычисляемое полеПоле данных-
Введите название поля.
-
Введите формулу для вычисления значения поля, используя функции источника данных.
-
(опционально) Включите опцию Не показывать в визарде, чтобы скрыть поле в визарде при создании чарта.
-
Нажмите кнопку Создать. Поле отобразится в датасете.
-
Введите название поля.
-
Перейдите на вкладку Поле из источника.
-
Укажите параметры поля:
- ID поля. Идентификатор создаваемого поля, который используется для передачи параметров фильтрации по этому полю на дашборде или URL чарта. Допускается использовать латинские буквы в нижнем регистре, а также символы
_
и-
. - Источник. Таблица в источнике данных, которая содержит нужное поле.
- Поле источника. Поле из выбранной таблицы в источнике данных.
- Тип поля. Тип данных поля.
- Агрегация. Функция агрегации, которая применяется к полю.
- ID поля. Идентификатор создаваемого поля, который используется для передачи параметров фильтрации по этому полю на дашборде или URL чарта. Допускается использовать латинские буквы в нижнем регистре, а также символы
-
(опционально) Включите опцию Не показывать в визарде, чтобы скрыть поле в визарде при создании чарта.
-
Нажмите кнопку Создать. Поле отобразится в датасете.
-
Настроить поля
С полями датасета можно выполнять следующие действия:
-
Изменить имя. Чтобы изменить имя поля, нажмите на текущее имя и введите новое.
-
Изменить источник. Если схема таблиц в источнике изменилась, вы можете выбрать новое поле в источнике, которое будет соответствовать полю датасета.
-
Изменить тип данных поля. Тип данных определяет, как данные будут обрабатываться и какие функции можно применять к полю. Чтобы изменить тип данных, нажмите на текущий тип и выберите новый из списка доступных типов.
-
Выбрать тип агрегации. Тип агрегации определяет функцию агрегации, которая будет применена к полю. Чтобы изменить тип агрегации, нажмите на текущий тип и выберите новый из списка доступных типов агрегации.
-
Настроить права доступа. Вы можете ограничить доступ к значениям поля для разных пользователей или групп пользователей. Для этого нажмите значок
и задайте конфигурацию доступа в формате'значение_поля': e-mail_пользователя
. Подробнее читайте в разделе Управление доступом на уровне строк данных (RLS). -
Сортировать. Вы можете сортировать поля по имени, типу данных, типу агрегации и другим параметрам. Для этого используйте кнопки сортировки в верхней части таблицы полей.
-
Добавить описание. Пояснение к полю можно добавить в столбце Описание. Это может помочь другим пользователям понять назначение поля или логику его расчета.
-
Скрыть. Вы можете скрыть поля, которые не нужны в данный момент. Другие пользователи не увидят их в визарде при создании чарта. Для этого нажмите значок
.
Обновить поля
Обновление полей необходимо, если вы изменили схему таблицы (или таблиц) в источнике данных или удалили поля из датасета вручную.
Чтобы обновить поля в датасете:
-
В датасете перейдите на вкладку Поля.
-
В верхней части экрана нажмите кнопку Обновить поля.
- Если поле отсутствует в датасете, но присутствует в источнике данных, оно появится в списке.
- Если поле есть и в датасете, и в источнике данных, оно обновится (например, изменится тип).
- Если поле присутствует в датасете, но отсутствует в источнике данных, оно будет помечено красным. Удалите его из датасета или замените другим полем из источника.
-
В правом верхнем углу нажмите кнопку Сохранить.
Заменить поля
Если поле было удалено из источника данных, то при обновлении датасета такое поле не обновится. Чарты с таким полем будут отображаться с ошибкой ERR.DS_API.FORMULA.UNKNOWN_SOURCE_COLUMN
. Вы можете удалить это поле из чарта или заменить источник для него в датасете.
Чтобы заменить источник поля в датасете:
-
На панели слева нажмите
Датасеты и выберите нужный датасет. -
В левом верхнем углу переключитесь на вкладку Поля.
-
В датасете выберите поле, которое хотите заменить.
-
Перейдите к столбцу Источник поля.
-
В настройках поля из списка Поле из источника выберите поле, которым вы хотите заменить удаленное.
-
Нажмите кнопку Сохранить.
Добавить параметры
В вычисляемых полях датасета можно использовать параметры.
Примечание
Параметры, добавленные на уровне датасета, доступны во всех чартах, созданных над этим датасетом.
-
В датасете перейдите на вкладку Параметры.
-
Нажмите кнопку Добавить.
-
В окне Добавление параметра введите:
- Название. Задает название параметра.
- Тип. Тип данных параметра.
- Значение по умолчанию. Заполняется обязательно. Используется в случаях, когда значение параметра не определено на дашборде, в URL чарта или в настройках самого чарта.
-
Нажмите кнопку Добавить.
Также вы можете создать параметры на уровне чарта.
Добавить фильтры
На уровне датасета можно добавить фильтры по умолчанию, которые применятся к любому новому чарту, созданному на основе данных из текущего датасета.
- В датасете перейдите на вкладку Фильтрация.
- Нажмите кнопку Добавить.
- Выберите поле, к которому будет применен фильтр.
- Задайте условие для фильтрации.
- В правом нижнем углу нажмите кнопку Применить фильтр.
Примечание
Фильтры по умолчанию не применяются к данным в области предпросмотра датасета.
Настроить доступ
Настройка доступа к датасету отличается в зависимости от того, где расположен датасет — в воркбуке или папке.
Перед назначением прав доступа для пользователя добавьте его в DataLens.
Датасет наследует права доступа, назначенные на воркбук. Назначьте пользователю права на воркбук, чтобы они распространились на датасет.
-
На странице датасета в верхнем меню нажмите значок
и выберите Права доступа. -
В появившемся окне нажмите кнопку Права на датасет.
-
Введите имя пользователя или группу Все.
Примечание
Назначение прав группам пользователей поддерживается для воркбуков и коллекций.
-
(опционально) Напишите комментарий для пользователя, которому выдаете доступ.
-
Укажите права доступа и нажмите кнопку Добавить.
Примечание
Вы можете назначить роли на связанные объекты. Например, если вы выдаете доступ к чарту, вы можете выдать доступ к датасету и к подключению.
Подробнее о доступе к объектам читайте в разделе Управление доступом к DataLens.