【问题标题】:Using Today() function in SSRS Background Color Expression在 SSRS 背景颜色表达式中使用 Today() 函数
【发布时间】:2014-07-22 18:44:20
【问题描述】:

我正在尝试创建一些 SSRS 表达式,当满足以下情况时将突出显示行:当日期字段 = 今天...当日期字段 >= 今天到 +120 天...当日期字段= 昨天和之前的所有日子......

这是来自带有以下代码的水晶报表:

if  {usp_ND044R01;1.review_Date} in  AllDatesToYesterday
then crYellow
else
if  {usp_ND044R01;1.review_Date} in  CurrentDate to CurrentDate+ 120
then crYellow
else
crWhite

这就是我所在的地方:

=IIF(Fields!review_Date.Value = Today(), "Yellow", "No Color")
=IIF(Fields!review_Date.Value <= dateadd("d",120,today()), "Yellow", "No Color")
=IIF(Fields!review_Date.Value <= dateadd("d",-1,today()), "Yellow", "No Color")

我总是得到一个错误(今天之后括号下的红色波浪线。例如今天**()**

任何建议都会有所帮助。

谢谢

【问题讨论】:

    标签: reporting-services


    【解决方案1】:

    如果 IIF 语句引用同一行,则需要将它们组合在一起。因此,您可以将行的填充属性设置为:

        =IIF(Fields!ProductDate.Value = Today(), "Yellow", 
         IIF(Fields!ProductDate.Value < Today(), "Green",
         IIF(Fields!ProductDate.Value <= dateadd("d",120,Today()), "Blue", "White")))
    

    首先这将检查该字段是否等于今天。如果是这样,该行将是黄色的。否则,它会检查字段值是否小于今天的日期。在这种情况下,它将是绿色的。如果不是,它将检查该值是否小于今天的日期加上 120 天。如果是,该行将是蓝色的。如果所有这些陈述都是错误的,那么该行的背景将是白色的。

    【讨论】:

    • 今天在括号下有一条红色波浪线之后,第一行仍然给我一个错误。 SSRS 不喜欢分享它是语法还是什么。
    • 当您尝试预览报告时,它会给您什么错误?
    • 本地报表处理过程中发生错误。报告“(报告名称)”的定义无效。 tablix 'table1' 的 backgroundColor 表达式引用了字段 'review_date'。报表项表达式只能引用当前数据集范围内的字段,或者如果在聚合内,则只能引用指定的数据集范围。字段名称中的字母必须使用正确的大小写。 (该字段在当前数据集中)。
    • 此外,该字段的大小写正确,并且在没有表达式的情况下报告运行良好。突出显示的行显然不存在。我在报告和表达式中使用了相同的字段,这让我相信它不是字段,而是表达式。
    • 你的数据集是什么样的?
    【解决方案2】:

    终于用下面的表达式让它工作了: =IIF(Fields!review_Date.Value

    【讨论】:

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