Перейти к основному содержимому

Исследование данных в Liteset

В этом туториале мы познакомимся с ключевыми концепциями Liteset на примере реального датасета — перелётов сотрудников британской организации в 2011 году. По каждому перелёту известно:

  • Подразделение путешественника. Для целей туториала подразделения переименованы в Orange, Yellow и Purple.
  • Стоимость билета.
  • Класс обслуживания (Economy, Premium Economy, Business, First Class).
  • Тип билета (туда / туда-обратно).
  • Дата перелёта.
  • Информация о точке отправления и прилёта.
  • Расстояние между ними в км.

Включение загрузки данных

Возможно, вам нужно включить функцию загрузки CSV/Excel в БД. Ниже описано, как это сделать для базы examples.

В верхнем меню выберите Settings ‣ Data ‣ Database Connections. Найдите БД examples и нажмите Edit.

В открывшемся модальном окне переключитесь на вкладку Advanced, откройте секцию Security и поставьте галочку Allow file uploads to database. Нажмите Finish.

Загрузка CSV-данных

Скачайте датасет с GitHub. В верхнем меню выберите Settings ‣ Data ‣ Database Connections, далее Upload file to database ‣ Upload CSV.

Выберите CSV с компьютера, укажите Database и Schema, в Table Name введите tutorial_flights.

Введите Travel Date в поле File settings ‣ Columns to be parsed as dates.

Оставьте остальные настройки по умолчанию и нажмите Upload внизу страницы.

Визуализация-таблица

Теперь tutorial_flights должен появиться в Datasets. Кликните по нему — откроется Explore этого датасета.

В этой секции мы создадим таблицу с количеством перелётов и стоимостью по классам.

По умолчанию Liteset показывает данные только за последнюю неделю. Нам нужно увидеть весь датасет — кликните в Time ‣ Time Range и поставьте Range Type в No Filter.

Нажмите Apply.

Зададим строки таблицы через Group by. Так как нас интересуют классы — выбираем Travel Class.

В Metrics добавляем:

  • COUNT(*) — число строк (количество перелётов в каждом классе).
  • SUM(Cost) — сумма стоимости по классам.

Нажимаем Run Query и видим таблицу.

Чтобы сохранить визуализацию, кликните Save в левом верхнем углу. В модальном окне:

  • Выберите Save as, имя — Tutorial Table (потом можно найти через Charts в верхнем меню).
  • Выберите Add To Dashboard и введите Tutorial Dashboard. Нажмите Save & Go To Dashboard.

Основы дашборда

Дальше — интерфейс дашборда. Если вы прошли предыдущую секцию, дашборд уже открыт. Иначе зайдите в Dashboards в верхнем меню и выберите Tutorial dashboard.

На дашборде должна быть таблица из предыдущей секции. Нажмите Edit dashboard, наведите курсор на таблицу. Нижний правый угол позволяет менять размер drag-and-drop'ом.

Сохраните изменения через Save changes в правом верхнем углу.

Сводная таблица (Pivot Table)

Расширим анализ более сложной визуализацией — Pivot Table. В итоге получим таблицу с тратами на перелёты по месяцам (первые шесть месяцев), по подразделению и по классу.

Создаём новый чарт через + ‣ Chart в правом верхнем. Снова выбираем tutorial_flights, кликаем по типу визуализации, выбираем Pivot Table (можно искать в строке поиска), нажимаем Create New Chart.

В секции Time оставляем Travel Date. В Time Grain выбираем month (день — слишком гранулярно). Time Range — первые шесть месяцев 2011 (через Custom: 1 января 2011 — 30 июня 2011).

