使用#error,IIF日期的SSRS表达式失败

时间:2015-02-17 17:43:01

标签: date datetime reporting-services conditional-statements ssrs-2008-r2

存储过程包含在rdl类型的报表生成器文件中。存储过程有很多字段。其中一个字段返回日期(不是日期时间)。报告中的期望结果是仅显示日期,如果没有返回日期则显示空字段。

仅使用字段值,当日期为空时,结果显示空字段,否则显示具有日期时间值的日期。

使用IIF检查“无”的值,如下所示。

=IIF(Fields!myDate.Value Is Nothing,"",Fields!myDate.Value)

输出相同。日期可用时显示日期时间值。

尝试使用shortDateString()函数会在日期存在时产生正确的结果,但在不存在日期时会产生#Error。这是声明:

=IIF(Fields!rlsPromoDate.Value Is Nothing, "", 
Fields!rlsPromoDate.Value.ToShortDateString())

尝试了以下版本。没有出现错误,但没有返回日期,但这是“Microsoft.ReportingServices.ReportProcessing.OnDemandReportObjectModel.FieldImpl”。

=IIF(Fields!myDate.Value Is Nothing,"", String.Format("{0:MM/dd/yyyy}", 
Fields!myDate))

请告知是否有解决方案。

1 个答案:

答案 0 :(得分:3)

尝试以下方法:

=IIF(Fields!rlsPromoDate.Value Is Nothing, "", Format(Fields!rlsPromoDate.Value, "dd/MM/yyyy"))

或您实际想要使用的任何日期格式。