Разница во времени между двумя полями в построителе отчетов 3.0 SSRS - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть поле 'obs hours', которое вычисляет время в ЧЧ: ММ между StartDateHeader и EndDateHeader, а затем у меня есть поле времени 'вырезать', которое вычисляет время в ЧЧ: ММ между StartDateDept и EndDateDept

Теперь я хочу вычесть поле времени вырезания из поля часов obs

ниже приведено выражение, используемое для поля часов obs, например: общее количество часов obs 46 чч: 59 мм)

=DATEDIFF("h",Fields!StartDateHeader.Value,Fields!EndDateHeader.Value) & ":" & DATEDIFF("n",Fields!StartDateHeader.Value,Fields!EndDateHeader.Value) MOD 60

ниже приведены значениявыражения, используемые для вырезания поля (пример 00 чч: 10 мм)

=DATEDIFF("h",Fields!StartDateDept.Value,Fields!EndDateDept.Value)& ":" & DATEDIFF("n",Fields!StartDateDept.Value,Fields!EndDateDept.Value) MOD 60

Я не хочу преобразовывать их в десятичный формат, я просто хочу, чтобы ответ был в формате чч: мм и мой ответдолжно быть похоже (пример)

         obs hours : 46:59
  carve out time :    0.10
**Total bill hours : 46.49**

Необходимо указать общее количество часов счета, пожалуйста

1 Ответ

0 голосов
/ 29 сентября 2018

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

=DATEDIFF("s", Fields!START_DATE.Value, Fields!END_DATE.Value)

В этом выражении текстового поля будет использоватьсяПоле DIFF в расчете:

=Floor(Fields!DIFF.Value / 3600) &":"& Format(DateAdd("s", Fields!DIFF.Value, "00:00"), "mm:ss")

Вот некоторые примеры данных и результатов:

1

...