Расширенная фильтрация

Расширенная фильтрация данных в Baserow - группы условий

Расширенная фильтрация даёт мощь запросов уровня базы данных: несколько условий объединяются логикой И/ИЛИ во вложенные группы, что позволяет находить нужные записи даже в таблицах на тысячи строк. Статья объясняет, как строить сложные фильтры с помощью групп условий, вложенной логики и комбинированных критериев - без единой строчки кода.

Обзор

Расширенная фильтрация расширяет базовую фильтрацию, позволяя создавать группы условий - наборы фильтров, объединённые логическими операторами, которые можно вкладывать друг в друга для сложных запросов. Если обычные фильтры применяют одно простое правило по всей таблице, то расширенная фильтрация позволяет строить запросы вида «если это И то, ИЛИ что-то ещё».

Группы условий работают как скобки в математическом выражении, определяя порядок объединения фильтров. Можно построить фильтр вида «показать (высокий приоритет И просрочено) ИЛИ (средний приоритет И назначено мне)», чтобы уловить более тонкие закономерности в данных, недоступные простым фильтрам.

Расширенная фильтрация распространяется на несколько функций Baserow, включая фильтрацию строк в представлении и условную логику полей формы, обеспечивая единообразную мощность запросов по всей платформе.

Понимание групп условий

Группа условий - это набор фильтров, объединённых логикой И или ИЛИ, которые оцениваются вместе. Каждая группа даёт результат «истина» или «ложь», и такие группы можно комбинировать с другими группами или отдельными фильтрами, создавая сложные запросы.

Поведение логики И и ИЛИ

Тип логикиПоведениеРезультатПример
ИВсе условия должны быть истинныСтроже, меньше результатов«Статус = В работе» И «Приоритет = Высокий» (только строки, соответствующие обоим условиям)
ИЛИЛюбое условие может быть истинноМягче, больше результатов«Статус = Заблокирован» ИЛИ «Статус = Под риском» (строки, соответствующие любому из условий)

Зачем нужны группы условий

Простой фильтр: Приоритет = Высокий (показывает все записи с высоким приоритетом).

Группа условий: (Приоритет = Высокий И Статус = В работе) ИЛИ (Приоритет = Критический) (показывает высокоприоритетные записи, только если они в работе, но при этом показывает все критические записи независимо от статуса).

Групповая логика позволяет выразить «покажи мне вот эту конкретную комбинацию ИЛИ вот то другое» так, как обычный плоский список фильтров сделать не может.

Когда использовать расширенную фильтрацию

Сложные бизнес-правила. Показать записи, отвечающие многокомпонентному критерию, например «(уровень клиента = корпоративный И сумма контракта > 100 тыс.) ИЛИ (дата продления в ближайшие 30 дней)».

Обработка исключений. Показать стандартные элементы по одному набору условий, но включить и исключения: «(статус = активен И последний контакт < 30 дней назад) ИЛИ (vip-клиент = да)».

Работа нескольких команд. Объединить условия для разных отделов: «(отдел = продажи И этап = переговоры) ИЛИ (отдел = поддержка И приоритет = срочно)».

Комбинации по датам. Построить сложные временные фильтры вида «(создано в этом году И изменено в этом месяце) ИЛИ (отмечено для проверки = да)».

Проверка данных. Найти записи, нарушающие бизнес-правило: «(обязательное поле пусто И статус != черновик) ИЛИ (дата согласования пуста И статус = согласовано)».

Как создать группу условий

Постройте группу условий, добавляя фильтры и объединяя их логическими операторами.

Чтобы создать простую группу условий:

  1. Откройте таблицу и нажмите кнопку «Фильтр» на панели инструментов представления.
  2. Нажмите «+ Добавить фильтр», чтобы добавить первое условие.
  3. Выберите поле, оператор и значение для первого фильтра.
  4. Нажмите «+ Добавить фильтр» ещё раз для второго условия.
  5. Выберите «И» или «ИЛИ» из выпадающего списка логики между фильтрами.
  6. Продолжайте добавлять фильтры по необходимости.

Таблица обновляется в реальном времени, показывая только строки, соответствующие группе условий.

Чтобы создать вложенные группы условий:

  1. Откройте таблицу и нажмите кнопку «Добавить группу фильтров» на панели инструментов представления.
  2. Выберите фильтры, которые нужно объединить в группу.
  3. Создайте подгруппу со своей логикой И/ИЛИ.
  4. Добавьте дополнительные фильтры или группы на родительском уровне.
  5. Комбинируйте логику И/ИЛИ на разных уровнях вложенности.

Пример вложенной структуры:

Показать строки, где:
  (Приоритет = Высокий И Статус = В работе)
  ИЛИ
  (Отдел = Продажи И (Регион = Запад ИЛИ Регион = Восток))

Стратегии вложенности групп условий

СтратегияСтруктураСценарий использования
Плоские группыВсе фильтры на одном уровне с единой логикойПростые запросы «всё должно совпасть» или «достаточно одного совпадения»
Одна вложенностьОдна группа в сочетании с отдельными фильтрами«Покажи исключения ИЛИ вот эти конкретные элементы»
Несколько группНесколько групп на одном уровне с логикой ИЛИ«Покажи категорию А ИЛИ категорию Б ИЛИ категорию В», где у каждой категории несколько условий
Глубокая вложенностьГруппы внутри группСложные бизнес-правила с несколькими уровнями логики

Применение расширенной фильтрации в Baserow

Расширенная фильтрация используется в нескольких функциях Baserow, обеспечивая единообразное поведение на всей платформе.

Фильтрация строк

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

Условные поля формы

Показывайте или скрывайте поля формы динамически на основе групп условий. Пример: показать поле «Причина скидки», когда «(уровень клиента = корпоративный) ИЛИ (сумма заказа > 10 тыс.)».

Комбинированные фильтры по дате

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

Чтобы создать комбинированный фильтр по дате:

  1. Откройте панель фильтров в таблице.
  2. Выберите поле даты для фильтрации.
  3. Выберите первый оператор даты (до, после, равно и так далее).
  4. Выберите точку отсчёта (сегодня, завтра, вчера или конкретная дата).
  5. Нажмите «+ Добавить фильтр», чтобы добавить ещё одно условие по дате.
  6. Выберите другой оператор и точку отсчёта.
  7. Задайте логику (И/ИЛИ) между фильтрами по дате.

Пример: показать записи со скорым сроком

  • Фильтр 1: Дата выполнения «после» вчера;
  • Логика: И;
  • Фильтр 2: Дата выполнения «до» завтра;
  • Результат: показывает только элементы со сроком сегодня.

Пример: показать элементы за конкретные периоды

  • Фильтр 1: Дата создания «в этом году»;
  • Логика: И;
  • Фильтр 2: Дата изменения «в этом месяце»;
  • Результат: показывает элементы, созданные в этом году, но изменённые в этом месяце.

Примеры логики расширенной фильтрации

Пример 1: фильтр воронки продаж

Показать сделки, где:
  (Этап = Переговоры И Сумма > 50 тыс.)
  ИЛИ
  (Этап = Предложение И Дней на этапе > 14)
  ИЛИ
  (Владелец = Текущий пользователь И Статус = Требует действия)

Результат: показывает крупные переговоры, застрявшие предложения и ваши срочные задачи.

Пример 2: контроль состояния клиентов

Показать клиентов, где:
  (Дата последней покупки > 90 дней назад И Обращений в поддержку > 5)
  ИЛИ
  (Сумма контракта > 100 тыс. И Дата последнего контакта > 30 дней назад)
  ИЛИ
  (Дата продления в ближайшие 60 дней И Индекс здоровья = Красный)

Результат: выявляет клиентов в зоне риска, требующих внимания.

Пример 3: приоритизация задач

Показать задачи, где:
  (Приоритет = Срочно И Статус != Завершено)
  ИЛИ
  (Срок = Сегодня И Исполнитель = Текущий пользователь)
  ИЛИ
  (Заблокировано = да И Дней в блокировке > 3)

Результат: ваши срочные задачи, сегодняшние назначения и давно заблокированные элементы.

Часто задаваемые вопросы

В чём разница между базовой и расширенной фильтрацией? Базовая фильтрация использует плоский список условий с единой логикой И или ИЛИ на всё представление. Расширенная фильтрация позволяет создавать вложенные группы условий с разной логикой на каждом уровне, что даёт запросы вида «(это И то) ИЛИ что-то ещё».

Сколько групп условий можно создать? Жёсткого ограничения на глубину вложенности или число групп нет. Однако ради производительности и удобства поддержки стоит держать фильтры настолько простыми, насколько это возможно для решения задачи. Очень сложные фильтры могут замедлить загрузку представления на больших таблицах.

Можно ли сохранить и повторно использовать группу условий? Группы условий сохраняются вместе с представлением. Чтобы повторно использовать сложный фильтр, продублируйте представление или создайте представление-шаблон с нужной конфигурацией фильтров, а затем адаптируйте его под новую задачу.

Работают ли группы условий со всеми типами полей? Да, группы условий поддерживают все типы полей и их операторы. Можно комбинировать разные типы полей в одной группе - например, текстовые, датовые и числовые фильтры одновременно.

Как понять, что группа условий настроена правильно? Проверьте количество строк, отображаемое в панели фильтров. Если число кажется неверным, попробуйте упростить фильтр, тестируя условия по одному, а затем постепенно добавляя сложность. Предпросмотр в реальном времени помогает проверить логику.

Связанные материалы

Проверено OpenNix LLC · Обновлено