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