Как суммировать показатель времени в Cognos Analytics 11.1 - PullRequest
0 голосов
/ 15 февраля 2019

Я не могу суммировать время телефонных звонков, которые хранятся в таблице фактов SQL

У меня есть таблица времени телефонных звонков в SQL по лицам, которые используются в модуле данных Cognos Analytics.

Я хотел бы использовать эти данные в кросс-таблице и сообщать общее время вызова в формате ЧЧ: ММ: СС для каждого человека.

В столбце SQL форматируется время (0), когда я пытаюсьВ общей сложности Cognos выдает ошибку [MSR-VRF-1202. Столбец «Длина вызова» имеет тип данных «время» и не может быть агрегирован]. Ошибка.

Как правильно отображать общее количествоof Call Times.

ОБНОВЛЕНИЕ

Мне удалось преодолеть половину проблемы с помощью ряда вычислений запросов в Cognos Anaytics.Я обновил таблицу фактов SQL, добавив новый показатель времени в секундах, а затем использовал приведенные ниже элементы запроса.

ЧЧ как ЭТАЖ (ВСЕГО ([CALLTIMEINSECONDS]) / 3600)

ММ КАК ЭТАЖ (([CALLTIMEINSECONDS] - [ЧЧ] * 3600) / 60)

ССкак [CALLTIMEINSECONDS] - ([HH] * 3600) - ([MM] * 60)

HH1 как IF ([HH] <10) THEN ('0' + CAST ([HH], VARCHAR (4))) ELSE (CAST ([HH], VARCHAR (4))) </p>

MM1 как IF (MM <10), затем ('0' + CAST (MM, VARCHAR (2))) ELSE (CAST (MM, VARCHAR (2))) </p>

SS1 как IF (SS <10) THEN ('0' + CAST (SS, VARCHAR (2))) ELSE (CAST (SS, VARCHAR (2)))) </p>

ВСЕ ВРЕМЯ как [HH1] + ':' + [MM1] + ':' + [SS1]

Это работает в отдельных строках кросс-таблиц, но не суммирует и неработать на любых графиках.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Полагаю,

  • вы будете использовать термины время и продолжительность как синоним.
  • вы используете MS SQL Server.

Настройтесоответственно, окончательное решение.

Мое решение в SQL:

format(sum(DATEDIFF(second, TIMEFROMPARTS(0,0,0,0,0), [CallDuration])) / 3600, '0#') + ':' + 
format(sum(DATEDIFF(second, TIMEFROMPARTS(0,0,0,0,0), [CallDuration])) / 60, '0#') + ':' + 
format(sum(DATEDIFF(second, TIMEFROMPARTS(0,0,0,0,0), [CallDuratoin])) % 60, '0#')

Решение на основе Cognos может включать несколько запросов.Вот основные части:

  • Преобразование времени в числа.
  • Суммирование чисел.
  • Преобразование суммированных чисел во времена (или части времени - часы), минуты, секунды).
  • Форматировать вывод.

Если вы рассчитываете части по отдельности, форматирование можно выполнить на странице, а не запросить Cognos как 5 текстовых элементов,некоторые с типом источника из текста и некоторые с типом источника из выражением отчета или значение элемента данных ,Другими словами, 3 вычисления запроса и 2 текстовых элемента.

<hours>:<minutes>:<seconds>
0 голосов
/ 16 февраля 2019

Почему два человека нашли время, чтобы прочитать и проголосовать за подлинный запрос о помощи?Я думал, что это место для обмена знаниями и опытом.Понятно, что этим людям нужно больше жить, жить или умирать.Извините, я не могу помочь, но, надеюсь, кто-то еще ?

...