Datetime SSRS报告服务#使用负数添加日期时间时出错

Datetime SSRS报告服务#使用负数添加日期时间时出错,datetime,reporting-services,Datetime,Reporting Services,我有一个表达方式如下: =IIF(IsNothing(Parameters!fromCreatedDateUtc.Value),"", Format(Dateadd(DateInterval.Minute, Parameters!dtOffset.Value, Parameters!fromCreatedDateUtc.Value), "MM/dd/yyyy HH:mm")) 有条件: Parameters!fromCreatedDateUtc.Value = null Parameters!

我有一个表达方式如下:

=IIF(IsNothing(Parameters!fromCreatedDateUtc.Value),"",
Format(Dateadd(DateInterval.Minute, Parameters!dtOffset.Value, Parameters!fromCreatedDateUtc.Value), "MM/dd/yyyy HH:mm"))
有条件:

Parameters!fromCreatedDateUtc.Value = null
Parameters!dtOffset.Value = -300
dtoffset
值为负值时,它总是显示“#ERROR”


请在这方面帮助我。

如果报告单元格显示#错误,请尝试以下操作。首先尝试获取异常详细信息

选项1

有时,呈现报告单元格中的某些值显示为#Error。这些是运行时SSRS错误。我不确定有关这些错误的详细信息是否显示在VS report viewer中。但获取异常详细信息的另一种方法是在有运行时错误的单元格表达式周围放置try-catch块。在catch块中,可以打印异常详细信息

这些错误也将以以下格式显示在生成>输出窗口中

[rsRuntimeErrorInExpression]textrun“xxx.段落[0].TextRuns[0]”的值表达式包含错误:输入字符串的格式不正确

[rsRuntimeErrorInExpression]textrun“textbox8.段落[0].TextRuns[0]”的值表达式包含错误:输入字符串的格式不正确

预览完成--0个错误,2个警告

选项2

在try-catch块中包装SSRS表达式并打印异常详细信息。您也可以使用自定义函数来执行此操作。查看以下文章了解详细信息


您好,murtazat,我可以看到报告下面的错误消息。它说:“加上或减去的值会导致一个不可表示的日期时间”,所以我猜是因为我减去了空值。但我让IIF来处理这件事。但它仍然不工作。在这种情况下,首先打印参数的普通值!dtOffset.值和参数!从CreateDDateutc.Value报告单元格,查看它们是否无效。除了空检查之外,还添加空/空字符串检查。一旦您确信,所有的值都是有效的,然后再进行日期操作。我建议您可以在自定义函数(报表属性>代码)中执行此操作。这比编写一个冗长的RDL表达式要好。关于不可表示的日期问题,请参见此链接。我输入了以下代码:
=IIF(IsNothing(Parameters!FromCreatedBateutc.Value)和IsNothing(Parameters!ThruCreatedBateutc.Value),“”,格式(Dateadd(DateInterval.Minute,Parameters!dtOffset.Value),IIF(IsNothing(Parameters!FromCreatedBateutc.Value),Now(),Parameters!FromCreatedBateutc.Value)),“MM/dd/yyyy HH:MM”)
它也可以工作。请注意,对
IIF()
的正确和错误语句都进行了评估,因此这可能也是另一种查看方法。