SSRS报告中的已定义表达式正在显示#ERROR

时间:2019-02-13 22:47:42

标签: sql-server reporting-services expression

我在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]”的值表达式包含错误:输入字符串的格式不正确。

但它运行成功。

1 个答案:

答案 0 :(得分:1)

从注释和编辑历史记录来看,您似乎使用了&标记,该标记用于连接字符串而不是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,则可能会引发异常,因此您必须检查field是否包含null: