Иерархический фильтр - Публичная база знаний Modus

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

Добавьте новый компонент, для использования компонента выберите тип отображения «Иерархический фильтр». Настройте полку «Фильтры».
![]()
Раздел настроек
Переключатель «Автообновление» — при включении переключателя производится автообновление диаграммы, по умолчанию «ВЫКЛ».

Раздел «Общие настройки»
В данном разделе заполните общие настройки компонента:

- «Заголовок» — введите заголовок фильтра;
- «Отступы контейнера» — установите значения отступов для контейнера сверху, справа, снизу и слева;
- «Формат даты» — выберите формат отображения даты;
- «Цвет фона» — выберите цвет фона контейнера.
Раздел «Настройки отображения»
В данном разделе реализованы параметры:

- «Скрывать заголовок» — при включении переключателя не будет отображаться заголовок фильтра;
- «Ширина заголовка» — установите процент ширины заголовка относительно ширины экрана;
- «Множественный выбор» — включите переключатель при необходимости множественного выбора значений фильтра. При отключении опции будет единичный выбор.
- «Очищать выбор» — при включении переключателя будет отображаться очищения выбора (иконка крестика).

- «Режим поиска без лимита» — включение переключателя снимает ограничения на количество уникальных значений, получаемых из набора данных при заполнении фильтра (по умолчанию — фильтр заполняется первыми 5000 строк и поиск осуществляется по этим значениям). Этот режим предназначен для ввода пользователем значения подстроки и поиска подходящих значений по всем значениям поля;
- «Количество символов для активации режима» — поле отображается при включении переключателя «Режим поиска без лимита». Введите значение N, поиск по подстроке включается после ввода пользователем >=N символов;
- «Не загружать значения» — поле отображается при включении переключателя «Режим поиска без лимита». При включении переключателя фильтр не заполняется значениями, а ожидает ввода пользователем строки поиска;
- «Выбранные опции наверху» — при включенным переключателе выбранные значения отображаются в начале списка, как показано на рисунке ниже;
- «Обновлять после сворачивания» — при установке переключателя данные будут обновляться из-за фильтра только после сворачивания фильтра. Иначе данные будут обновляться сразу после установки значения в фильтре;
- «Обновлять после применения» — при установке переключателя данные будут обновляться после применения. При включенной переключателе отобразится кнопка «Применить».

Также в иерархическом фильтре при множественном выборе отображается кнопка «Выбрать все» для удобного выбора всех значений выпадающего списка.
Раздел «Значения»
Начиная с версии 3.14.21 Modus BI в интерфейс настроек иерархического фильтра добавлен новый раздел «Значения». В нём расположен флаг «Обязательный фильтр» (по умолчанию — «ВЫКЛ»), который позволяет настроить обязательность для каждого фильтра входящего в иерархию отдельно от остальных.

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

Визуально обязательный фильтр обозначается иконкой «звёздочки»:
- «*» красного цвета — фильтр не заполнен, при наведении курсора отображается подсказка;

- «*» черного цвета — фильтр заполнен, при наведении курсора отображается подсказка.

Особенности работы обязательных уровней в иерархическом фильтре
В иерархическом фильтре обязательность настраивается для каждого уровня независимо. Важно понимать, что сам компонент иерархического фильтра и отдельные его уровни — это разные сущности с точки зрения логики отправки запроса.
Отправка запроса зависит исключительно от состояния обязательных уровней:
- Если все обязательные уровни в иерархии заполнены (т.е. пользователь выбрал для них значения отдельно), то запрос к данным будет отправлен, даже если сам иерархический фильтр как компонент заполнен не полностью (то есть не выбраны значения на необязательных уровнях).
- Если хотя бы один обязательный уровень остался пустым, запрос блокируется. В этом случае компонент иерархического фильтра получает визуальный маркер незаполненного обязательного фильтра (красная звёздочка), а пользователь видит уведомление: «Заполните обязательные фильтры».

Данное правило действует как в режиме автообновления, так и при использовании кнопки «Применить». Подробнее о работе с кнопкой «Применить» см. раздел «Общие фильтры и категории» подраздел «Загрузка данных в отчете по кнопке «Применить»».
Пример: В иерархии «Федеральный округ → Регион → Продукция» уровни «Федеральный» и «Продукция» обязательные, а «Регион» — необязательный.

1. Пользователь может выбрать значения для «Федеральный округ» и «Продукция» отдельно, например, в контейнерах с фильтрами или на боковой панели фильтров, но оставить фильтр «Регион» незаполненным. В этом случае запрос к данным будет отправлен, так как все обязательные уровни заполнены, несмотря на то, что сам иерархический фильтр заполнен не полностью.
2. Если же пользователь выбирает любое значение непосредственно в самом компоненте иерархического фильтра, то все три уровня иерархии (Федеральный округ, Регион, Продукция) будут заполнены автоматически, и запрос также будет отправлен.
Множественный выбор
Если для иерархического фильтра одновременно включена настройка «Множественный выбор» и «Обязательный фильтр», то для этого фильтра в разделе «Значения» отображается дополнительное поле «Ограничение по количеству элементов», по умолчанию значение «0» (то есть отсутствие ограничений).

Аналитик может задать максимальное количество значений, которые пользователь сможет выбрать для данного фильтра, входящего в иерархию. При попытке пользователя выбрать большее количество значений на этом уровне иерархии, система блокирует действие и показывает уведомление: «Невозможно выбрать больше, чем N элементов».
Для обязательных фильтров с множественным выбором опция «Выбрать всё» автоматически скрывается.

Для иерархического фильтра настройка обязательности заполняется для каждого уровня независимо во вкладке «Значения». Если хотя бы один уровень иерархии настроен как обязательный, весь компонент считается обязательным и получает соответствующий визуальный маркер.
Настройки обязательности синхронизируются между иерархическим фильтром и боковой панелью фильтров — изменение в одном месте отражается в другом, все настройки и логика работы аналогичны описанным в текущем разделе.

Дополнительно
Для оформления фильтра с большим количеством уровней расположите на полке Фильтры больше значений.

