2013-06-18 1 views
3

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

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

ответ

11

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

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

или

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

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^