【问题标题】:SSRS background color expression based by date value基于日期值的 SSRS 背景颜色表达式
【发布时间】:2016-08-05 13:02:52
【问题描述】:

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

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

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

【问题讨论】:

  • 在您的表达中,我认为“72”是错误的,请尝试将 72 视为整数。

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


【解决方案1】:

试试:

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

多个条件最好使用 Switch。

如果这有帮助,请告诉我。

【讨论】:

  • 更好,现在至少我看到了橙色,但由于某种原因,我在距离截止日期超过 72 小时的字段上看到了橙色。
  • 72hrs+ 行应为白色,72hrs - 行应为橙色,任何超过到期日的应为红色。
  • @ItalianStallion4215,试试更新后的表达式。我改变了条件的顺序,所以先评估 now-date date。
  • 还是不行,我只收到红色和橙色,没有白色。这是我遇到的问题的一部分。
  • @ItalianStallion4215,白色的条件是什么?请注意,当任何其他条件未评估为 True 时,表达式将返回白色。该表达式表示 if now-date 时它会返回白色
【解决方案2】:

一些尝试:

  • 使用开关而不是 iif 以获得更好的读数
  • 在 DateInterval.Hour 中使用“h”
  • 写 72 而不是“72”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多