0

Вот моя проблема. У меня есть таблица в SSRS, которую я создал, у которой есть поле даты окончания (RegulatoryDateDecisionDue). Основываясь на этом поле даты, мне нужно изменить цвета строк, если сегодняшняя дата закончилась должным образом, поле должно быть красным. Если количество часов меньше или равно 72 часам от сегодняшней даты до установленной даты (в основном как обратный отсчет до тех пор, пока это не будет), строки должны быть оранжевыми, иначе строки должны быть белыми.Исходное выражение цвета фона SSRS на основе значения даты

Вот выражение, которое я написал, но у меня проблема, я получаю ошибку и понимаю, что я делаю неправильно, или если я должен делать это по-другому? Любая помощь приветствуется.

=IIF((now() > Fields!RegulatoryDateDecisionDue.Value), "Red", IIF(((DateDiff(DateInterval.Hour, Fields!RegulatoryDateDecisionDue.Value, Now()) <= "72"), "Orange", "White"))) 
+0

в вашем выражении Я думаю, что «72» неверно, попробуйте вместо 72, который считается целочисленным. –

ответ

1

Try:

=Switch(
DateDiff(DateInterval.Hour, Fields!RegulatoryDateDecisionDue.Value, Now())<=72,"Orange", 
Fields!RegulatoryDateDecisionDue.Value<now(),"Red", 
true,"White" 
) 

лучше использовать переключатель для нескольких условий.

Дайте мне знать, если это поможет.

+0

Лучше, теперь, по крайней мере, я вижу оранжевый, но почему-то я вижу оранжевый на полях, которые находятся на расстоянии более 72 часов от даты. – ItalianStallion4215

+0

72hrs + строки должны быть равны белым, 72 часа - строки должны быть оранжевыми, а все, что было до истечения срока, должно быть красным. – ItalianStallion4215

+0

@ ItalianStallion4215, попробуйте обновленное выражение. Я изменил порядок условий, поэтому текущее условие <= 72 оценивается сначала, а затем> дата. –

0

Некоторые вещи, чтобы попробовать:

  • Используйте переключатель вместо IIF, чтобы иметь лучшее чтение
  • использования "ч" InstEd из DateInterval.Hour
  • написать 72 вместо "72"
Смежные вопросы