Зачем: начинающим ученикам трудно читать главы без пояснений терминов и ожидаемого результата примеров. Что: уточнены заголовки и объяснения в пяти главах и вводной, добавлена сверка графика с SQL, обновлены ссылки из заданий и документации генератора. Проверка: SQL и команды сохранены, локальные ссылки проверены; git diff --check пройден. Ревью смысла Sol 6.1 high замечаний не выявило, новые пояснения дополнительно сверены с кодом и настройками.
95 lines
5.6 KiB
Markdown
95 lines
5.6 KiB
Markdown
# Свой график в Superset
|
||
|
||
В этой работе вы построите график по своей витрине и проверите числа
|
||
на нем SQL-запросом.
|
||
|
||
## Подготовка
|
||
|
||
- [«Отчеты в Superset»](../handbook/superset.md);
|
||
- [задание 3: `dm.session_overview`](1-3-session-overview.md).
|
||
|
||
## График отказов по устройствам
|
||
|
||
В задании 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](../architecture/superset.md#дерево-импорта).
|
||
|
||
Не используйте вкладку «Custom SQL» конструктора графика. Созданная там
|
||
метрика доступна только этому графику, а нужна метрика датасета.
|
||
|
||
Создайте столбиковый график с метрикой «Доля отказов». В поле «X-axis»
|
||
укажите «Категория устройства», а «Dimensions» не заполняйте. Дашборд
|
||
создавать не нужно: сохраненного графика достаточно.
|
||
|
||
Для этого задания оставьте период «No filter»: график и проверочный запрос
|
||
ниже считают долю отказов за весь период витрины. Относительный период,
|
||
например «Last week», может дать пустой график: модельный календарь стенда
|
||
отстает от настоящего. Последнюю дату витрины посмотрите в SQL Lab:
|
||
|
||
```sql
|
||
SELECT max(report_date)
|
||
FROM dm.session_overview_v;
|
||
```
|
||
|
||
Стендовые объекты не меняйте. Что переживает `make up`, а что стирает
|
||
`make clean`, описано в главе [«Отчеты в Superset»](../handbook/superset.md#готовые-и-собственные-отчеты).
|
||
|
||
## Проверка результата
|
||
|
||
Автоматической проверки этого задания нет. Сверьте числа на графике
|
||
с результатом запроса в SQL Lab:
|
||
|
||
```sql
|
||
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;
|
||
- [ ] вы сохранили график отдельно, без создания дашборда и изменения
|
||
стендовых объектов.
|