В Query удаляем дефолтный COUNT(*) и добавляем Cost с агрегатом SUM (по умолчанию). Liteset показывает тип метрики иконкой слева (ABC — строка, # — число, часы — время и т. д.).

В Group by выбираем Time — будут использоваться Time Column и Time Grain из секции Time.

В Columns сначала Department, потом Travel Class. Run Query!

Видим месяцы в строках, Department и Travel Class — в столбцах. Опубликуйте этот чарт в Tutorial Dashboard.

Линейный график

Создадим линейный график для среднего по месяцам по всему датасету.

В Time оставляем Travel Date и month, но Time Range — No filter (нужен весь датасет).

В Metrics убираем COUNT(*) и добавляем AVG(Cost).

Run Query.

Видно, что средняя стоимость растёт в декабре. Но смешивать билеты в одну сторону и обратные — может, не лучшая идея; покажем их разными линиями.

Выберите Ticket Single or Return в Group by и Run Query. Видно, что односторонние билеты в среднем дешевле, а декабрьский всплеск создаётся обратными билетами.

Кастомизируем дальше — переключитесь на вкладку Customize. Поменяйте Color Scheme, отключите range filter (Show Range Filter → No), добавьте подписи через X Axis Label и Y Axis Label.

Опубликуйте чарт в Tutorial Dashboard.

Markdown

Добавим текст на дашборд. Если ещё не там — в верхнем меню Dashboards → Tutorial dashboard. Edit dashboard.

В панели Insert components перетащите Markdown box на дашборд. Синие линии показывают, куда он встанет.

Чтобы редактировать текст — кликните по блоку. Можно вводить markdown (шпаргалка). Между Edit и Preview переключение через меню сверху блока.

Чтобы выйти — кликните в любое другое место. Сохраните Save changes.

Публикация дашборда

Если вы прошли все шаги, у вас должен быть готовый дашборд. Перестроить элементы — Edit dashboard + drag-and-drop.

Чтобы открыть дашборд другим пользователям — слева вверху рядом с заголовком вместо Draft нажмите Published. Звёздочка — добавить в избранное.

Аннотации

Аннотации добавляют дополнительный контекст к чарту. В этой секции мы добавим аннотацию к Tutorial Line Chart — даты, когда часть рейсов отменили британские авиавласти из-за извержения вулкана Гримсвётн в Исландии (23–25 мая 2011).

Сначала создадим слой аннотаций — Manage ‣ Annotation Layers, новый через зелёный плюс. Имя — Volcanic Eruptions, save. Этот слой можно использовать для нескольких аннотаций.

Теперь сама аннотация — Manage ‣ Annotations, зелёный плюс. Слой Volcanic Eruptions, краткое описание Grímsvötn, даты (23–25 мая 2011), save.

Откройте Tutorial Line Chart (Charts → выбираем чарт). В секции Annotations and Layers — Add Annotation Layer. Параметры:

  • Name — Volcanic Eruptions
  • Annotation Layer Type — Event
  • Annotation Source — Superset annotation
  • Annotation Layer — Volcanic Eruptions

Apply — увидите аннотацию на графике.

Внешний вид аннотации настраивается в Display configuration. OK, Save (по умолчанию overwrite — аннотация сохранится в чарте и появится в Tutorial Dashboard).

Advanced Analytics

В этой секции — про Advanced Analytics: дополнительные трансформации данных.

Базовый чарт

Сначала создадим базовый чарт, к которому будем применять разные Advanced Analytics. Новый чарт на tutorial_flights, тип Line Chart. Time Range — 1–31 октября 2011.

В Query меняем Metrics на сумму Cost. Run Query — видим суточные траты по дням октября.

Сохраняем как Tutorial Advanced Analytics Base, добавляем в Tutorial Dashboard.

Скользящее среднее (Rolling Mean)

В данных большая дисперсия, тренд незаметен. Покажем скользящее среднее. В подсекции Moving Average в Advanced Analytics: Rolling = mean, Periods = 7, Min Periods = 7. Период — это длина окна в Time Grain'ах. Time Grain = день, значит окно — 7 дней: 7 октября 2011 значение будет средним за первые 7 дней. Min Periods = 7 гарантирует, что среднее всегда считается по 7 дням — без «разогревочного» периода.

Run Query — данные стали глаже, серия начинается позже из-за исключения ramp-up.

Сохраните как Tutorial Rolling Mean в Tutorial Dashboard.

Сравнение во времени (Time Comparison)

Сравним значения временного ряда со значениями неделю назад. Откройте Tutorial Advanced Analytics Base (Charts → выбираем чарт; либо в Tutorial Dashboard через Explore chart).

В подсекции Time Comparison Advanced Analytics в Time Shift введите «minus 1 week» (поле принимает естественный язык). Run Query — появилась дополнительная серия с теми же значениями, сдвинутыми на неделю назад.

Поменяйте Calculation type на Absolute difference, Run Query. Теперь одна серия — разность между двумя предыдущими.

Сохраните как Tutorial Time Comparison в Tutorial Dashboard.

Ресэмплинг данных

Перейдём с дневных данных на недельные. Откройте Tutorial Advanced Analytics Base.

В подсекции Python Functions Advanced Analytics: Rule = 7D (7 дней), Method = median. Run Query.

Теперь точка раз в 7 дней — медиана за окно. Подробнее про методы — в документации Pandas.

Сохраните как Tutorial Resample в Tutorial Dashboard. Откройте дашборд — четыре чарта рядом, удобно сравнивать.