首页 > 解决方案 > SSRS 报告中定义的表达式显示#ERROR

问题描述

我已经在我的一个单元格中定义了一个表达式dataset1。我的设计窗口,我必须为每个月的单元格重复,但是当我单击PREVIEWSSRS 中的选项卡时出现#ERROR。

我的想法是如果ActivityMonth value = 1然后Type value = "PIF"在数据列中显示值。

=IIF(Fields!Activity_Month.Value = 1 AND Fields!Type.Value = "PIF", Fields!Data.Value, 0)

我从 SSRS 收到了这个警告:

[rsRuntimeErrorInExpression] textrun 'Textbox1471.Paragraphs[0].TextRuns[0]' 的值表达式包含错误:输入字符串的格式不正确。

但它运行成功。

标签: sql-serverreporting-servicesexpression

解决方案


从评论和编辑历史来看,您似乎使用&了用于连接字符串而不是AND关键字的标记。编辑表达式后 - 对我来说 - 以下表达式看起来很棒:

 =IIF(Fields!Activity_Month.Value = 1 AND Fields!Type.Value = "PIF", Fields!Data.Value, 0)

但我有两点意见:

由于表达式返回的数据类型不同,可能会导致错误(0是整数,Data.Value具有另一种数据类型:

如果Fields!Data.Value是字符串类型,则使用以下表达式:

 =IIF(Fields!Activity_Month.Value = 1 AND Fields!Type.Value = "PIF", Fields!Data.Value, "0")

另一件要提的是,如果 value 包含 null 它可能会抛出异常,因此您必须检查字段是否包含 null:


推荐阅读