Добрый день!

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

Кейс - Пользователь создал 245 обращений, из них с указанной оценкой - 19. "Очень доволен" проставлено в 16-ти обращениях, в двух - "Нейтральный", в одном "Очень недоволен".

В итогах средний балл по этому пользователю равен 3 (Нейтральный), по моим подсчетам, там должно быть мимимум 4 (Доволен). 16*5+2*3+1*1 = 87 (общая сумма балов), далее 87/19 (общее кол-во обращений с оценкой) = 4,578....

Может я что-то неправильно считаю?

Изображение удалено.

Заранее спасибо за помощь

 

Нравится

3 комментария

Коллеги, очень нужна помощь в данном вопросе, может кто-то сталкивался

По логике Ваш подсчет корректный, т.е. если все цифры такие, как Вы приводите, то среднее = 87/19.

Чудес не бывает и, если система выдает 3, значит что-то Вы не учти при подсчете.

Я вижу несколько вариантов.

1. Проверить значения 'Баллов' в справочнике 'Уровень удовлетворенности'. Возможно, было изменено одно или несколько значений в этом поле.

2. Выведите рядом отдельными колонками сумму баллов по уровню удовлетворенности обращений контакта и количество обращений контакта, у которых уровень удовлетворенности не пусто, потом сравните совпадают ли суммы и кол-во с теми, которые привели в данном примере Вы.

Если после описанных Выше действий ошибка не будет найдена, обратитесь тогда в службу поддержки, чтобы специалисты на конкретных примерах посмотрели проблему.

Итог по данной проблеме. Вместе со специалистом из Террасофт посмотрели данный кейс, действительно в списках расчет производится некорректно. Коллеги взяли на более детальный анализ

Показать все комментарии

Здравствуйте.

Подскажите как правильно решить такую задачу:
в отчет типа fastreport выводится информация о названии и дате регистрации инцидентов, сгруппированные по Продажам (поле Продажа не должно быть пустым), с которыми эти инциденты связаны.
При этом получается посчитать кол-во инцидентов по каждой продаже и итоговое кол-во инцидентов по всем продажам. Для этого я использую функцию Count.
Нужно посчитать еще и среднее кол-во инцидентов по этим продажам. Но функция AVG почему-то работает неверно.
У меня в отчете только 1 dataset - Название Инцидента, Дата регистрации, Название Продажи, ID инцидента и ID продажи.

Нравится

3 комментария

Думаю, без дополнительной обработки отображать среднее значение по продажам не получится.

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

1) В бэнде GroupFooter1 отображать текст "Итого:" в одном поле, а количество - в другом.
2) Убрать весь текст из поля в бэнде Footer1.
3) На закладке Code сервиса отчёта объявить 2 переменные: для общего количества инцидентов и общего количества групп (продаж):

var IncidentCount, OpportunityCount: integer;

4) Для объекта Page1 создать обработчик события OnBeforePrint, в котором обнулять эти переменные:

procedure Page1OnBeforePrint(Sender: TfrxComponent);
begin
  IncidentCount := 0;
  OpportunityCount := 0;                                                  
end;

5) Для поля, в котором вычисляется количество инцидентов в продаже (одно из полей бэнда GroupFooter1), создать обработчик события OnAfterPrint, в котором записывать значение поля в переменную IncidentCount, а количество групп (переменную OpportunityCount) увеличивать на 1:

procedure Memo4OnAfterPrint(Sender: TfrxComponent);
begin
  IncidentCount := IncidentCount + Memo4.Value;
  OpportunityCount := OpportunityCount + 1;
end;

6) Для поля из бэнда Footer1 создать обработчик события OnBeforePrint, в котором вычислять среднее значение количества инцидентов по продажам:

procedure Memo5OnBeforePrint(Sender: TfrxComponent);
begin
  Memo5.Text := 'Среднее количество: ' + FloatToStr(IncidentCount / OpportunityCount);
end;

Данная реализация должна решить Вашу задачу.

Спасибо, все так и получилось.
Я таким же способом вывела в отчет и общее кол-во инцидентов по всем продажам :smile:

Подскажите еще какое свойство в Memo отвечает за отражение текста (например названия инцидента) не одной срокой, а по размеру названия в несколько строк, а то названия у меня получились "обрезанные".

Необходимо установить ему свойство WordWrap равным true. И, конечно же, чтобы высоты контрола было достаточно, чтобы в нём помещался весь текст.

Показать все комментарии