Wie werden die von einem Unterbericht im Detailbereich zurückgegebenen Werte summiert?

Ich habe einen Bericht und einen Unterbericht, der dies im Grunde druckt:

Hier ist der Code für den Hauptbericht:

<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>

und der Code für den Unterbericht:

<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>

Ich möchte die Summe der zurückgegebenen Werte für die Gruppe im Gruppenbereich (Kopf- oder Fußzeile) ausgeben.

Ich weiß, dass es nicht möglich ist, den Wert in einer Variablen zu akkumulieren, da die Auswertung der Variablen immer erfolgt, bevor der Unterbericht das Ergebnis zurückgeben kann. Also würde ich ein paar Nullen summieren.

Ich habe Leute gesehen, die gesagt haben, sie sollen die Summe in einem Textfeld in einer Gruppe nach dem Unterbericht bilden, aber es ist mir nie gelungen, dass es funktioniert.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage