【问题标题】:Defined expression in SSRS report is displaying #ERRORSSRS 报告中定义的表达式显示#ERROR
【发布时间】:2019-02-14 07:32:30
【问题描述】:

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

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

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

我收到了来自 SSRS 的警告:

[rsRuntimeErrorInExpression] 文本运行“Textbox1471.Paragraphs[0].TextRuns[0]”的值表达式包含错误:输入字符串的格式不正确。

但是运行成功了。

【问题讨论】:

  • 逻辑And 运算符写成And& 运算符是用于连接字符串的运算符,因此 Fields!Activity_Month.Value = 1 & Fields!Type.Value = "PIF" 很可能会导致类似 "TrueFalse" 的结果,它不能被评估为布尔表达式。
  • 感谢您的快速回复。我会试试的。感谢您的帮助。
  • 当我将 & 更改为 "AND" 时,我从 SSRS 收到此警告:[rsRuntimeErrorInExpression] textrun 'Textbox1471.Paragraphs[0].TextRuns[0]' 的值表达式包含错误: 输入字符串的格式不正确。但它运行成功。谢谢。

标签: sql-server reporting-services expression


【解决方案1】:

从 cmets 和编辑历史来看,您似乎使用了用于连接字符串的 & 标记,而不是 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:

【讨论】:

  • @Melinda 如果它解决了问题。为什么不接受它
猜你喜欢
  • 1970-01-01
  • 2015-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 2010-10-27
相关资源
最近更新 更多