Узел «Фильтр» позволяет по заданным условиям удалить наблюдения из процесса моделирования. Отфильтрованные (не соответствующие критериям фильтрации) данные не попадут на вход последующих узлов.
Список параметров узла представлен в таблице (Таблица 11).
Таблица 11 — Параметры узла «Фильтр»
Параметр |
Возможные значения и ограничения |
Описание |
---|---|---|
Название |
Ручной ввод |
Название узла, которое будет отображаться в интерфейсе |
Описание |
Ручной ввод |
Описание узла |
Поле для ввода формулы |
Поле ввода условия фильтрации |
При выборе поля ввода откроется окно Формула (подробное описание ниже). |
Окно Формула
В окне Формула задается условие отбора наблюдений из исходного набора данных.
Основными элементами окна Формула (Рисунок 65) являются:
Рисунок 78 – Окно Формула
- Строка ввода текстового представления условия.
- Рабочее поле, в котором строится графическое представление условия.
- Вкладка, которая открывается при щелчке правой кнопкой мыши в строке ввода, и включает в себя:
- Переменные из набора данных.
- Операторы и функции, представленные в таблице (Таблица 8).
Позволяет просматривать переменные набора данных и строить конструкции условий.
Для задания условия необходимо:
- В строку текстового представления ввести условие, используя операторы, функции (Таблица 8) и переменные набора данных.
- Название переменной должно быть указано в обратных одинарных кавычках (` `). Пример: `Год` > 1996.
- В качестве десятичного разделитель используется точка.
- Строка должна указываться в двойных кавычках. Пример: `Пол` = "мужской".
- Посмотреть список операторов, функций и переменных, а также добавить их в условие можно и в панели, которая открывается при щелчке правой кнопкой мыши по строке ввода.
Список функций и операторов
Таблица 12 — Операторы и функции
Оператор/Функция |
Описание |
Текстовое представление (формула) |
---|---|---|
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 ("Москва", "Московская область")|
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 (`Фамилия`, " ", `Имя`)|
Результаты выполнения узла: - Таблица с примером отфильтрованного набора данных (Рисунок 79). Отображаются первые 100 наблюдений.
Рисунок 79 — Пример таблицы с отфильтрованным набором данных (условие id <10)