1
FormatCurrency(
(SUM(iif(IsNothing(Fields!Planned.Value),0,Fields!Planned.Value))-(SUM(iif(IsNothing(Fields!Actuals.Value),
iif(IsNothing(Fields!Forecasts.Value),0,Fields!Forecasts.Value),
iif(Fields!Actuals.Value=0,iif(IsNothing(Fields!Forecasts.Value),
0,
Fields!Forecasts.Value),Fields!Actuals.Value))))),
iif(Parameters!DecimalDigits.Value=1,1,iif(Parameters!DecimalDigits.Value=2,2,0)),0,0,0)
)

这是我的表达式,它返回负值以及如何删除数字前面的这个负号

4

1 回答 1

8

最简单的方法是翻转表达式。例如,如果

Planned - Actual

给你负数,你想要正数,那么也许你想要

Actual - Planned

否则,您可以将整个表达式从零取走以反转符号:

0 - <expression>

或者,如果您真的想消除负号,请使用Absolute- 无论如何都会将值返回为正数

Abs(<expression>)

我还将删除表达式的格式化部分并将其放入Format属性中。SSRS 中的几乎所有内容都可以是表达式,因此您不必在Value表达式中进行所有操作。

于 2013-04-27T12:07:06.383 回答