Узел «Фильтр» позволяет по заданным условиям удалить часть наблюдений из процесса моделирования. Отфильтрованные (не соответствующие критериям фильтрации) данные не попадут на вход последующих узлов.

Список параметров узла представлен в таблице ниже.


Параметры узла «Фильтр»

Параметр

Возможные значения и ограничения

Описание

Название

Ручной ввод
Ограничений на значение нет

Название узла, которое будет отображаться в интерфейсе

Описание

Ручной ввод
Ограничений на значение нет

Описание узла

Поле для ввода формулы

Поле ввода условия фильтрации

При выборе поля ввода откроется окно Формула (подробное описание ниже).


Окно Формула

В окне Формула задается условие отбора наблюдений из исходного набора данных.

Основными элементами окна Формула являются:

Окно Формула


  1. Строка ввода текстового представления условия.
  2. Рабочее поле, в котором строится графическое представление условия.
  3. Вкладка, которая открывается при щелчке правой кнопкой мыши в строке ввода, и включает в себя:
    • Переменные из набора данных.
    • Операторы и функции, представленные в таблице ниже.

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

Для задания условия необходимо:

  • В строку текстового представления ввести условие, используя операторы, функции (Таблица 8) и переменные набора данных.
    • Название переменной должно быть указано в обратных одинарных кавычках (` `). Пример: `Год` > 1996.
    • В качестве десятичного разделителя используется точка.
    • Строка должна указываться в двойных кавычках. Пример: `Пол` = "мужской".
  • Посмотреть список операторов, функций и переменных, а также добавить их в условие можно и в панели, которая открывается при щелчке правой кнопкой мыши по строке ввода.


Список функций и операторов


Операторы и функции

Оператор/Функция

Описание

Текстовое представление (формула)

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("")

Вместо "" нужно вставить строки/строковые переменные

Пример:

concat (`Фамилия`, " ", `Имя`)


Результаты выполнения узла:

  • Таблица с примером отфильтрованного набора данных. Отображаются первые 100 наблюдений.


Пример таблицы с отфильтрованным набором данных (условие id <10)
  • Нет меток