- Зачем: начинающим трудно читать задания из-за необъясненных терминов и неестественных формулировок. - Что: переработаны вводная и 21 задание, названы темы разделов, объяснены термины и сокращены повторы; согласованы правила учебного текста и ссылки. - Проверка: сохранены 25 блоков SQL и команд и таблицы состава колонок; проверены 153 локальные ссылки и 32 входящие ссылки на разделы; git diff --check прошел.
5.6 KiB
Свой график в Superset
В этой работе вы построите график по своей витрине и проверите числа на нем SQL-запросом.
Подготовка
График отказов по устройствам
В задании 3 первой ступени вы собрали витрину dm.session_overview_v.
Теперь покажите, с каких устройств чаще уходят после единственного события.
Такие визиты в стенде считаются отказами. Постройте столбиковый график доли
отказов по device_category за весь период витрины. Каждый столбик должен
показывать долю для одной категории устройств.
Настройка графика
Добавьте представление как источник данных для графиков. В Superset такой
источник называется физическим датасетом. Выберите подключение ClickHouse,
схему dm и объект session_overview_v. Задайте русские подписи хотя бы двум
колонкам:
device_category— «Категория устройства»;report_date— «Дата отчета».
В редакторе датасета, на вкладке «Metrics», создайте метрику:
| Поле | Значение |
|---|---|
Metric Key |
bounce_share — ключ метрики и ее SQL-псевдоним |
Label |
«Доля отказов» |
SQL expression |
SUM(bounce_sessions) / SUM(sessions) |
D3 format |
.1% |
Выражение делит общее число отказов на общее число сессий. Усреднение дневных долей может дать неверный результат: число сессий в разные дни различается. Сохраните метрику в датасете, чтобы все будущие графики использовали одно выражение, подпись и формат. Это правило описано в справочнике Superset.
Не используйте вкладку «Custom SQL» конструктора графика. Созданная там метрика доступна только этому графику, а нужна метрика датасета.
Создайте столбиковый график с метрикой «Доля отказов». В поле «X-axis» укажите «Категория устройства», а «Dimensions» не заполняйте. Дашборд создавать не нужно: сохраненного графика достаточно.
Для этого задания оставьте период «No filter»: график и проверочный запрос ниже считают долю отказов за весь период витрины. Относительный период, например «Last week», может дать пустой график: модельный календарь стенда отстает от настоящего. Последнюю дату витрины посмотрите в SQL Lab:
SELECT max(report_date)
FROM dm.session_overview_v;
Стендовые объекты не меняйте. Что переживает make up, а что стирает
make clean, описано в главе «Немного Superset».
Проверка результата
Автоматической проверки этого задания нет. Сверьте числа на графике с результатом запроса в SQL Lab:
SELECT device_category,
round(100 * sum(bounce_sessions) / sum(sessions), 1) AS bounce_pct
FROM dm.session_overview_v
GROUP BY device_category
ORDER BY device_category;
Сверьте с графиком значение для каждой категории. В разделе «Customize»
включите «Show Value» или наведите указатель на столбик. Запрос возвращает
проценты с одним знаком, как формат .1%, поэтому числа должны совпасть
один в один.
Результат работы
- у вас есть физический датасет
dm.session_overview_vв подключенииClickHouse; - в датасете есть метрика «Доля отказов» с выражением
SUM(bounce_sessions) / SUM(sessions)и форматом.1%; - колонки
device_categoryиreport_dateподписаны «Категория устройства» и «Дата отчета»; - сохраненный столбиковый график показывает долю отказов по категориям устройств за весь период витрины;
- числа на графике совпадают с результатом запроса из SQL Lab;
- вы сохранили график отдельно, без создания дашборда и изменения стендовых объектов.