A few ways you could achieve this:
1. Do the calculation in the SQL and sum that field, like so:
SELECT Quantity, Amount, Quantity * Amount As TotalAmount FROM MyTable
Then just use the TotalAmount field in your Detail row and sum it in the footer.
2. Create a second Dataset that calculates the total for you and use that in your footer instead of a sum:
=Sum(Fields!TotalAmount.Value, "MyTotalingDataset")
3. Do it using custom code. Right-click on the Layout space choose Properties and click on the Code tab. Put in the following code:
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
On the Detail band, make the column where you sum the field have this expression:
=Code.CalculateRowTotal(Fields!Quantity.Value, Fields!Amount.Value)
This will execute the code above and do your calculation plus calculate the total sum in the process.
The Footer band displays the total sum so the column has the expression:
=Code.TotalAmount
And you're done. Just be careful because you aren't guaranteed the order in which your code will execute and for some reports it will execute the footer first (for example, if you use the Sum of the rows in the Detail band) which would make the total zero as the Detail band calculations haven't happened yet, but for the general case this should work.
In both of the total textboxes, region and Grand Total, you can use the same expression:
=Sum(max(Fields!goal.Value, "LocationName"))
Because the expression is calculated in the current Scope of the textbox, at the Region Group level this will be aggregating the Max
goal value in all LocationName groups in the region, and at the Grand Total level this will be aggregating the Max
goal value in all LocationName groups in all regions.
You can see this in action. With data like:

(I've doubled up the rows to make it obvious if the end totals are correct)
and a simple table:

The same expression gives the correct result in both the Region and Grand Total Scope:

Best Solution
You just need to add the SUM() function in the table footer which is the outer scope of both groups and will sum them all together. If you are summing on a condition, you may need to put that in there also.