Como somar os valores retornados por um sub-relatório colocado na faixa de detalhes?

Eu tenho um relatório e um sub-relatório que basicamente imprimem isso:

Aqui está o código para o relatório principal:

<jasperReport>
    <queryString><![CDATA[
select 1 as "RECORD", 'A' as "GROUP"
from dual
  union all
select 2, 'A'
from dual
  union all
select 3, 'B'
from dual
  union all
select 4, 'B'
from dual]]>
    </queryString>
    <field name="RECORD" class="java.math.BigDecimal"/>
    <field name="GROUP" class="java.lang.String"/>
    <variable name="return" class="java.math.BigDecimal"/>
    <group name="group">
        <groupExpression><![CDATA[$F{GROUP}]]></groupExpression>
        <groupFooter>
            <band height="20">
                <staticText>
                    <text><![CDATA[End of group ]]></text>
                </staticText>
                <textField>
                    <textFieldExpression><![CDATA[$F{GROUP}]]></textFieldExpression>
                </textField>
                <staticText>
                    <text><![CDATA[The sum of returned values for the group]]></text>
                </staticText>
            </band>
        </groupFooter>
    </group>
    <detail>
        <band height="20">
            <staticText>
                <text><![CDATA[Record]]></text>
            </staticText>
            <textField>
                <textFieldExpression><![CDATA[$F{RECORD}]]></textFieldExpression>
            </textField>
            <subreport>
                <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                <returnValue subreportVariable="return" toVariable="return"/>
                <subreportExpression><![CDATA["subreport.jasper"]]></subreportExpression>
            </subreport>
            <staticText>
                <text><![CDATA[Subreport returned]]></text>
            </staticText>
            <textField evaluationTime="Band">
                <textFieldExpression><![CDATA[$V{return}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>

e o código para o sub-relatório:

<jasperReport>
    <queryString>
        <![CDATA[select * from dual]]>
    </queryString>
    <field name="DUMMY" class="java.lang.String"/>
    <variable name="return" class="java.math.BigDecimal">
        <variableExpression><![CDATA[new BigDecimal(Math.random())]]></variableExpression>
    </variable>
</jasperReport>

O que eu quero é imprimir a soma dos valores retornados para o grupo na banda do grupo (cabeçalho ou rodapé).

Eu sei que não é possível acumular o valor em uma variável porque a avaliação das variáveis sempre ocorre antes que o sub-relatório possa retornar seu resultado. Então, eu estaria somando um monte de valores nulos.

Vi pessoas dizendo para fazer a soma dentro de um campo de texto colocado em uma banda após o sub-relatório, mas nunca consegui fazê-lo funcionar.

questionAnswers(1)

yourAnswerToTheQuestion