我有2个表达式填写当前金额和先前金额的列:
当前金额:=IIf(Fields!ACCOUNTING_PERIOD.Value = Parameters!AP.Value, Fields!DEPR.Value, "")
先前金额:=IIf(Fields!ACCOUNTING_PERIOD.Value = Parameters!PRAP.Value, Fields!DEPR.Value, "")
我需要的是通过从当前金额字段中的值减去先前金额字段中的值来完成第3列(称为"差异)。
我尝试使用以下表达式从另一个中减去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
是此表达式所在的单元格。任何纠正这个表达的帮助将不胜感激。谢谢你的帮助。
答案 0 :(得分:2)
我认为你的差异表达有两个问题。 首先,我会带走一些相同的标志:
=IIf(Fields!ACCOUNTING_PERIOD.Value = Parameters!AP.Value, Fields!DEPR.Value, 0) – IIf(Fields!ACCOUNTING_PERIOD.Value = Parameters!PRAP.Value, Fields!DEPR.Value, 0)
第二件事是,根据错误消息,您的Fields似乎被格式化为字符而不是双倍。所以你需要在减去它们之前转换它们。您应该已在sql-code中使用以下命令执行此操作:
CONVERT(Fields!DEPR.Value AS numeric)
希望这有帮助