Связанные фильтры¶
Вы можете связывать фильтры на дашборде так, чтобы дочерний фильтр ограничивал свои значения на основе одного или нескольких значений, выбранных в родительском фильтре.
Например, вы хотите, чтобы фильтр по столбцу "Область" ограничивал набор значений, доступных в фильтре по столбцу "Город": если человек выбрал область, то он мог бы выбирать только города из этой области. Для этого нужно связать фильтр "Город" (дочерний) с фильтром "Область" (родительским).

Настройка таблиц для связанных фильтров¶
Вы можете связывать только те фильтры дашборда, которые подключены к столбцам базы данных (не к пользовательским столбцам и не к группировкам) на карточках дашборда, потому что Glarus BI использует метаданные столбцов для построения связанных фильтров. Системе нужно "знать", какие значения есть в столбцах и как столбцы родительского и дочернего фильтра связаны друг с другом.
Фильтры можно связать только если они подключены к столбцам, у которых в метаданных таблиц явно определены отношения. Под «отношением» мы подразумеваем, что столбцы находятся:
- в одной и той же таблице;
- в двух разных таблицах, которые имеют связь по внешнему ключу, указанную в метаданных таблицы;
- в двух разных таблицах, которые имеют связи по внешним ключам с одной или несколькими промежуточными таблицами, как указано в метаданных таблицы.

Если вы попытаетесь настроить связанные фильтры между двумя несвязанными столбцами, Glarus BI не покажет ошибку, но вы увидите, что значения в дочернем фильтре не ограничиваются выбранным значением в родительском фильтре. Подсказки по диагностике см. в разделе "Устранение неполадок связанных фильтров".
Настройка связанных фильтров¶
Вы можете связать дочерний фильтр с одним или несколькими родительскими фильтрами. Дочерний фильтр должен быть фильтром ID, расположения, текста или категории. Родительские фильтры могут иметь любой тип.
Чтобы связать дочерний фильтр на дашборде с одним или несколькими родительскими фильтрами:
- Перейдите в режим редактирования дашборда (значок карандаша в правом верхнем углу).
- Отредактируйте дочерний фильтр, нажав на значок шестерёнки в фильтре.
- На боковой панели настроек фильтра перейдите на вкладку Связанные фильтры.
- Выберите один или несколько родительских фильтров.

Фильтры, которые вы выбираете во вкладке связанные фильтры, будут родительскими фильтрами, то есть фильтрами, которые ограничивают значения дочернего фильтра, который вы редактируете в данный момент.
Ограничения связанных фильтров¶
Связанные фильтры игнорируют отношения, определённые моделями и запросами¶
Связанные фильтры «знают» только об отношениях, определённых в метаданных таблиц. Это ограничение позволяет подключать фильтры к одному и тому же столбцу на нескольких карточках дашборда (включая разные вкладки), но также означает, что:
- связанные фильтры не "видят" отношения, определённые соединениями (join) в моделях или запросах;
- связанные фильтры не могут использовать логику фильтров или соединений из исходной карточки или модели.
Например, у вас есть таблица со столбцами "Область" и "Город", и вы создаете модель, которая фильтрует строки с Город = Москва. Вы создаёте запрос на основе этой модели и добавляете его на дашборд. Вы добавляете фильтры "Область" и "Город" на дашборд и связываете их. Если вы выберете Область = Московская область, фильтр города всё ещё может показывать Москва как вариант, даже если в запросе и базовой модели нет записей с Москва, потому что фильтр "знает" только о базовых метаданных таблицы (которые включают примеры значений для столбца).
Связанные фильтры не работают с пользовательскими столбцами и группировками¶
Glarus BI использует метаданные столбцов базы данных, чтобы подставлять значения для связанных фильтров. Это значит, что связанные фильтры должны быть подключены к столбцам базы данных. В частности:
-
вы не можете создавать связанные фильтры для пользовательских столбцов;
-
прямые запросы должны иметь переменную фильтра поля, чтобы быть связанными. Базовые переменные SQL не подключены к столбцам базы данных, поэтому они не будут работать для связанных фильтров;
-
вы не можете связывать фильтры, которые используют "Пользовательский список", или "Из другой модели или запроса" в качестве источника их значений.
Устранение неполадок связанных фильтров¶
Если вы не видите то, что ожидаете от связанных фильтров, убедитесь, что ваши табличные связи настроены для поддержки связанных фильтров. См. Устранение неполадок связанных фильтров для получения дополнительной информации по устранению неполадок.