Мои связанные фильтры не работают

Допустим вы создали связанный фильтр для дашборда. Мы хотим его сконфигурировать таким образом, чтобы фильтр «Город» отображал только города в штате, выбранном в фильтре Штат. Однако:

  • ваши карты показывают «Нет результата», когда вы применяете связанный фильтр,

  • кажется, что ваш связанный фильтр не работает, или

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

Если у вас возникли проблемы с обычным виджетом фильтра, см. это руководство. Чтобы исправить проблемы со связанными фильтрами, вам нужно четко понимать, как они работают:

Вы понимаете направленность связанных фильтров?

Основная причина: Связанные фильтры — одна из наиболее сложных функций GlarusBI, и многие проблемы связаны с непониманием их работы.

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

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

  2. Чтобы GlarusBI отображал выпадающий список возможных значений фильтра, он должен знать, что столбец соответствует категории. Это происходит автоматически, если вопрос создается из таблиц с помощью редактора блокнота, поскольку в GlarusBI есть сведения о таблице и столбцах из синхронизации.

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

Правильно ли связаны фильтры?

Основная причина: Наиболее распространенная причина ошибок заключается в том, что фильтры связаны в неправильном направлении. Если вы хотите, чтобы значения, отображаемые фильтром B, были ограничены настройкой фильтра A, вы должны изменить настройки для фильтра B, а не для фильтра A, т. е. настройка применяется к нижестоящему, а не к вышестоящему фильтру.

Действия:

  1. Удалите существующую связь и создайте новую в противоположном направлении.

Действительно ли некоторые строки удовлетворяют условию полного фильтра?

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

Действия:

  1. Создайте вопрос, который использует только первый фильтр, и убедитесь, что он выдает несколько строк. (Если это не так, добавление второго фильтра не приведет к появлению каких-либо строк.)

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

Все ли строки, прошедшие первый тест, проходят и второй?

Основная причина. В некоторых случаях все строки, удовлетворяющие условию первого фильтра, также удовлетворяют условию второго фильтра, поэтому второй фильтр не действует.

Действия:

  1. Создайте вопрос, который включает первое условие фильтра напрямую (т. е. в вопросе, а не с использованием переменной), затем добавьте второе условие фильтра. Если результирующий набор не меняется, проблема в логике, а не в фильтрах.

Отображает ли виджет связанного фильтра раскрывающийся список отфильтрованных значений?

Основная причина: Чтобы связанный виджет фильтра отображал правильное подмножество значений в виде раскрывающегося списка, необходимо настроить явное определение внешнего ключа — связывание фильтров сам по себе не сообщает GlarusBI об отношениях между таблицами в базе данных.

Действия:

  1. Убедитесь, что метаданные таблицы GlarusBI для вашей базы данных включает отношение внешнего ключа.