Общее количество минут в SSRS - PullRequest
0 голосов
/ 01 ноября 2018

Я создаю отчет в SSRS, который показывает продолжительность телефонных звонков.

В моем скрипте T-SQL я использую:

CONVERT(VARCHAR,DATEADD(second,Call,0),108)AS[Call Duration]

, который работает хорошо и показывает время как 00:03:20, например.

Однако, когда я создаю таблицу в SSRS и пытаюсь суммировать все разные значения времени, он просто говорит #error в отчете. Мне нужен отчет, чтобы можно было добавить эти значения времени, чтобы я мог дать общее количество на оператора коммутатора. Так, например, если сотрудник x сделал три звонка, и все они продлились 3 минуты, мне нужно было бы общее количество, чтобы сказать 00: 09: 00

Знаете ли вы, как я могу отображать общее время, вместо того, чтобы перечислять каждое значение отдельно? Я могу суммировать количество секунд для каждого вызова - например, получить в общей сложности 540 секунд - но нужно показать это как чч: мм: сс

Спасибо

1 Ответ

0 голосов
/ 01 ноября 2018

В отчете выдается ошибка, поскольку вы пытаетесь суммировать значение varchar. Вместо того, чтобы пытаться отформатировать данные в запросе SQL, просто верните значения в необработанном виде в отчет SSRS и позвольте уровню представления отформатировать данные на уровне представления.

Вместо использования dateadd кажется, что длина вашего вызова уже удерживается в вашем столбце Call? Если это так, просто верните этот столбец в свой отчет, либо в виде строк подробностей, которые будут суммироваться, если детали требуются в другом месте в вашем отчете, либо предварительно агрегированы в SQL, поскольку это будет работать лучше.

Затем вы можете отформатировать продолжительность звонка следующим образом:

=format(today().AddSeconds(Fields!Call.Value),"HH:mm:ss")

Если вы не агрегируете секунды вызовов в своем запросе SQL, вам нужно будет сделать это в своем выражении:

=format(today().AddSeconds(sum(Fields!Call.Value)),"HH:mm:ss")

Очевидно, этот метод предполагает, что у вас не будет звонков дольше 24 часов. Если это возможно, вам нужно будет рассчитать часы, минуты и секунды, которые будут объединены.

...