1

我有两个列组,它们有各自的行总数,由下式计算

Sum(Fields!ColumnGroup1.Value)

Sum(Fields!ColumnGroup2.Value)

然后我有一列显示两个总和之间的差异,但前提是它们的总差异大于 0

=IIF(
     Sum(Fields!ColumnGroup1.Value) - Sum(Fields!ColumnGroup2.Value) > 0.00,
     Sum(Fields!ColumnGroup1.Value) - Sum(Fields!ColumnGroup2.Value), 
     0.00)

现在该行包含我的两个列组,如果它大于 0,它们的总数和它们的差异

如何计算表达式列的所有行的总和?

由于某些原因,以下给出了不正确的值:

=SUM (
     IIF(
         Sum(Fields!ColumnGroup1.Value) - Sum(Fields!ColumnGroup2.Value) > 0.00,
         Sum(Fields!ColumnGroup1.Value) - Sum(Fields!ColumnGroup2.Value), 
     0.00)
     )

这是假设工作吗?

谢谢!

4

3 回答 3

3

我解决了我的问题。我没有说的是我也有行组。我需要在 SUM 上指定子行组。(我原以为它应该是父行组)

=SUM (
   IIF(
     Sum(Fields!ColumnGroup1.Value,"Child") - Sum(Fields!ColumnGroup2.Value,"Child") > 0.00,
     Sum(Fields!ColumnGroup1.Value,"Child") - Sum(Fields!ColumnGroup2.Value,"Child"), 
   CDec(0))
 )

如果需要为小计 0 显示空白值,请使用“Nothing”,如果需要显示值,请使用“CDec(0)”

谢谢

于 2013-05-31T07:51:57.557 回答
0

我认为你需要在你检查的总和周围加上额外的括号 0

=SUM (
     IIF((Sum(Fields!ColumnGroup1.Value) - Sum(Fields!ColumnGroup2.Value)) > 0.00,
         Sum(Fields!ColumnGroup1.Value) - Sum(Fields!ColumnGroup2.Value), 
     0.00)
     )
于 2013-05-30T15:54:18.300 回答
0

您是否在查询中添加了“分组依据”?我相信您需要这样做才能实际汇总总和值。

如果不是这样,请尝试将字段(包含您的表达式)移动到静态行(即不包含在列组中)。

另外,你为什么不尝试丢失小数点呢?一个零就是一个零,不管它有多少个零小数位。

于 2013-05-30T16:50:35.947 回答