$ sudo teach IT

На предыдущем уроке мы собрали первый Dashboard и разместили на нем ключевые показатели бизнеса. Однако пока что наш дашборд остается статичным.

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

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

Именно поэтому современные BI-системы активно используют фильтрацию данных. Фильтры позволяют пользователю самостоятельно выбирать интересующие данные и получать нужные аналитические срезы без помощи аналитика. Один хорошо спроектированный Dashboard с фильтрами способен заменить десятки отдельных отчетов.

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

Ключевые термины

  • Filter — механизм отбора части данных по заданным условиям.
  • Local Filter — фильтр, который действует только внутри одной визуализации.
  • Dashboard Filter — фильтр, который влияет сразу на несколько элементов Dashboard.
  • Time Range — временной диапазон анализа данных.
  • Filter Scope — область действия фильтра.
  • Interactive Dashboard — интерактивный дашборд, реагирующий на действия пользователя.
  • Global Filter — фильтр, применяемый ко всему дашборду.
  • Filter Component — элемент интерфейса для управления фильтрацией данных.
  • Slice — отдельная визуализация на Dashboard.

Почему фильтры являются одним из главных инструментов аналитика

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

Но что делать, если руководитель хочет увидеть продажи только по Еревану? Или только по категории смартфонов? Или только за текущий месяц?

Без фильтров аналитик был бы вынужден создавать отдельные отчеты под каждую задачу. На практике такой подход не работает. Количество возможных комбинаций данных слишком велико.

Поэтому современные BI-системы используют динамическую фильтрацию данных. Пользователь самостоятельно выбирает интересующий сегмент и получает нужную информацию за несколько секунд. Именно это делает Dashboard действительно интерактивным инструментом.

Что такое локальные фильтры

Самый простой вариант фильтрации — использование локальных фильтров. Локальный фильтр действует только внутри конкретной визуализации.

Представим график продаж по категориям товаров. Мы можем настроить фильтр таким образом, чтобы отображались только категории:

Смартфоны
Ноутбуки
Планшеты

При этом остальные визуализации Dashboard останутся без изменений. Такой подход полезен, когда определенный график решает узкую аналитическую задачу.

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

Как работают локальные фильтры в Explore

При создании графика в Explore практически всегда присутствует раздел Filters. Именно здесь задаются условия отбора данных. Например, можно создать условие category = 'Ноутбуки' или city = 'Ереван'.

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

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

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

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

Очевидно, что такой подход неудобен. Именно поэтому в Superset существуют Dashboard Filters.

Что такое Dashboard Filters

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

Представим следующий сценарий.

На дашборде находятся:

  • KPI выручки;
  • KPI прибыли;
  • график динамики продаж;
  • диаграмма по категориям товаров;
  • таблица заказов.

Добавляем фильтр Город и пользователь выбирает Ереван. После этого все визуализации автоматически перестраиваются. Теперь они отображают данные только по выбранному городу. Именно благодаря этому один Dashboard может использоваться для анализа множества различных сегментов бизнеса.

Почему Dashboard Filters считаются обязательными

Если посмотреть на реальные корпоративные BI-системы, практически любой дашборд содержит фильтры.

Причина проста. Без фильтров Dashboard показывает только одну фиксированную картину. С фильтрами пользователь получает возможность самостоятельно исследовать данные.

Например:

  • выбрать регион;
  • выбрать категорию товаров;
  • выбрать менеджера;
  • выбрать бренд;
  • выбрать период времени.

Это превращает Dashboard из статичного отчета в полноценный аналитический инструмент. Именно поэтому большинство современных BI-платформ активно развивают механизмы фильтрации.

Временные фильтры

Среди всех фильтров особое место занимают фильтры по времени. Практически любой бизнес анализирует показатели в определенном временном диапазоне.

Например:

  • за текущий день;
  • за последнюю неделю;
  • за последний месяц;
  • за квартал;
  • за год.

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

Что такое Time Range

В Apache Superset для работы со временем используется понятие Time Range.

Это диапазон дат, который ограничивает данные для анализа.

  • Например Last week отобразит данные за последнюю неделю.
  • Вариант Last month покажет последний месяц. Можно также использовать произвольный диапазон дат.
  • Например 01.01.2025 — 31.03.2025. В этом случае пользователь сможет проанализировать конкретный квартал.

Как время влияет на графики

Представим линейный график продаж. Без фильтра по времени он показывает данные за три года. Такой график может оказаться перегруженным.

Если применить фильтр Последние 30 дней график станет гораздо более информативным. Теперь пользователь видит только актуальные данные и может быстрее находить закономерности. Это особенно важно для оперативной аналитики. Менеджеров обычно интересуют текущие показатели, а не история компании за несколько лет.

Как проектировать фильтры на Dashboard

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

Лучше начинать с небольшого количества наиболее полезных фильтров. Для интернет-магазина это обычно:

  • период времени;
  • город;
  • категория товара;
  • бренд.

Этих фильтров уже достаточно для большинства сценариев анализа. По мере необходимости набор можно расширять. Главное — не перегружать интерфейс.

Порядок расположения фильтров

Хорошей практикой считается размещение фильтров в верхней части Dashboard. Пользователь должен видеть их сразу после открытия страницы.

Обычно порядок выглядит следующим образом:

Сначала располагается временной диапазон. Затем идут наиболее важные бизнес-фильтры:

  • регион;
  • категория;
  • бренд;
  • менеджер.

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

Наиболее частые ошибки

  • Использовать только локальные фильтры.
    В результате пользователю приходится работать с каждой визуализацией отдельно.

  • Добавлять слишком много Dashboard Filters.
    Перегруженный интерфейс усложняет работу с отчетом.

  • Не использовать временной фильтр.
    Для большинства аналитических задач работа с периодами является обязательной.

  • Создавать фильтры по редко используемым полям.
    Лучше оставить только действительно полезные параметры.

  • Не проверять влияние фильтра на визуализации.
    Некоторые графики могут реагировать на фильтры не так, как ожидается.

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

  • Использовать несколько фильтров с похожим назначением.
    Это может запутать пользователей и усложнить анализ.

Наиболее частые вопросы

  • Чем Dashboard Filter отличается от локального фильтра?
    Локальный фильтр влияет только на одну визуализацию, а Dashboard Filter может управлять сразу несколькими элементами Dashboard.

  • Можно ли использовать несколько Dashboard Filters одновременно?
    Да. Это один из самых распространенных сценариев работы.

  • Какие фильтры считаются обязательными?
    В большинстве случаев это фильтр по времени и один или несколько ключевых бизнес-параметров.

  • Почему после применения фильтра изменяются KPI?
    Потому что фильтр изменяет набор данных, участвующих в расчетах.

  • Можно ли создать фильтр по любой колонке Dataset?
    Обычно да, если колонка подходит для фильтрации данных.

  • Что лучше: больше фильтров или меньше?
    Лучше использовать минимальный набор фильтров, который решает задачи пользователя.

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

  • Почему некоторые визуализации не реагируют на фильтр?
    Чаще всего причина связана с областью действия фильтра или настройками конкретной визуализации.

Итоги

В этом уроке мы познакомились с одним из важнейших инструментов Apache Superset — фильтрацией данных.

Мы разобрались в различиях между локальными фильтрами и Dashboard Filters, научились использовать временные диапазоны и увидели, как фильтры превращают обычный Dashboard в интерактивную аналитическую систему.

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

В следующем уроке мы сделаем Dashboard еще более интерактивным и разберем механизмы Cross-filtering и Drill-down, которые позволяют исследовать данные напрямую через графики и визуализации.

На следующий урок