减法表达式(报表生成器3.0)



我有两个表达式要填写当前金额和先前金额的列:

当前金额:=IIf(Fields!ACCOUNTING_PERIOD.Value = Parameters!AP.Value, Fields!DEPR.Value, "")

前期金额:=IIf(Fields!ACCOUNTING_PERIOD.Value = Parameters!PRAP.Value, Fields!DEPR.Value, "")

我需要的是通过从当前金额字段中的值中减去先前金额字段的值来完成第三列(称为"Diff")。

我尝试使用以下表达式,从另一个表达式中减去1来获得差异:

=(=IIf(Fields!ACCOUNTING_PERIOD.Value = Parameters!AP.Value, Fields!DEPR.Value, 0)) – (=IIf(Fields!ACCOUNTING_PERIOD.Value = Parameters!PRAP.Value, Fields!DEPR.Value, 0))

然而,我收到以下错误消息:

The Value expression for the textrun ‘Textbox6.Paragraphs[0].TextRuns[0]’ contains an error: [BC30037] Character is not valid.

仅供参考,Textbox6是该表达所在的细胞。如有任何帮助纠正这一表述,我们将不胜感激。谢谢你的帮助。

我认为diff表达式存在两个问题。首先,我会去掉一些等号:

=IIf(Fields!ACCOUNTING_PERIOD.Value = Parameters!AP.Value, Fields!DEPR.Value, 0) – IIf(Fields!ACCOUNTING_PERIOD.Value = Parameters!PRAP.Value, Fields!DEPR.Value, 0)

第二件事是,根据错误消息,您的字段似乎被格式化为字符而不是双字符。因此,在对它们进行减法运算之前,您需要对它们进行转换。您应该已经在sql代码中使用完成了这一操作

CONVERT(Fields!DEPR.Value AS numeric)

希望这能帮助

最新更新