您可以通过以下几种方式实现这一目标:
1. 在 SQL 中进行计算并对该字段求和,如下所示:
SELECT Quantity, Amount, Quantity * Amount As TotalAmount FROM MyTable
然后只需使用“详细信息”行中的 TotalAmount 字段并将其汇总在页脚中。
2. 创建第二个数据集,为您计算总数并在页脚中使用它而不是总和:
=Sum(Fields!TotalAmount.Value, "MyTotalingDataset")
3. 使用自定义代码执行此操作。右键单击布局空间选择属性,然后单击代码选项卡。输入以下代码:
Public Dim TotalAmount As Double = 0
Public Function CalculateRowTotal(ThisValue As Double, ThatValue As Double) As Double
TotalAmount = TotalAmount + (ThisValue * ThatValue)
Return ThisValue * ThatValue
End Function
在详细信息带中,使您对字段求和的列具有以下表达式:
=Code.CalculateRowTotal(Fields!Quantity.Value, Fields!Amount.Value)
这将执行上面的代码并进行计算并计算过程中的总和。
页脚区域显示总和,因此该列具有以下表达式:
=Code.TotalAmount
你就完成了。请小心,因为您不能保证代码执行的顺序,并且对于某些报告,它将首先执行页脚(例如,如果您使用详细信息带中的行的总和),这将使总数为零因为细节带计算还没有发生,但对于一般情况,这应该有效。