IIF 日期的 SSRS 表达式因#error 而失败
SSRS expression fails for IIF date with #error
一个存储过程包含在 rdl 类型的报表生成器文件中。存储过程有很多字段。其中一个字段 returns 一个日期(不是日期时间)。报告中的预期结果是仅显示日期,如果未返回日期则为空字段。
仅使用字段值,当日期为空时,结果显示空字段,否则显示带有日期时间值的日期。
使用 IIF 检查 'nothing' 的值,如下所示。
=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))
有解决办法请指教
尝试以下操作:
=IIF(Fields!rlsPromoDate.Value Is Nothing, "", Format(Fields!rlsPromoDate.Value, "dd/MM/yyyy"))
或您实际想要使用的任何日期格式。
一个存储过程包含在 rdl 类型的报表生成器文件中。存储过程有很多字段。其中一个字段 returns 一个日期(不是日期时间)。报告中的预期结果是仅显示日期,如果未返回日期则为空字段。
仅使用字段值,当日期为空时,结果显示空字段,否则显示带有日期时间值的日期。
使用 IIF 检查 'nothing' 的值,如下所示。
=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))
有解决办法请指教
尝试以下操作:
=IIF(Fields!rlsPromoDate.Value Is Nothing, "", Format(Fields!rlsPromoDate.Value, "dd/MM/yyyy"))
或您实际想要使用的任何日期格式。