Зарегистрируйтесь, чтобы продолжить обучение

Drilldown и интерактивные фильтры Визуализация в Superset

Сегодня поговорим о фильтрах в Apache Superset. Это важная тема, потому что фильтры помогают нам и нашим пользователям работать с данными более эффективно. К этому моменту мы уже умеем создавать подключения к базам, датасеты, графики и дашборды.

В Superset есть три основных типа фильтров:

  1. Фильтры на графиках (для исходных данных)
  2. Интерактивные фильтры на дашбордах (для пользователей)
  3. Drilldown (фильтры с детализацией)

Зачем нам нужны фильтры? Вот основные случаи:

  • Когда нужно проанализировать только часть данных (например, продажи за определенный период)
  • Для очистки данных (убрать некорректные значения)
  • При высокой агрегации, когда надо отбросить ненужные данные

Давайте на практике разберем каждый тип фильтров.

Фильтры на графиках

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

Теперь добавим фильтр по возрасту. Например категории до "35-44" включительно:

Schema

Интерактивные фильтры на дашборде

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

  • Открываем дашборд
  • Нажимаем на иконку воронки
  • Выбираем "Add or Edit Filters"
  • Настраиваем новый фильтр.Выберем числовой и укажем колонку total_revenue и выберем к каким графикам применять

Schema

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

Schema

Drilldown фильтры

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

Выводы

Сегодня мы разобрались с фильтрами в Apache Superset. Они помогают нам и пользователям работать с данными более эффективно. Для графиков лучше использовать постоянные фильтры, если данные всегда нужны в определенном разрезе. Интерактивные фильтры удобны, когда пользователям нужно самим исследовать данные. Drilldown особенно полезен для детального анализа конкретных показателей.

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


Самостоятельная работа

В уроке «Подключение к данным» мы подключили базу flightsdb. В ней содержатся данные о авиаперевозках за два месяца — с 16 июля по 14 сентября 2017 года.

Схема базы данных выглядит так:

Schema

Задание № 1

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

Нажмите сюда, чтобы увидеть подсказку

Чтобы получить необходимые данные, в SQL Lab нужно использовать следующий запрос:

SELECT
  f.flight_no,
  f.departure_airport,
  f.arrival_airport,
  tf.fare_conditions,
  AVG(tf.amount) AS avg_price
FROM
  flights AS f
INNER JOIN
  ticket_flights AS tf
  ON f.flight_id = tf.flight_id
GROUP BY
  f.flight_no,
  f.departure_airport,
  f.arrival_airport,
  tf.fare_conditions;

Далее нужно пройти такие шаги:

  • В меню CREATE CHART выберите Table
  • В пункте QUERY MODE выберите RAW RECORDS
  • В подменю CUSTOMIZE уберите чек-бокс CELL BARS
  • В поле COLUMNS выберите все полученные поля

В итоге получится такой дашборд:

Result1

Задание № 2

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

Добавьте соответствующие фильтры для таблицы. Отфильтруйте данные так, чтобы указывалась средняя цена на билеты бизнес-класса, вылетающие из Ростова-на-Дону (код аэропорта — ROV).

Нажмите сюда, чтобы увидеть подсказку

Чтобы выполнить это задание, нужно:

  • Добавить таблицу в дашборд
  • Добавить фильтры по указанным полям
  • Отфильтровать класс обслуживания Business и аэропорт вылета ROV

Результат будет выглядеть так:

Result2


Дополнительные материалы

  1. Документация Preset по фильтрам
  2. Документация Preset по Drilldown

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff