Визуализация в Superset

Теория: Линейный график

Продолжаем изучать темы по визуализации данных с использованием биоинструмента Apache Superset, с которым познакомились на предыдущих уроках. Сегодняшняя задача связана с построением line-чартов (линейных графиков) в этом инструменте.

Подключение к данным

Для начала работы необходимо подключиться к базе данных. Для этого перейдем в настройки (Settings) и найдем раздел Database Connections. В нем выберем PostgreSQL базу данных с необходимыми правами (SELECT, UPDATE, DELETE, INSERT). Допишем параметры подключения: Host, Port, Database name, Username, Password. После подключения к базе данных можно приступать к созданию графиков.

Database

Создание линейного графика

Перейдем в раздел Datasets и выберем подключенную PostgreSQL базу. Выберем схему Public и основную таблицу с продажами. Выберем добавить новый график (Add chart) и выберем тип Line Chart.

Apache Superset предоставляет расширенные возможности по сравнению с Google Sheets:

  • Построение нескольких графиков в различных разрезах
  • Объединение графиков
  • Добавление точек данных
  • Метки данных
  • Процентные показатели
  • Линии тренда
  • Настройка частоты повторений

Для построения графика необходимо выбрать ось X (X-AXIS) и ось Y (METRICS). В качестве оси X выберем дату продажи, а в качестве оси Y - количество проданных товаров. После этого можно сохранить график и посмотреть результат.

Конкретно в Apache SuperSets используется своя терминология. Давайте подробнее посмотрим каждый из терминов.

  • X-axis. Измерение по горизонтали, что будем на нашем графике откладывать внизу.
  • Metrics. Это измерение по вертикали, что будем откладывать по вертикальной оси. Мы можем иметь в сравнении агрегированные данные и их уже с помощью самого суперсета собирать в агрегат так, как нам это нужно.
  • Columns. Это измерения, которые должны быть агрегированы и категоризированы. То есть, это как раз те колонки, которые нужно вывести в сам график.

И есть две дополнительные характеристики, которые используются в практически любом графике или диаграмме. Это Dimensions and Customized.

  • Dimensions это выбор измерений для расщепления грани. Что это значит? Допустим, строили продажи просто по дням, первое измерение наше было день. И с помощью dimensions мы можем добавить сюда еще одно измерение, еще одно поле для группировки. В результате расщепления для каждого продукта свой отдельный график. И агрегат, соответственно, будет как по дате, так и по продукту.
  • Customize это пользовательские настройки, которые управляют цветом графиков, нанесением точек, линиями трендов, метками данных, выстраиванием легенды, присвоением альясов и так далее.

Chart

Работа с SQL Lab

Также Superset предоставляет интерфейс для сложных визуализаций, который называется SQL Lab. В нем можно писать сложные запросы, объединять таблицы, создавать новые датасеты и визуализации.

Перейдем в раздел SQL Lab и создадим новый запрос. Напишем запрос с JOIN таблиц sales, products:

SELECT
  s.sale_date,
  SUM(p.price * s.quantity) AS total_sales
FROM sales s
JOIN products p ON s.product_id = p.product_id
GROUP BY 1
ORDER BY 2;

Затем нажимаем Save dataset и указываем название датасета. В открывшемся окне мы теперь можем построить график для нашей сложной выборки.

Рекомендуемые программы