Перейти к содержанию

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

Вы можете связать фильтры на дашборде, чтобы дочерний фильтр ограничивал свои значения на основе одного или нескольких значений, применяемых родительским фильтром.

Допустим, вы хотите, чтобы фильтр по столбцу "область" ограничивал значения, доступные для фильтра по столбцу "город", так что если кто-то выбирает область, он сможет выбрать только города в этой области. Для этого вы можете связать фильтр города (дочерний) с фильтром области (родительский).

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

Настройка таблиц для связанных фильтров

Вы можете связывать только те фильтры дашборда, которые подключены к столбцам базы данных (не к пользовательским столбцам или группировкам) на карточках дашборда, потому что Glarus BI нужны метаданные столбцов для создания связанных фильтров. Glarus BI необходимо знать, какие значения есть в столбцах, и как столбцы в родительском и дочернем фильтрах связаны друг с другом.

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

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

Настройка внешнего ключа в метаданных таблицы

Если вы попытаетесь настроить связанные фильтры между двумя столбцами, которые не связаны, Glarus BI не покажет ошибку, но вы увидите, что значения в дочернем фильтре не ограничиваются родительским фильтром. Для получения дополнительных советов по устранению неполадок см. Устранение неполадок связанных фильтров.

Настройка связанных фильтров

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

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

  1. Отредактируйте дашборд, нажав на значок карандаша в правом верхнем углу дашборда.
  2. Отредактируйте дочерний фильтр, нажав на значок шестерёнки в фильтре.
  3. На боковой панели настроек фильтра переключитесь на вкладку Связанные фильтры.
  4. Выберите один или несколько родительских фильтров.

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

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

Ограничения связанных фильтров

Связанные фильтры игнорируют связи, определённые моделями и запросами

Связанные фильтры "знают" только о связях, определённых в метаданных таблицы. Это ограничение позволяет подключать фильтры к одному и тому же столбцу на нескольких карточках дашборда (на нескольких вкладках). Но ограничение также означает, что:

  • связанные фильтры не могут "видеть" связи, определённые соединениями в моделях или запросах;
  • связанные фильтры не могут использовать логику фильтрации или соединения из любой базовой карточки или модели.

Например, у вас есть таблица со столбцами "Область" и "Город", и вы создаете модель, которая фильтрует строки с Город = Москва. Вы создаете запрос на основе этой модели и добавляете его на дашборд. Вы добавляете фильтры "Область" и "Город" на дашборд и связываете их. Если вы выберете Область = Московская область, фильтр города всё ещё может показывать Москва как вариант, даже если в запросе и базовой модели нет записей с Москва, потому что фильтр "знает" только о базовых метаданных таблицы (которые включают примеры значений для столбца).

Связанные фильтры не работают с пользовательскими столбцами или сводками

Glarus BI использует метаданные столбцов базы данных для заполнения значений для связанных фильтров. Это означает, что связанные фильтры должны быть подключены к столбцам базы данных. В частности:

  • вы не можете создавать связанные фильтры для пользовательских столбцов;
  • прямые SQL-запросы должны иметь переменную фильтра поля, чтобы быть связанными. Базовые переменные SQL не подключены к столбцам базы данных, поэтому они не будут работать для связанных фильтров;
  • вы не можете связывать фильтры, которые используют "Пользовательский список", или "Из другой модели или запроса" в качестве источника их значений.

Устранение неполадок связанных фильтров

Если вы не видите то, что ожидаете от связанных фильтров, убедитесь, что ваши табличные связи настроены для поддержки связанных фильтров. См. Устранение неполадок связанных фильтров для получения дополнительной информации по устранению неполадок.