Операторы фильтров
LightLead поддерживает богатый набор операторов для фильтрации данных в отчётах с логикой AND/OR.
Операторы сравнения
| Оператор | Описание | Применимые типы | Пример |
|---|---|---|---|
EQUAL | Точное совпадение | string, integer, float, boolean, enum, uuid | Статус = active |
NOT_EQUAL | Не равно | string, integer, float, boolean, enum, uuid | Статус ≠ deleted |
CONTAIN | Содержит подстроку | string | Название содержит "Поиск" |
NOT_CONTAIN | Не содержит подстроку | string | Название не содержит "тест" |
GREATER_THAN | Больше | integer, float, money, percentage, date, datetime | Клики > 100 |
LESS_THAN | Меньше | integer, float, money, percentage, date, datetime | Расход < 5000 |
GREATER_OR_EQUAL | Больше или равно | integer, float, money, percentage, date, datetime | Дата ≥ 2026-01-01 |
LESS_OR_EQUAL | Меньше или равно | integer, float, money, percentage, date, datetime | CTR ≤ 5.0 |
IN | Входит в список | string, integer, enum, uuid | Кампания ∈ ["A","B","C"] |
NOT_IN | Не входит в список | string, integer, enum, uuid | Кампания ∉ ["D","E"] |
BETWEEN | В диапазоне (включительно) | integer, float, money, date, datetime | Дата между 2026-01-01 и 2026-01-31 |
Логические правила
Фильтры объединяются с помощью логики AND (И) и OR (ИЛИ).
AND (И) — все условия должны выполняться
json
{
"logic": "AND",
"conditions": [
{"field": "clicks", "operator": "GREATER_THAN", "value": 100},
{"field": "cost", "operator": "LESS_THAN", "value": 5000}
]
}Результат: строки, где кликов больше 100 И расход меньше 5000.
OR (ИЛИ) — хотя бы одно условие выполняется
json
{
"logic": "OR",
"conditions": [
{"field": "campaign_name", "operator": "CONTAIN", "value": "бренд"},
{"field": "campaign_name", "operator": "CONTAIN", "value": "brand"}
]
}Результат: строки, где название содержит «бренд» ИЛИ «brand».
Вложенная логика
Можно комбинировать AND и OR через вложенные группы:
json
{
"logic": "AND",
"conditions": [
{"field": "clicks", "operator": "GREATER_THAN", "value": 10},
{
"logic": "OR",
"conditions": [
{"field": "campaign_name", "operator": "CONTAIN", "value": "поиск"},
{"field": "campaign_name", "operator": "CONTAIN", "value": "ретаргетинг"}
]
}
]
}Результат: кликов больше 10 И (кампания содержит «поиск» ИЛИ «ретаргетинг»).
Значение value в зависимости от оператора
| Оператор | Тип value | Пример |
|---|---|---|
EQUAL, NOT_EQUAL | Строка/число/boolean | "active", 100, true |
CONTAIN, NOT_CONTAIN | Строка | "поиск" |
GREATER_THAN, LESS_THAN, GREATER_OR_EQUAL, LESS_OR_EQUAL | Число или дата | 100, "2026-01-01" |
IN, NOT_IN | Массив | ["A", "B", "C"] |
BETWEEN | Массив из двух элементов | [100, 500], ["2026-01-01", "2026-01-31"] |
Особенности
- CONTAIN — регистронезависимый поиск подстроки
- BETWEEN — границы включены (start ≤ value ≤ end)
- IN — до 100 значений в списке
- Фильтрация по
moneyвсегда в валюте источника (конвертация не применяется) - Фильтрация по
datetimeв UTC - Нельзя фильтровать по вычисляемым метрикам (они вычисляются после фильтрации)