Skip to content

Создание отчетов по опросам

У каждого отчета есть идентификатор survey_id, который используется для указания на конкретный отчет в метрике. Ниже приведен пример URL, где число 1 является идентификатором опроса:

account.webim.ru/agent/survey-configs/1

Также в отчете присутствуют формы опроса, идентификатор формы form_id обозначается порядковым номером формы, начиная с 0: 0, 1, 2...

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

Для указания на конкретный опрос:

survey_id == A, где A - идентификатор опроса

Для указания на конкретную форму опроса:

survey_id == A and form_id == B, где A - идентификатор опроса, B - идентификатор формы опроса

Для указания на конкретный вопрос:

survey_id == A and form_id == B and question_id == C, где A - идентификатор опроса, B - идентификатор формы опроса, C - идентификатор вопроса

Важные поля:

  • subjects - оцениваемая сущность, в данный момент оператор или бот, пример настройки для бота: has(subjects, "bot")

  • survey_id - идентификатор опроса

  • form_id - идентификатор формы опроса

  • question_id - идентификатор вопроса в форме

  • type - тип вопроса, например stars, radio или comment

  • question_text - сопроводительный текст вопроса, также может использоваться для указания на конкретный вопрос

  • answer - текст, содержащий оценку (с одним числом), вариант ответа (текст одного из вариантов) или развернутый ответ на вопрос

Пример опроса с добавлением форм

Создание статистики по оценкам

Суть составления метрик по оценкам заключается в формировании выражения, делающего выборку по строкам, содержащим тип stars: type == 'stars'

Метрика, считающая среднюю оценку по всем опросам в системе, будет являться копией стандартной метрики Средняя оценка оператора (опросы). Пример формулы расчета:

if(sum(type == 'stars' ? sign : 0) != 0, round(sum(type == 'stars' ? accurateCastOrDefault(answer, 'UInt8', 0) * sign : 0) / sum(type == 'stars' and isNotNull(accurateCastOrNull(answer, 'UInt8')) ? sign : 0), 2), 0)

Пример создания метрики, считающей среднюю оценку по всем опросам в системе

В метрике, считающей среднюю оценку по конкретному опросу, используется уточнение survey_id == N, где N - идентификатор интересующего опроса. Ниже приведен пример формулы расчета, где N = 1:

if(sum(type == 'stars' and survey_id == 1 ? sign : 0) != 0, round(sum(type == 'stars' and survey_id == 1 ? accurateCastOrDefault(answer, 'UInt8', 0) * sign : 0) / sum(type == 'stars' and survey_id == 1 and isNotNull(accurateCastOrNull(answer, 'UInt8')) ? sign : 0), 2), 0)

Пример создания метрики, считающей среднюю оценку по конкретному опросу

В метрике, считающей среднюю оценку по конкретному вопросу во всей системе, также добавляется уточнение с номером конкретного опроса, формы и вопроса: survey_id == A and form_id == B and question_id == C. Ниже приведен пример формулы расчета, где А = 1, В и С = 0:

if(sum(type == 'stars' and survey_id == 1 and form_id == 0 and question_id == 0 ? sign : 0) != 0, round(sum(type == 'stars' and survey_id == 1 and form_id == 0 and question_id == 0 ? accurateCastOrDefault(answer, 'UInt8', 0) * sign : 0) / sum(type == 'stars' and survey_id == 1 and form_id == 0 and question_id == 0 and isNotNull(accurateCastOrNull(answer, 'UInt8')) ? sign : 0), 2), 0)

Пример создания метрики, считающей среднюю оценку по конкретному вопросу

Описанные выше подходы позволяют считать среднюю, максимальную и минимальную оценку в любых пределах, начиная от одного вопроса, заканчивая всеми вопросами в системе.

Пример конфигурации отчета по опросам, содержащим вопросы типа stars

Пример результат запроса отчета

Создание статистики по вопросам с возможностью выбора варианта ответа

Суть составления метрик по оценкам заключается в формировании выражения, делающего выборку по строкам содержащим тип radio: type == 'radio'

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

sum(if(survey_id == 1 and form_id == 0 and question_id == 2 and type =='radio', sign, 0))

Пример создания метрики, считающей количество ответов для конкретного вопроса

Ниже приведены примеры метрик, считающих количество определенных ответов из вариантов.

Количество ответов "Ответ 1" в вопросе с выбором в опросе 1:

sum(if(survey_id == 1 and form_id == 0 and question_id == 2 and type =='radio' and answer = "Ответ 1", sign, 0))
Метрика, считающая количество ответов "Ответ 1"

Количество ответов "Ответ 2" в вопросе с выбором в опросе 1:

sum(if(survey_id == 1 and form_id == 0 and question_id == 2 and type =='radio' and answer = "Ответ 2", sign, 0))

Метрика, считающая количество ответов "Ответ 2"

N.B.

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

На примерах ниже показана конфигурация подобного отчета и результат запроса:

Конфигурация отчета по опросам, содержащим вопросы типа radio

Результат запроса

Создание статистики по развернутым ответам

Суть составления метрик по оценкам заключается в формировании выражения, делающего выборку по строкам содержащим тип comment type == 'comment'. Ниже приведены примеры подобных метрик.

  1. Количество развернутых ответов в опросах:

    sum(if(type == 'comment', sign, 0))
    

    Пример метрики, считающей количество развернутых ответов на вопросы

  2. Количество развернутых ответов на вопросы содержащих плохие слова, заданные метрикой:

    sum(if(type == 'comment' and multiSearchAny(answer, ['badword1', 'badword2']), sign, 0))
    

    Пример метрики, считающей количество развернутых ответов на вопросы содержащих плохие слова, заданные метрикой

  3. Количество развернутых ответов на вопросы, длина ответов которых превышает 20 символов:

    sum(if(type == 'comment' and length(answer) > 20, sign, 0))
    

    Пример метрики, считающей количество развернутых ответов на вопросы, длина ответов которых превышает 20 символов

На примерах ниже показана конфигурация подобного отчета и результат запроса.

Конфигурация отчета по опросам, содержащим вопросы типа comment

Результат запроса


Пример запроса комплексного отчета

Для создания запроса комплексного отчета будут использоваться все ранее описанные метрики. На примере ниже показан подобный запрос с группировкой по временным интервалам по часам в течение дня:

Пример запроса комплексного отчета


Последнее обновление страницы: 16 февраля 2026 г.