Перейти к содержанию

Редактор отчетов

Редактор позволяет создавать отчеты, добавлять в них поля и управлять отображением этого отчета.

В Конструкторе аналитики перейдите в раздел Отчёты и нажмите Создать отчёт.

Редактор отчетов

В меню редактирования отобразятся следующие поля/пункты для заполнения:

  • Название - название отчёта, которое будет отражаться в статистике.

  • Описание - краткое содержание, какие данные показывает отчёт. Видно только в меню редактирования.

  • Группировать по - выбор группировки данных отчёта из списка.

Группировки отчетов

Группировки нужно рассматривать в контексте SQL запросов. Под собой они подразумевают добавление к выражениям метрик конструкции GROUP BY, из-за чего происходит группировка результатов по сущностям.

Пример группировки отчетов

Добавление группировок в отчет происходит путем добавления нажатия на "+" в секции "Группировать по". Всего можно добавить до 3 группировок включительно.

То есть при SQL запросе это выглядело бы так: SELECT metric_1, metric_2 FROM source GROUP BY aggr1, aggr2, aggr3;. Более подробно можно ознакомиться в документации.

После добавления группировок в отчет для каждого поля необходимо указать, по какой колонке источника будет происходить группировка. Например, если группируем по операторам и для метрики использован источник "Записи о состояниях взаимодействий в процессе существования", то можно выбрать как оператора, который привязан к состоянию, так и оператора, который назначен уже на следующее состояние.

При добавлении нескольких группировок необходимо выбрать колонку для каждой.

Добавление группировок и выбор колонки для них

После сохранения отчета с данной конфигурацией мы можем его запросить. Теперь строки отчета содержат группировку по операторам.

Отчет с добавленной группировкой

Существует несколько видов группировки, но подробнее остановимся только на сложных.

  • Операторы

  • Язык

  • Временные отрезки - группировка, в которой деление происходит на временные отрезки, которые определяются в частном порядке. То есть, если указать, что нужно делить временной период на отрезки длинной в 1 день, то получим группировку по дням (по строке на каждый день в выборке).

    Группировка по временным отрезкам

    Результатом будет:

    Группировка по дням

  • Временные интервалы - группировка при которой происходит округление до какого-то интервала. Например, если группируем по часам в течение дня, то вне зависимости от даты происходит округление до часа, а всё остальное игнорируется. Следовательно, максимум при такой группировке получается 24 строки, по строке на каждый час дня.

    Группировка по временным интервалам

    Результатом будет:

    Группировка по часам в течение дня

  • Отделы

  • Каналы

  • Категории

  • Местоположение

  • Размещение

N.B.

Начиная с версии 10.8 доступна группировка «Размещение», которая использует поле location чата. Группировка появляется для отчётов, в которых используются источники, связанные с чатами (например, thread_*_source).

Если по каким-то причинам результаты какой-либо строки группировки отсутствуют, то такая строка не отображается, исключение - группировка по категориям при выгрузке в формате Excel.

Важно!

Важно заметить, что можно создать отчет без группировок, но метрики всё равно должны содержать агрегатные функции и возвращать единственное значение, другое поведение пока не предусмотрено.

Простые поля отчетов

Рассмотрим создание отчета с несколькими простыми полями. Простые поля - это ссылки на метрики, которые нужно использовать для подсчета поля. Добавление происходит при нажатии на кнопку [1] "+ Обычное поле".

Поля отчета

При добавлении любого поля в отчете (всегда сверху) появляется блок с настройками поля. Данный блок содержит следующие элементы управления:

  • [2] Выбор метрики - это обычный селектор с возможностью поиска метрики из общего набора.
  • [3] Выбор формата вывода данных. В зависимости от метрики может быть необходимо вывести значение как число, проценты, время, дату и т.п., для этого и присутствует данный селектор.

    Выбор формата вывода данных

    Остановимся только на важных форматах вывода данных:

    • Проценты - отображение результата в виде процентов. Значение метрики должно возвращаться в долях единицы, иначе значение может выйти за рамки 100%

    • Проценты от суммы - схожее отображение с процентами, но проценты вычисляются относительно строки "Итого" в колонке, то есть, если значение в клетке 2, а в "Итого" мы имеем 10, то значение будет 2 / 10 * 100% = 20%

    • Операторы / Отделы - если метрика возвращает идентификаторы операторов или отделов, то можно выбрать этот вариант отображения для того чтобы вывести значения не как сырые идентификаторы, а как карточки операторов / отделов соответственно.

  • [4] Вывод суммы - если чекбокс не активен, значение "Итого" для колонки будет отсутствовать, но это никак не повлияет на отображение "Проценты от суммы", значение для этого отображения будет считаться как и раньше. Если в отчете для всех полей выключено отображение суммы, то строка "Итого" отсутствует вовсе.

  • [5] Изменение порядка полей в отчете - с помощью стрелочек можно изменять порядок колонок, порядок интепретируется как сверху-вниз = слева-направо.

