2017-07-27 167 views
0

我正在尝试创建报告,以根据上次检查日期将值更改为红色,黄色和绿色。如果DUE在最后一次检查中,检查是每三年一次,那么我希望电池变红,如果最近一次检查在过去的两年中,我需要绿色,并且在需要检查的一年中检查,我需要黄色。 这是我没有工作:)在SSRS中创建报告

=SWITCH(Fields!Inspection_x0020_Expires0.Value = "DUE","Red"), 
(Fields!Last_Inspection.Value = "d" < 730,"Yellow") 
(Fields!Last_Inspection.Value = "d" > 730,"Green") 

感谢您抽出宝贵时间来帮助我。

+1

你应该编辑你的问题。它看起来像是你的括号有误,但这可能是一个发布错误(你在你的发布表达式中仍然有“输入代码”) – tomdemaine

+0

谢谢,这是我在这个网站上的第一篇文章,它是由堆栈溢出创建的,将会更加关注。 – RCapps

+0

我试过了,= DateDiff(DateInterval.Day,Fields!Last_Inspection.Value,Today> 730“d”= RED)。它没有效果 – RCapps

回答

0

使用DateDiff函数来比较上次检查日期为今天。

DateDiff(DateInterval.Day, Fields!Last_Inspection.Value, Today) < 730 
+1

谢谢bushel, – RCapps

+1

DateDiff(DateInterval.Day,Fields!Last_Inspection.Value,今天)<730,“绿色”? – RCapps

0

这里是我终于实现了,我加了命名Textbox6并用则DateDiff =DateDiff("d", Fields!Inspection_x0020_Expires0.Value, Today())计算天数列得到的天数,然后我用值来创建我的背景,文本框的颜色 =Switch (Not(isNothing(Fields!Last_Inspection.Value)) and ReportItems!Textbox6.Value <= 729, "Green", ReportItems!Textbox6.Value >= 730 and ReportItems!Textbox6.Value <=1094 , "Yellow", isNothing(Fields!Last_Inspection.Value) or ReportItems!Textbox6.Value>1094, "Red")