Калькулятор (переменные)
Компонент предназначен для математических операций над переменными. В мастере настройки создаются новые вычисляемые переменные или изменяются значения существующих переменных в соответствии с выражениями, заданными пользователем.
Важно: Расчет значений выражений осуществляется в том порядке, в котором они следуют в списке выражений, т.е. сначала вычисляются выражения, находящиеся выше в списке. В формуле выражения возможно использовать только выражения, находящиеся выше по списку. В связи с этим неверная позиция в списке может приводить к ошибке.
Порты
Вход
- Входные переменные — список переменных, которые можно использовать в узле.
Выход
- Выходные переменные — входные переменные и новые переменные, вычисленные узлом.
Мастер настройки
Окно настроек содержит области:
Список выражений
Область предназначена для ввода Выражений — вычисляемых переменных, которыми в результате обработки дополняется входной набор данных или изменяются исходные. Значение Выражения в каждой строке набора данных будет вычислено по формуле, заданной в области кода выражения.
Новое Выражение можно создать при помощи панели инструментов области или контекстного меню. Операции панели инструментов:
- Добавить выражение — добавляет новое Выражение с параметрами по умолчанию.
- Клонировать выражение — добавляет новое Выражение с типом данных, описанием и формулой, как у текущего выражения.
- Редактировать параметры выражения... (F2) — задание параметров Выражения.
- Заменять переменную — включает режим замены исходного значения переменной на вычисленное в Выражении.
- Переместить вверх (Ctrl+Up) — поднять Выражение на одну позицию вверх по списку.
- Переместить вниз (Ctrl+Down) — опустить Выражение на одну позицию вниз по списку.
- Удалить выражение (Delete) — удаляет текущее Выражение.
- Удалить все выражения… (Shift+Delete) — удаляет все имеющиеся Выражения.
Контекстное меню в списке Выражений дополнительно к вышеперечисленным операциям предлагает следующие:
- Перейти к выражению (Enter) — выбор Выражения и отображение его кода.
- Вставить в текст выражения — вставляет Имя выражения в область кода.
При добавлении и редактировании Выражения отображается диалог редактирования параметров. Следующие параметры Выражений доступны для изменений:
- Имя — имя переменной в выходном наборе данных.
- Метка — метка переменной в выходном наборе данных.
- Тип — тип данных переменной в выходном наборе данных.
- Промежуточное — при установке этого флага выражение может использоваться в расчетах, но не включается в список переменных выходного набора данных.
- Описание — поясняющая информация.
Важно: Имя должно быть уникальным, начинаться с заглавной или строчной латинской буквы или с символа подчеркивания. Для последующих символов имени помимо перечисленных можно использовать цифры.
При первом открытии мастера настройки список Выражений содержит один элемент с именем Expr1 вещественного типа. По умолчанию для нового выражения назначается метка ВыражениеN и имя ExprN, где N — номер, обеспечивающий уникальность.
После настройки параметров Выражения в область кода требуется ввести рассчитываемую формулу.
Область кода выражения
В области кода задается формула расчета Выражения. Ссылки на входящие переменные и синтаксические конструкции функций можно вставлять в код выражения ручным вводом, выбрав их двойным кликом мыши в соответствующих областях или перетащив мышкой. Ссылки на созданные в Калькуляторе выражения задаются в области кода ручным вводом или перетаскиванием мышкой. Так же, ссылки на Выражения или Переменные можно добавить в Область кода через контекстное меню.
Важно: Из текущего Выражения можно ссылаться только на Выражения выше по списку.
Если у входящей Переменной и Выражения совпадают имена, то в коде выражения по умолчанию будет использоваться Переменная. В таком случае к Выражению можно обращаться только через префикс Expr.
.
Формула Выражения может содержать:
- ссылки на другие переменные набора данных в виде наименования переменных или ранее вычисленных выражений;
- ссылки на переменные входного порта;
- скобки, определяющие порядок выполнения операций;
- знаки математических операций и отношений;
- логические операции (AND, OR, NOT, XOR) и значения (TRUE или 1, FALSE или 0);
- функции в соответствии с синтаксическим описанием (см. далее Список функций);
- строковые выражения в кавычках, например,
"строковое выражение"
; - целые и вещественные числа;
- однострочные и многострочные комментарии.
Важно: вещественные числа записываются с использованием десятичной точки, например,
2.71
.
Для выхода из области кода и возврата к предыдущей активной области возможно использовать клавишу [Esc].
Панель быстрого доступа
На панели расположена кнопка вызова окна Предпросмотра и кнопки, по нажатию на которые в область кода выражения вставляются шаблоны или части выражения.
Предпросмотр — позволяет оценить корректность расчетов, отображая до 100 первых строк результирующей таблицы. Горячая клавиша вызова — F3
.
Логические операции:
- AND — операция Логическое "И".
- OR — операция Логическое "ИЛИ".
- NOT — операция Логическое "НЕ".
- XOR — операция Логическое "исключающее ИЛИ".
Операторы сравнения:
- = — равно;
- <> — не равно;
- < — меньше;
- > — больше;
- <= — меньше или равно;
- >= — больше или равно.
Шаблоны:
- — для ввода вещественного числа, будет вставлено
0.0
; - — для ввода строки, будет вставлено
""
; - — для ввода даты, будет вставлено
StrToDate("____-__-__", "YYYY-MM-DD")
; - — для ввода времени, будет вставлено
StrToDate("__:__:__", "HH:NN:SS")
.
Логические значения:
- FALSE — Ложь.
- TRUE — Истина.
Комментарии
Однострочный комментарий начинается символами //
(два слеша) и продолжается до конца строки. Многострочным комментарием считаются все символы, содержащиеся между /*
(слеш-звездочка) и */
(звездочка-слеш).
В области кода поддерживается комбинация клавиш Ctrl+/ — закомментировать/раскомментировать код.
Пример комментария:
// Пример однострочного комментария.
IF(IsNull(var_one),var_two,var_one) // однострочный комментарий продолжается до конца строки
/* Многострочным комментарием
считаются все символы,
содержащиеся между (слеш-звездочка)
и (звездочка-слеш). */
Переменные
Область содержит список переменных, передаваемых на вход узла. Перечень и параметры переменных определяются при настройке входных портов узла.
Двойной клик мыши по позиции списка вводит имя переменной в область кода Выражения. То же самое можно сделать при помощи Drag-and-Drop или контекстного меню.
Контекстное меню содержит команды:
- Заменить вычисляемым выражением — для выбранной Переменной добавлет новое Выражение и включает режим замены исходного значения Переменной на вычисленное в Выражении.
- Вставить в текст выражения — вставляет имя Переменной в область кода.
- Перейти к выражению — становится активной, если к Переменной был применен пункт Заменять вычисляемым выражением. Выбирает Выражение, заменяющее данную Переменную, и делает активной Область кода.
Важно: при применении к Переменной пункта Заменить вычисляемым выражением, метка переменной становится ссылкой, нажатие на которую выбирает Выражение, заменяющее данную Переменную, и делает активной Область кода (действие аналогично выполнению пункта контекстного меню Перейти к выражению).
Список функций
Наименование, входные аргументы и описание доступных для использования функций.
Возможна фильтрация по категории и названию функции.
Двойной клик мыши по позиции выбранной функции вставляет ее синтаксис в область кода выражения. То же самое можно сделать при помощи Drag-and-Drop.
Примечание: узел "Калькулятор(переменные)" использует механизм ленивых вычислений, это означает, что расчет производится только тогда, когда значение выражения отображается или используется другим узлом сценария.