Создадим в качестве примера следующий отчет:

Пример отчета

Видим результат в разделе "Статистика":

Конфигурация граничных значений отчетов

Ранее мы уже сталкивались с граничными значениями отчетов, в данной секции мы рассмотрим их конфигурацию.

Настройки граничных значений происходят в блоке "Граничные значения". Для каждого поля значения настраиваются отдельно, количество граничных значений не ограничено, единственное правило - диапазоны значений не должны пересекаться.

Настройка граничных значений

Результат на изображении ниже:

Важно!

Граничные значения не зависят от варианта отображения, поэтому границы нужно устанавливать для сырого значения до преобразования, которое можно просмотреть, если выбрать вариант отображения "Число", то есть, если мы говорим о метрике, возвращающей значение в долях единицы, и выбран вариант отображения "Проценты", то границы тоже нужно указывать в долях единицы. Для метрик, возвращающих строковые значения, граничные значения работать не будут.

Переменные метрик при добавлении в отчет

При добавлении в отчет метрики, в которой используется переменная - скалярное значение, то рядом с граничными значениями появляется новая секция "Переопределение параметров метрик".

Данная секция позволяет изменить стандартное значение переменной метрики конкретно для этого поля, а также защитить это значение от изменений. В таком случае, если в метрике не осталось переменных, для которых можно изменить значение, то при запросе отчета, иконка, открывающая окно изменений переменных, будет отсутствовать вовсе.

Переопределение параметров метрик

Данный функционал позволяет переиспользовать метрику несколько раз, например, это будет полезно для метрики "Оценок N", считающей количество определенных оценок. Можно добавить 5 полей с этой метрикой и в каждом выставить разное значение.

N.B.

Пока что отсутствует функционал изменения имени метрики при добавлении ее в качестве поля в отчет, но в будущем он появится.

Внимание!

Создать отчёт без метрик невозможно, т.е. хотя бы одна метрика должна присутствовать в отчёте самостоятельно, либо же в составе выражения вычисляемого значения.

Вычисляемые поля отчетов

Вычисляемые поля - это особый вид поля, значение которого вычисляется на базе других метрик. Для него прямо в блоке поля нужно указать выражение, которое является уже не SQL выражением, а Python выражением. Это может быть как математическое выражение, так и функция, которая преобразовывает строковое выражение.

Для добавления поля используется отдельная кнопка "+ Вычисляемое поле".

Добавление вычисляемого поля

В вычисляемом выражении расчет производится с помощью переменных. Скалярные переменные и опции конфига уже описаны в секции метрик, но помимо этого присутствует уникальная для этого поля переменная - Метрика.

Следует рассмотреть следующий пример:

Переменная Метрика

Результатом будет:

Разберем подробно как получился такой результат. В выражении вычисляемого поля мы видим формулу M0 + M1, следовательно, происходит сложение двух метрик по следующему принципу:

Сложение двух метрик

Каждая метрика вычисляется с помощью аналитической базы данных, данные хранятся в памяти. Далее посредством Python значения в соответствующих строках (соответствие определяется на основе группировок) складываются/вычитаются. Это зависит от формулы вычисляемого выражения. Если для группы не было значений в одной из метрик, то используется 0.

Данный функционал позволяет писать сложные метрики без использования сложных JOIN'ов таблиц.

Важно отметить, что конфигурация метрик внутри вычисляемого поля полностью соответствует конфигурации метрик в рамках обычного поля.

Рассмотрим вариант создания вычисляемого поля для изменения представления, используя выражение:

f'Значение: {M0 + M1}, больше 10? - {"Да" if M0 + M1 > 10 else "Нет"}'

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

Результатом запросом отчета с таким полем будет:

Как видно на изображении текст изменяется в зависимости от значения поля.

Остальные аспекты полностью аналогичны обычному полю.