Узел «Трансформация» позволяет рассчитать новые переменные.
Пользователь может получить дополнительные сведения для моделирования, выполнив вычисления на основе имеющихся переменных. Для этого в узле «Трансформация» предусмотрено создание вычисляемых показателей при помощи расчетных формул.
Список параметров узла представлен в таблице (Таблица 16).
Таблица 16 — Параметры узла «Трансформация»
Параметр |
Возможные значения и ограничения |
Описание |
---|---|---|
Название |
Ручной ввод |
Название узла, которое будет отображаться в интерфейсе |
Описание |
Ручной ввод |
Описание узла |
Расчетные атрибуты |
Кнопка |
При выборе кнопки откроется окно Расчетные атрибуты. |
Окно Расчетные атрибуты
В окне Расчетные атрибуты Пользователь имеет возможность создать новые переменные (Рисунок 90). Для этого необходимо:
- Выбрать иконку .
- Задать следующие параметры:
- Имя атрибута.
- Формулу. Для этого нужно нажать на поле ввода, откроется окно Формула в котором и задается формула расчета.
- Тип (подробнее в разделе 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 — Пример таблицы с набором данных с рассчитанным атрибутом Тестовый атрибут