SSAS TimeSpan в агрегации - PullRequest
       17

SSAS TimeSpan в агрегации

0 голосов
/ 14 июля 2011

У меня есть временной интервал в хранилище данных, представляющий время, потраченное пользователем на выполнение задачи (не измерение времени, а мера). В SQL я установил это как datetime. Когда это извлекается в SSAS, оно преобразуется в тип даты, и его нельзя использовать в агрегации мер куба. Нужно ли преобразовывать временной интервал в целое число (в секундах) или есть лучший способ сделать это?

EDIT:

Я изменил тип данных в SQL на time (7), и он превратился в SSAS как WChar, который не суммируется.

1 Ответ

1 голос
/ 21 июля 2011

Я решил это так:

  • В SSIS я преобразовал временной интервал в истекшие секунды и сохранил его как целое число
  • в SSAS я рассматривал эту меру как SUM, называемую «Сумма продолжительности в секундах», но скрыл ее
  • в SSAS я произвел расчет под названием «Сумма потраченного времени» со следующим выражением:

iif ([Показатели]. [Сумма продолжительности в секундах] = 0, ноль, Формат (Int ([Меры]. [Сумма продолжительности в секундах] / 86400), «0:») +
Формат( TimeSerial (0, 0, [Показатели]. [Сумма продолжительности в секундах] - (Int ([Меры]. [Сумма продолжительности в секундах] / 86400) * 86400)), "ЧЧ: мм: сс" ) )

...