2016-08-10 4 views
0

Я пытаюсь установить свои результаты для выражения в SSRS, чтобы вернуть 0, если датичные результаты отрицательны. мое выражение:DateDiff negative results to 0 in SSRS

= DateDiff (! DateInterval.Minute, Поля Check_In_Time.Value, Поля Дата ___ Time.value)

и попробовал:

= Макс (0, (DateDiff (DateInterval.Minute, Fields! Check_In_Time.Value, Fields! Date ___ Time.value))) - это одна ошибка и не запускается

, но некоторые результаты отрицательные, я хочу, чтобы он возвращал 0, если он отрицательный. Может ли кто-нибудь помочь?

ответ

1

К сожалению, в SSRS нет никакой функции.

Вы бы просто нужно использовать IIF, чтобы проверить его и использовать если Date_Time было до Check_In_Time.

=IIF(Check_In_Time > Date_Time, 0, DateDiff(DateInterval.Minute, Fields!Check_In_Time.Value, Fields!Date___Time.value)) 
+0

Это сработало! спасибо – Pmanivong

2

Это на самом деле работает для меня:!

= IIF (DateDiff (DateInterval.Minute, Поля Check_In_Time.Value, Поля Дата ___ Time.Value) < = 0, ничего, DateDiff (DateInterval.Minute, Fields! Check_In_Time.Value, Fields! Date ___ Time.Value))

+0

этот метод действительно работает, но @HannoverFist предоставляет немного более простой метод, который приведет к немного большей удобочитаемости. Если Check_In_Time является> Date_time, тогда результат DateDiff всегда будет отрицательным – Matt