Несколько способов достичь этого:
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
И все готово. Просто будьте осторожны, потому что вам не гарантирован порядок, в котором будет выполняться ваш код, и для некоторых отчетов он будет сначала выполнять нижний колонтитул (например, если вы используете сумму строк в полосе детализации), что приведет к полному нулю поскольку расчеты детальных полос еще не проводились, но в общем случае это должно сработать.