Общие сведения

Функциональность добавления колонки в датасет позволяет:

  • добавлять в датасет колонки источника, которые были отключены при создании датасета из файла или исключены из SQL-запроса при создании датасета из источника;
  • добавлять в датасет колонки, значения в которых рассчитываются по заданному алгоритму.

Чтобы добавить колонку, нажмите в блоке настройки колонок датасета кнопку «». По клику кнопки открывается окно «Добавление колонки» для выбора типа добавляемой колонки.


Выбор типа добавляемой колонки

Добавление колонки источника

Чтобы добавить в датасет колонку источника, кликните на шаге выбора типа колонки «Локальная колонка». По клику кнопки открывается окно создания колонки.


Создание колонки


Окно создания колонки состоит из следующих элементов:

  • Поле для ввода «Название». Наименование создаваемой колонки;
  • Поле для ввода «Латинское название». Название в источнике, по которому будут собираться данные;
  • Поле для ввода «Путь в источнике».  Название колонки в базе данных или порядковый номер в файле;
  • Выпадающий список «Тип». Тип данных создаваемой колонки. Значения в выпадающем списке:
    • Строка;
    • Число;
    • Дата;
    • Булевое значение.

Поля «Латинское название» и  «Путь в источнике» не являются обязательными для заполнения.

Для сохранения внесенных изменений в окне создания колонки необходимо нажать кнопку «Сохранить». Новая колонка будет сохранена, произойдет возврат в окно настройки датасета.

Для закрытия окна создания колонки следует нажать кнопку «Отменить»,  или нажать левую кнопку мыши вне области окна.

Добавление расчетной колонки

Чтобы добавить в датасет расчетную колонку, кликните на шаге выбора типа колонки «Расчетная колонка». По клику кнопки открывается страница настройки расчетной колонки.



Страница настройки расчетной колонки


Страница состоит из элементов:

  • Название колонки – название для отображения на интерфейсе;
  • Тип данных – тип данных, который соответствует содержимому расчетной колонки;
  • Переменные – блок для создания переменных, которые участвуют в расчете;
  • Формула – блок для написания алгоритма расчета на языке Python;
  • Датасет – блок с  колонками датасета;
  • Превью – блок для предпросмотра результата расчета;
  • Ошибка – всплывающий блок с сообщением об ошибке в настройке расчетной колонки;
  • Записать расчет в датасет – параметр для управления записью результата расчета.

Блоки «Переменные», «Формула», «Датасет», «Превью» позволяют взаимозависимо изменять свои размеры. Чтобы изменить размер блока, зажмите и перетащите мышью вертикальную или горизонтальную границу между блоками.

Тип данных

Тип данных обязательно должен соответствовать типу данных результата расчета.

Обратите внимание

На странице настройки датасета, в настройках колонки, для расчетной колонки поле «Тип данных» недоступно для редактирования. Тип данных указывается только на странице настройки расчетной колонки.

Переменные

Переменные создаются из колонок датасета и позволяют обращаться к значениям в колонке. Так, через переменную City из колонки «Городское», для каждой строки расчетной колонки будет получено значение из соответствующей строки колонки «Городское».


Переменная City из колонки «Городское»


Чтобы создать переменную, зажмите и перетащите мышью колонку датасета из блока «Датасет» в блок «Переменные». После перетаскивания блок «Переменные» автоматически переключается в режим редактирования. Чтобы включить режим редактирования вручную, кликните в блоке кнопку «Редактировать». 

В режиме редактирования вы можете задать имя переменной, следуя указанным в подсказке ограничениям, и способ агрегации её значений.

Чтобы удалить переменную, кликните для соответствующей переменной кнопку «».

Обратите внимание, что формула расчетной колонки позволяет объявлять переменные дополнительно к тем, которые созданы из колонок датасета.

Формула

Блок «Формула» предназначен для написания алгоритма расчета на языке Python. Ключевое слово return используется для передачи значения в расчетную колонку.

Чтобы получить результат расчета, напишите алгоритм и кликните в блоке кнопку «Рассчитать».

Обратите внимание

Механизм расчета не может использовать в вычислениях NULL. Для обработки NULL в переменной используйте условие проверки на NULL с заменой на ноль, например: 

return a1 if a1 else 0 + a2 if a2 else 0

В расчетной колонке результат сравнения значений переменных


В следующем примере используются дополнительные переменные, объявленные в блоке.


Расчет с применением условного оператора

Превью

По клику кнопки «Рассчитать» в блоке превью отображается расчетная колонка с результатом расчета, а также колонки, которые вынесены в блок «Переменные», независимо от того, используются ли они в алгоритме расчета. Это может быть использовано для удобства предпросмотра.


В предпросмотре отображается колонка «Муниципальное образование», которая не участвует в расчете

Ошибка

Сообщения об ошибках в настройке расчетной колонки или при сохранении отображаются во всплывающем блоке. Блок отображается на странице до его закрытия.


Блок с сообщением об ошибке

Записать расчет в датасет

Параметр управляет записью результата расчета в датасет.

Когда параметр включен, результат расчета записывается в датасет и расчетная колонка:

  • позволяет выполнять сортировку и фильтрацию;
  • обновляется только с обновлением датасета; изменением SQL-запроса, удалением или добавлением колонки датасета; а также после её редактирования и сохранения изменений.

Когда параметр выключен, результат расчета НЕ записывается в датасет, а запрашивается во время обращения к данным датасета. Поэтому такая колонка недоступна в полях параметров сортировки и фильтрации глобальных фильтров, виджетов и т. д.

Для расчетной колонки, сохраненной с включенным параметром, на странице настройки датасета в блоке колонок, отображается пиктограмма «». Для расчетной колонки с выключенным параметром – пиктограмма «».

Обратите внимание!

  • Параметр не может быть включен для расчетной колонки объединенного датасета.
  • Включенный параметр позволяет сохранять расчетную колонку с такой формулой расчета, которая использует необъявленные переменные.
  • Объединенный датасет не может быть создан с использованием датасета, содержащего расчетную колонку с выключенным параметром.
  • При редактировании расчетной колонки запрещается изменение параметра «Записать расчет в датасет» из включенного состояния в выключенное, чекбокс параметра блокируется во включенном состоянии.

Агрегация

Агрегация перед расчетом необходима для использования в расчете агрегированного значения переменной.

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

  • Параметр «Записать расчет в датасет» выключен.
  • Расчетная колонка используется в поле данных виджета или сводной таблицы, которое поддерживает агрегацию. При этом в таком поле данных для расчетной колонки с выключенным параметром «Записать расчет в датасет» метод агрегации НЕ отображается так как он устанавливается при настройке колонки.

Результат расчета с использованием агрегации НЕ отображается:

  • в блоке «Превью» страницы настройки расчетной колонки;
  • в расчетной колонке на странице просмотра датасета;
  • для расчетной колонки вынесенной в поле таблицы или датасета, не поддерживающее агрегацию.

В блоке «Превью» страницы настройки расчетной колонки результат расчета отображается БЕЗ использования агрегации



Расчетная колонка вынесена в поле виджета, поддерживающее агрегацию



Расчетная колонка вынесена в поле сводной таблицы, поддерживающее агрегацию

Удаление колонки датасета, используемой в расчете

При удалении колонки датасета, используемой в расчетной колонке, никакое системное предупреждение не выводится.

  • Нет меток