Общие сведения
Функциональность добавления колонки в датасет позволяет:
- добавлять в датасет колонки источника, которые были отключены при создании датасета из файла или исключены из SQL-запроса при создании датасета из источника;
- добавлять в датасет колонки, значения в которых рассчитываются по заданному алгоритму.
Чтобы добавить колонку, нажмите в блоке настройки колонок датасета кнопку «». По клику кнопки открывается окно «Добавление колонки» для выбора типа добавляемой колонки.
Добавление колонки источника
Чтобы добавить в датасет колонку источника, кликните на шаге выбора типа колонки «Локальная колонка». По клику кнопки открывается окно создания колонки.
Окно создания колонки состоит из следующих элементов:
- Поле для ввода «Название». Наименование создаваемой колонки;
- Поле для ввода «Латинское название». Название в источнике, по которому будут собираться данные;
- Поле для ввода «Путь в источнике». Название колонки в базе данных или порядковый номер в файле;
- Выпадающий список «Тип». Тип данных создаваемой колонки. Значения в выпадающем списке:
- Строка;
- Число;
- Дата;
- Булевое значение.
Поля «Латинское название» и «Путь в источнике» не являются обязательными для заполнения.
Для сохранения внесенных изменений в окне создания колонки необходимо нажать кнопку «Сохранить». Новая колонка будет сохранена, произойдет возврат в окно настройки датасета.
Для закрытия окна создания колонки следует нажать кнопку «Отменить», или нажать левую кнопку мыши вне области окна.
Добавление расчетной колонки
Чтобы добавить в датасет расчетную колонку, кликните на шаге выбора типа колонки «Расчетная колонка». По клику кнопки открывается страница настройки расчетной колонки.
Страница состоит из элементов:
- Название колонки – название для отображения на интерфейсе;
- Тип данных – тип данных, который соответствует содержимому расчетной колонки;
- Переменные – блок для создания переменных, которые участвуют в расчете;
- Формула – блок для написания алгоритма расчета на языке Python;
- Датасет – блок с колонками датасета;
- Превью – блок для предпросмотра результата расчета;
- Ошибка – всплывающий блок с сообщением об ошибке в настройке расчетной колонки;
- Записать расчет в датасет – параметр для управления записью результата расчета.
Блоки «Переменные», «Формула», «Датасет», «Превью» позволяют взаимозависимо изменять свои размеры. Чтобы изменить размер блока, зажмите и перетащите мышью вертикальную или горизонтальную границу между блоками.
Тип данных
Тип данных обязательно должен соответствовать типу данных результата расчета.
Обратите внимание
Переменные
Переменные создаются из колонок датасета и позволяют обращаться к значениям в колонке. Так, через переменную City из колонки «Городское», для каждой строки расчетной колонки будет получено значение из соответствующей строки колонки «Городское».
Чтобы создать переменную, зажмите и перетащите мышью колонку датасета из блока «Датасет» в блок «Переменные». После перетаскивания блок «Переменные» автоматически переключается в режим редактирования. Чтобы включить режим редактирования вручную, кликните в блоке кнопку «Редактировать».
В режиме редактирования вы можете задать имя переменной, следуя указанным в подсказке ограничениям, и способ агрегации её значений.
Чтобы удалить переменную, кликните для соответствующей переменной кнопку «».
Формула
Блок «Формула» предназначен для написания алгоритма расчета на языке Python. Ключевое слово return используется для передачи значения в расчетную колонку.
Чтобы получить результат расчета, напишите алгоритм и кликните в блоке кнопку «Рассчитать».
Обратите внимание
Механизм расчета не может использовать в вычислениях NULL. Для обработки NULL в переменной используйте условие проверки на NULL с заменой на ноль, например:
return a1 if a1 else 0 + a2 if a2 else 0
В следующем примере используются дополнительные переменные, объявленные в блоке.
Превью
По клику кнопки «Рассчитать» в блоке превью отображается расчетная колонка с результатом расчета, а также колонки, которые вынесены в блок «Переменные», независимо от того, используются ли они в алгоритме расчета. Это может быть использовано для удобства предпросмотра.
Ошибка
Сообщения об ошибках в настройке расчетной колонки или при сохранении отображаются во всплывающем блоке. Блок отображается на странице до его закрытия.
Записать расчет в датасет
Параметр управляет записью результата расчета в датасет.
Когда параметр включен, результат расчета записывается в датасет и расчетная колонка:
- позволяет выполнять сортировку и фильтрацию;
- обновляется только с обновлением датасета; изменением SQL-запроса, удалением или добавлением колонки датасета; а также после её редактирования и сохранения изменений.
Когда параметр выключен, результат расчета НЕ записывается в датасет, а запрашивается во время обращения к данным датасета. Поэтому такая колонка недоступна в полях параметров сортировки и фильтрации глобальных фильтров, виджетов и т. д.
Для расчетной колонки, сохраненной с включенным параметром, на странице настройки датасета в блоке колонок, отображается пиктограмма «». Для расчетной колонки с выключенным параметром – пиктограмма «».
Обратите внимание!
- Параметр не может быть включен для расчетной колонки объединенного датасета.
- Включенный параметр позволяет сохранять расчетную колонку с такой формулой расчета, которая использует необъявленные переменные.
- Объединенный датасет не может быть создан с использованием датасета, содержащего расчетную колонку с выключенным параметром.
- При редактировании расчетной колонки запрещается изменение параметра «Записать расчет в датасет» из включенного состояния в выключенное, чекбокс параметра блокируется во включенном состоянии.
Агрегация
Агрегация перед расчетом необходима для использования в расчете агрегированного значения переменной.
Чтобы агрегация перед расчетом использовалась для расчетной колонки, требуется совместное выполнение следующих условий.
- Параметр «Записать расчет в датасет» выключен.
- Расчетная колонка используется в поле данных виджета или сводной таблицы, которое поддерживает агрегацию. При этом в таком поле данных для расчетной колонки с выключенным параметром «Записать расчет в датасет» метод агрегации НЕ отображается так как он устанавливается при настройке колонки.
Результат расчета с использованием агрегации НЕ отображается:
- в блоке «Превью» страницы настройки расчетной колонки;
- в расчетной колонке на странице просмотра датасета;
- для расчетной колонки вынесенной в поле таблицы или датасета, не поддерживающее агрегацию.
Удаление колонки датасета, используемой в расчете
При удалении колонки датасета, используемой в расчетной колонке, никакое системное предупреждение не выводится.