Узел «Трансформация» позволяет рассчитать новые переменные.
Пользователь может получить дополнительные сведения для моделирования, выполнив вычисления на основе имеющихся переменных. Для этого в узле «Трансформация» предусмотрено создание вычисляемых показателей при помощи расчетных формул.
Список параметров узла представлен в таблице ниже.
Параметр | Возможные значения и ограничения | Описание |
---|---|---|
Название | Ручной ввод | Название узла, которое будет отображаться в интерфейсе |
Описание | Ручной ввод | Описание узла |
Расчетные атрибуты | Кнопка | При выборе кнопки откроется окно Расчетные атрибуты. |
Окно Расчетные атрибуты
В окне Расчетные атрибуты Пользователь имеет возможность создать новые переменные. Для этого необходимо:
- Выбрать иконку .
- Задать следующие параметры:
- Имя атрибута.
- Формулу. Для этого нужно нажать на поле ввода, откроется окно Формула в котором и задается формула расчета.
- Тип (подробнее в разделе 4.2.4.3 Входные и выходные данные узла). Задается автоматически после задания расчетной формулы.
- Роль (подробнее в разделе 4.2.4.3 Входные и выходные данные узла).
- Сохранить изменения, выбрав иконку .
Рисунок 90 — Окно Расчетные атрибуты
Окно Формула
В окне Формула задается расчетная формула.
Основными элементами окна Формула (Рисунок 91) являются:
Рисунок 91 – Окно Формула
- Строка ввода текстового представления условия.
- Рабочее поле, в котором строится графическое представление условия.
- Вкладка, которая открывается при щелчке правой кнопкой мыши в строке ввода, и включает в себя:
- Переменные из набора данных.
- Операторы и функции, представленные в таблице (Таблица 8).
Позволяет просматривать переменные набора данных и строить расчетные формулы.
Для задания условия необходимо:
- В строку текстового представления ввести формулу, используя операторы, функции (Таблица 8) и переменные набора данных.
- Название переменной должно быть указано в обратных одинарных кавычках (` `). Пример: `Год` > 1996.
- В качестве десятичного разделитель используется точка.
- Строка должна указываться в двойных кавычках. Пример: `Пол` = "мужской".
- Посмотреть список операторов, функций и переменных, а также добавить их в условие можно и в панели, которая открывается при щелчке правой кнопкой мыши по строке ввода.
Таблица 17 — Операторы и функции
Оператор/Функция | Описание | Текстовое представление (формула) |
---|---|---|
And | Логическая операция «И» | |
true and true |
Вместо true нужно вставить условие
Пример: `Год` > 1996 and `Пол`= "Женский"|
Or | Логическая операция «ИЛИ» | |
true or true |
Вместо true нужно вставить условие
Пример: `Год` > 1996 or `Пол`= "Женский"|
+ | Операция сложения | |
0 + 0 |
Вместо 0 нужно вставить числовое значение/числовую переменную
Пример: `Цена продукта M`+ ` Цена продукта M`|
– | Операция вычитания | |
0 - 0 |
Вместо 0 нужно вставить числовое значение/числовую переменную
Пример: `Цена продукта M`- 1000|
× | Операция умножения | |
0 *** 0 |
Вместо 0 нужно вставить числовое значение/числовую переменную
Пример: `Цена продукта M` * `Скидка`|
/ | Операция деления | |
0 / 0 |
Вместо 0 нужно вставить числовое значение/числовую переменную
Пример: `Выручка за первый квартал` / `Выручка за год`|
< | Меньше | |
"" < "" |
Вместо "" нужно вставить переменную/значение
Пример: `Возраст` < 32|
≤ | Меньше или равно | |
"" <= "" |
Вместо "" нужно вставить переменную/значение
Пример: `Температура` <= 120|
> | Больше | |
"" > "" |
Вместо "" нужно вставить переменную/значение
Пример: `Возраст` > "32"|
≥ | Больше или равно | |
"" >= "" |
Вместо "" нужно вставить переменную/значение
Пример: `Температура` >= 120|
= | Равно | |
"" = "" |
Вместо "" нужно вставить переменную/значение
Пример: `Температура` = 120|
≠ | Не равно | |
"" != "" |
Вместо "" нужно вставить переменную/значение
Пример: `Температура` != 120|
like | Проверяет, удовлетворяет ли символьная строка заданному образцу, который может содержать поисковые символы. Учитывает регистр | |
"" like "" |
Вместо "" нужно вставить переменную/значение
Пример: `Город` like "Москва"|
ilike | Проверяет, удовлетворяет ли символьная строка заданному образцу, который может содержать поисковые символы. | |
"" ilike "" |
Вместо "" нужно вставить переменную/значение
Пример: `Город` ilike "Москва"|
startswith | Проверяет, есть ли в начале одной текстовой строки другая текстовая строка | |
"" startswith "" |
Вместо "" нужно вставить переменную/значение
Пример: `Город` startswith "Сан"|
endswith | Проверяет, есть ли в конце одной текстовой строки другая текстовая строка | |
"" endswith "" |
Вместо "" нужно вставить переменную/значение
Пример: `Город` endswith "бург"|
contains | Проверяет, есть ли совпадения с отдельными словами или фразами | |
"" contains "" |
Вместо "" нужно вставить переменную/значение
Пример: `Название` contains "consulting"|
between | Проверяет, входит ли значение в определённый диапазон | |
0 between(0,0) |
Вместо 0 нужно вставить числовую переменную/значение
Пример: `ID` between (1, 100500)|
in | Используются для сравнения проверяемого значения поля с заданным списком | |
"" in("") |
Вместо "" нужно вставить переменную/значение
Пример: `Регион` in ("Москва", "Московская область")|
not in | Используются для сравнения проверяемого значения поля с заданным списком | |
"" not_in("") |
Вместо "" нужно вставить переменную/значение
Пример: `Регион` not_in ("Москва", "Московская область")|
CASE | Позволяет проверить несколько условий и выполнить разные операции на основе этих условий | |
case when true then "" else "" end |
Вместо true нужно вставить условие, вместо "" – значение
Для проверки дополнительных условий необходимо добавить дополнительные «when true then ""»
Пример: case when `Возраст` > 32 then 0 else 1 end|
coalesce | Возвращает данные из первого столбца, содержащего значение, отличное от NULL | |
coalesce("") |
Вместо "" нужно вставить переменную/значение
Пример: coalesce(`ProductNumber`, `ProductName`)|
not | Задает противоположное условие | |
not(true) |
Вместо true нужно вставить условие
Пример: not(`Год` > 1996)|
create_date | Создает переменную даты из последовательно введенных года, месяца и дня | |
create_date(0,0,0) |
Вместо 0 нужно вставить числовое значение/числовую переменную
Пример: create_date(2016,10,25)|
current_date | Возвращает текущую дату | |
current_date() |
Вводится без дополнительных параметров|
current_timestamp | Возвращает текущие дату и время | |
current_timestamp() |
Вводится без дополнительных параметров|
now | Возвращает текущие дату и время | |
now() |
Вводится без дополнительных параметров|
create_datetime | Создает переменную даты времени из последовательно введенных года месяца дня часа минут и секунд | |
create_datetime(0,0,0,0,0,0) |
Вместо 0 нужно вставить числовое значение/числовую переменную
Пример: create_datetime(2016,10,25,12,18,0)|
char_length | Возвращает длину строки | |
char_length("") |
Вместо "" нужно вставить строку/строковую переменную
Пример: char_length(`Код_продукта`)|
random | Возвращает случайное число | |
random() |
Вводится без дополнительных параметров|
In | Натуральный логарифм | |
ln(0) |
Вместо 0 нужно вставить числовое значение/числовую переменную
Пример: ln(`Числовая переменная`)|
exp | Экспонента | |
exp(0) |
Вместо 0 нужно вставить числовое значение/числовую переменную
Пример: exp (`Числовая переменная`)|
power | Возведение в степень | |
power(0,0) |
Вместо 0 нужно вставить числовое значение/числовую переменную
Пример: power(`Числовая переменная`,2)|
sqrt | Квадратный корень | |
sqrt(0) |
Вместо 0 нужно вставить числовое значение/числовую переменную
Пример: sqrt (`Числовая переменная`)|
abs | Абсолютное значение | |
abs(0) |
Вместо 0 нужно вставить числовое значение/числовую переменную
Пример: abs (`Числовая переменная`)|
ceil | Возвращает наименьшее целое число, которое больше или равно текущему значению | |
ceil(0) |
Вместо 0 нужно вставить числовое значение/числовую переменную
Пример: ceil(25.1)
Вернет значение 26|
floor | Возвращает наибольшее целое число, которое меньше или равно текущему значению | |
floor(0) |
Вместо 0 нужно вставить числовое значение/числовую переменную
Пример: floor(25.1)
Вернет значение 25|
extract_from_datetime | Получает указанную часть (день, месяц, год, час, минута, секунда) из значения даты и времени | |
extract_from_datetime("","") |
Вместо первых кавычек нужно указать необходимую часть для извлечения:
- SECOND
- MINUTE
- HOUR
- DAY
- MONTH
YEAR
Вместо вторых кавычек нужно указать переменную типа datetime
Пример: extract_from_datetime("DAY",`datetime`)|extract_from_date
Получает указанную часть (день, месяц, год) из значения даты
extract_from_date("","")
В первые кавычки нужно вписать необходимую часть для извлечения:- DAY
- MONTH
YEAR
Вместо вторых кавычек нужно указать переменную типа date
Пример: extract_from_date("DAY",`date`)|concat
Объединяет в единую строку указанные значения
concat("")
Вместо "" нужно вставить строкb/строковые переменные
Пример:
concat (`Фамилия`, " ", `Имя`)|
Результаты выполнения узла:- Таблица c примером набора данных с посчитанными атрибутами (Рисунок 92). Отображаются первые 100 наблюдений.
Рисунок 92 — Пример таблицы с набором данных с рассчитанным атрибутом Тестовый атрибут