# Свой график в Superset **Чему учит:** увидеть, как собственный результат из хранилища становится отчетом в BI. ## Сначала прочитать - [«Немного Superset»](../handbook/superset.md); - [задание 3: `dm.session_overview`](1-3-session-overview.md). ## Роль графика В задании 3 вы собрали витрину `dm.session_overview_v`. Теперь покажите, с каких устройств чаще уходят после первой страницы. Постройте столбиковый график доли отказов по `device_category` за весь период витрины. Измерение одно — `device_category`, метрика тоже одна. ## Что сделать Заведите физический датасет в подключении к `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#стендовые-объекты-и-ваши). ## Как проверить себя График проверяется глазами, поэтому задачи для него в `homework_check` нет. В 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; - [ ] стендовые объекты не изменены, дашборд не создан.