繁体   English   中英

IIF和CDate在SSRS表达式中获得#error?

[英]IIF and CDate getting #error in SSRS expression?

我从Reporting Services中的数据库中获取数据,其中包含日期时间,如下所示:20160511,但在某些情况下它只是0.我需要一个表达式来执行以下操作:如果值为0,则放置字符串“never”,否则将数据放入正确的格式。 我试图在SSRS报告中使用一个表达式,如下所示:

==IIF(Fields!name.Value=0,"never", Cdate(...))

如果数据正确,工作正常,并显示日期,但在字段中,其中0,我收到此错误:#error和一些警告。

如果我只是用这个:

==IIF(Fields!name.Value=0,"never", "something else")

这是真正的分支,它正确地显示了never和其他字符串。 我已经尝试了第一个代码wth是什么日期和其他,但它没有奏效。

我真的很困惑。 有没有人知道修复第一个代码?

您应该能够在CDATE中放入另一个IIF以消除错误:

=IIF(Fields!name.Value = 0,"never", Cdate(IIF(Fields!name.Value=0, "2000-01-01", Fields!Date.Value)) )

将日期转换为varchar格式,您的公式将按预期工作。 您可以使用格式 功能 例如,如果您想要以mm / dd / yyyy输出,那么您的表达式将如下所示,

==IIF(Fields!name.Value=0,"never", Format(Fields!Date.Value,"MM/dd/yyyy"))

我希望这有帮助。 干杯!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM