Как рассчитать разницу во времени между двумя полями DateTime в SSRS

Я делаю отчет, который касается, скажем, Туров. У меня есть один столбец, заполненный полем данных tour_start_time, а другой — тур_end_time. Затем у меня есть столбец под названием «Общее время». Столбец «Общее время» должен указывать мне в формате чч:мм, в чем разница между tour_start_time и tour_end_time. Таким образом, если tour_start_time вернул 5:00, а tour_end_time вернул 5:06, тогда общее время должно быть 0:06. Кажется, я не могу понять это и материал DateDiff. Я прочитал все справочные параметры, которые я не использую. Мне нужны данные в виде таблицы. Я попробовал это выражение: =DateDiff(minute,Fields!tour_start_time,Fields!tour_end_time)

Но это не сработало, как и ни один из вариантов того, что я пробовал. Я знаю, что что-то упустил, так как я новичок в этом, поэтому извините, если это глупый вопрос, но мне нужен кто-то, кто может объяснить это мне или, по крайней мере, дать мне другую функцию, чтобы попробовать.


person Rodney Maspoch    schedule 18.06.2013    source источник


Ответы (1)


Предполагая, что ваши столбцы на самом деле являются типами данных DateTime, ваше выражение DateDiff должно выглядеть следующим образом:

=DateDiff(DateInterval.Minute, Fields!tour_start_time.Value, Fields!tour_end_time.Value)

or

=DateDiff("n", Fields!tour_start_time.Value, Fields!tour_end_time.Value)

VB.NET DateDiff требует параметра DateInterval; вы можете указать член перечислителя (DateInterval.Minute) или его строковое представление (например, "n" для минуты).

Это вернет только целочисленное значение разницы в минутах; похоже, вам нужно изменить это на строку HH:mm. На мой взгляд, самый простой способ сделать это - использовать в отчете некоторый пользовательский код, который принимает это целочисленное значение в качестве параметра и на его основе создает строку. Дайте мне знать, если вам нужна дополнительная информация для этой части.

person Ian Preston    schedule 19.06.2013