Калькулятор-переменные Калькулятор (переменные)

Компонент предназначен для математических операций над переменными. В мастере настройки создаются новые переменные и вычисляются их значения в соответствии с выражениями, заданными пользователем.

Важно: Расчет значений выражений осуществляется в том порядке, в котором они следуют в списке выражений, т.е. сначала вычисляются выражения, находящиеся выше в списке. В формуле выражения возможно использовать только выражения, находящиеся выше по списку. В связи с этим неверная позиция в списке может приводить к ошибке.

Порты

Вход

  • Входные переменные Входные переменные — список переменных, которые можно использовать в узле.

Выход

  • Выходные переменные Выходные переменные — входные переменные и новые переменные, вычисленные узлом.

Мастер настройки

Окно настроек содержит области:

Список выражений Область кода выражения Переменные Список функций

Список выражений

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

Новое выражение можно создать при помощи панели инструментов области или контекстного меню. Операции панели инструментов и контекстного меню:

  • Редактировать Редактировать выражение — задание параметров выражения.
  • Переместить вверх Переместить вверх — поднять выражение на одну позицию вверх по списку.
  • Переместить вниз Переместить вниз — опустить выражение на одну позицию вниз по списку.
  • Добавить выражение Добавить выражение — добавляет новое выражение с параметрами по умолчанию.
  • Добавить выражение по образцу Клонировать выражение — добавляет новое выражение с типом данных, описанием и формулой, как у текущего выражения.
  • Удалить выражение Удалить выражение — удаляет текущее выражение.
  • Удалить все выражения Удалить все выражения… — удаляет все имеющиеся выражения.

При добавлении и редактировании выражения отображается диалог редактирования параметров. Следующие параметры выражений доступны для изменений:

  • Имя — имя переменной в выходном наборе данных.
  • Метка — метка переменной в выходном наборе данных.
  • Типтип данных переменной в выходном наборе данных.
  • Промежуточное — при установке этого флага выражение может использоваться в расчетах, но не включается в список переменных выходного набора данных.
  • Описание — поясняющая информация.

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

При первом открытии мастера настройки список выражений содержит один элемент с именем Expr1 вещественного типа. По умолчанию для нового выражения назначается метка ВыражениеN и имя ExprN, где N — номер, обеспечивающий уникальность.

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

Область кода выражения

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

Изменения в области кода сохраняются при выходе из нее.

Формула выражения может содержать:

  • ссылки на другие переменные набора данных в виде наименования переменных или ранее вычисленных выражений;
  • ссылки на переменные входного порта;
  • скобки, определяющие порядок выполнения операций;
  • знаки математических операций и отношений;
  • логические операции (AND, OR, NOT, XOR) и значения (TRUE или 1, FALSE или 0);
  • функции в соответствии с синтаксическим описанием (см. далее Список функций);
  • строковые выражения в кавычках, например, "строковое выражение";
  • целые и вещественные числа;
  • однострочные и многострочные комментарии.

Важно: вещественные числа записываются с использованием десятичной точки, например, 2.71.

Панель быстрого доступа

На панели расположена кнопка вызова окна Предпросмотр Предпросмотра и кнопки, по нажатию на которые в область кода выражения вставляются шаблоны или части выражения.

Предпросмотр Предпросмотр — позволяет оценить корректность расчетов, отображая до 100 первых строк результирующей таблицы. Горячая клавиша вызова — F3.

Логические операции:

  • AND — операция Логическое "И".
  • OR — операция Логическое "ИЛИ".
  • NOT — операция Логическое "НЕ".
  • XOR — операция Логическое "исключающее ИЛИ".

Операторы сравнения:

  • = — равно;
  • <> — не равно;
  • < — меньше;
  • > — больше;
  • <= — меньше или равно;
  • >= — больше или равно.

Шаблоны:

  • Вещественное число — для ввода вещественного числа, будет вставлено 0.0;
  • Строка — для ввода строки, будет вставлено "";
  • Дата — для ввода даты, будет вставлено StrToDate("____-__-__", "YYYY-MM-DD");
  • Время — для ввода времени, будет вставлено StrToDate("__:__:__", "HH:NN:SS").

Логические значения:

  • FALSE — Ложь.
  • TRUE — Истина.

Комментарии

Однострочный комментарий начинается символами // (два слеша) и продолжается до конца строки. Многострочным комментарием считаются все символы, содержащиеся между /* (слеш-звездочка) и */ (звездочка-слеш).

Пример комментария:

// Пример однострочного комментария.

IF(IsNull(var_one),var_two,var_one) // однострочный комментарий продолжается до конца строки

/* Многострочным комментарием
считаются все символы,
содержащиеся между (слеш-звездочка)
 и (звездочка-слеш). */

Переменные

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

Двойной клик мыши по позиции списка вводит имя переменной в область кода выражения.

Список функций

Наименование, входные аргументы и описание доступных для использования функций.

Возможна фильтрация по категории и названию функции.

Двойной клик мыши по позиции выбранной функции вставляет ее синтаксис в область кода выражения. То же самое можно сделать при помощи Drag-and-Drop.


Примечание: узел "Калькулятор" использует механизм ленивых вычислений, это означает, что расчет производится только тогда, когда значение выражения отображается или используется другим узлом сценария.