基于日期值

时间:2016-08-05 13:02:52

标签: date reporting-services background-color ssrs-2008-r2 ssrs-expression

这是我的问题,我在SSRS中创建了一个表格,其中包含截止日期字段(RegulatoryDateDecisionDue)。根据该日期字段,我需要更改行的颜色,如果今天的日期超过截止日期,则字段应为红色。如果从今天的截止日期到截止日期之间的小时数小于或等于72小时(基本上就像倒计时直到它到期),行应为橙色,否则行应为白色。

这是我写的表达式,但是我遇到了问题,我遇到了错误,并且知道我做错了什么,或者我应该以不同的方式做这件事?任何和所有帮助表示赞赏。

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

2 个答案:

答案 0 :(得分:1)

尝试:

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

最好在多种情况下使用Switch。

如果有帮助,请告诉我。

答案 1 :(得分:0)

有些事情要尝试:

  • 使用开关而不是iif来获得更好的阅读
  • 使用&#34; h&#34;发布了DateInterval.Hour
  • 写72而不是&#34; 72&#34;