Перейти к содержимому

Настройка фильтров

Фильтры позволяют отбирать только нужные пакеты данных для обработки в процессоре. Благодаря фильтрам вы можете пропустить неподходящие записи, сэкономить время выполнения и расход токенов. В этом руководстве рассмотрим, как настраивать фильтры от простых условий до сложных комбинаций.

  1. Кликните на узел процессора в визуальном редакторе.
  2. В открывшейся панели настроек перейдите на вкладку “Фильтры”.
  3. В текстовом поле введите условие фильтрации.
  4. Нажмите “Сохранить”.

Фильтры применяются к входным данным процессора, то есть к пакетам, поступающим от предыдущих процессоров в цепочке.

status = 'active'

Пропустит только пакеты, где поле status равно active.

revenue > 1000000

Пропустит пакеты, где значение поля revenue больше одного миллиона.

Поддерживаемые операторы сравнения:

ОператорОписаниеПример
=Равноstatus = 'active'
!=Не равноstatus != 'closed'
>Большеrevenue > 1000000
<Меньшеage < 5
>=Больше или равноscore >= 80
<=Меньше или равноcount <= 100

Обе условия должны выполняться одновременно:

status = 'active' AND revenue > 1000000

Пропустит только активные компании с выручкой больше миллиона.

Достаточно выполнения хотя бы одного условия:

region = 'Москва' OR region = 'Санкт-Петербург'

Пропустит компании из Москвы или Санкт-Петербурга.

Используйте скобки для группировки:

(region = 'Москва' OR region = 'Санкт-Петербург') AND status = 'active'

Пропустит активные компании из Москвы или Санкт-Петербурга.

email IS NULL

Пропустит только записи, где email не заполнен.

email IS NOT NULL

Пропустит записи, где email содержит какое-либо значение. Это полезно, чтобы исключить неполные данные.

Оператор LIKE позволяет искать по подстроке с использованием подстановочных символов:

  • % - любое количество символов (включая ноль)
  • _ - ровно один любой символ
-- Название содержит "ООО"
name LIKE '%ООО%'
-- Название начинается с "ООО"
name LIKE 'ООО%'
-- ИНН начинается с "77" (Москва)
inn LIKE '77%'
-- Название заканчивается на "групп"
name LIKE '%групп'

ИНН юридического лица состоит из 10 цифр, ИНН физического лица - из 12. Чтобы обрабатывать только юрлица:

LENGTH(inn) = 10

Если предыдущий процессор создал поле error_message для проблемных записей:

error_message IS NOT NULL
region IN ('Москва', 'Санкт-Петербург', 'Новосибирск', 'Екатеринбург')
okved NOT LIKE '64%' AND okved NOT LIKE '65%'

Исключит компании с основным ОКВЭД в сфере финансов и страхования.

Комбинированный фильтр для качественных данных

Заголовок раздела «Комбинированный фильтр для качественных данных»
inn IS NOT NULL AND name IS NOT NULL AND status = 'active' AND revenue > 0

Пропустит только записи с заполненным ИНН и названием, активным статусом и положительной выручкой.

Если после применения фильтра процессор не получает данных:

  1. Проверьте данные источника: откройте просмотр данных предыдущего процессора и убедитесь, что данные существуют.
  2. Проверьте имена полей: имя поля в фильтре должно точно совпадать с именем в схеме данных.
  3. Упростите условие: начните с одного простого условия и постепенно добавляйте.
  4. Проверьте типы данных: числовые значения указывайте без кавычек (revenue > 1000), строковые - в одинарных кавычках (status = 'active').
  5. Проверьте логи: в логах процессора будет информация о том, сколько пакетов прошло фильтр и сколько было отфильтровано.
  • Начинайте без фильтров: сначала убедитесь, что воронка работает корректно без фильтрации, затем добавляйте условия.
  • Тестируйте на малых объёмах: установите maxPackets: 10 при отладке фильтров.
  • Используйте IS NOT NULL: для обязательных полей, чтобы избежать ошибок при обработке пустых значений.
  • Документируйте логику: если условие сложное, добавьте комментарий в описании процессора, объясняющий назначение фильтра.