Я работаю над отчетом о яшме.Мое требование состоит в том, чтобы показать промежуточную сумму для дебетовых и кредитных столбцов, которые я получаю из java как JRBeanCollectionDataSource.Я создал переменную и установил resetType = "Page" и вычислил как Sum.Сумма на первой странице всегда равна нулю, так как сумма на второй странице правильная.
Мое поле находится в наборе данных.Я возвращаю сумму дебетовых и кредитных значений из datasetRun.
Подданные:
<subDataset name="TransactionDataSet" uuid="1c386547-d313-475c-b023-9f1b6f198535">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<queryString>
<![CDATA[]]>
</queryString>
<field name="accountTypeName" class="java.lang.String"/>
<field name="accountNum" class="java.lang.String"/>
<field name="name" class="java.lang.String"/>
<field name="transactionText" class="java.lang.String"/>
<field name="currencyCode" class="java.lang.String"/>
<field name="amountDebited" class="java.math.BigDecimal"/>
<field name="amountCredited" class="java.math.BigDecimal"/>
<field name="regionId" class="java.lang.String"/>
<field name="departmentId" class="java.lang.String"/>
<field name="costCenterId" class="java.lang.String"/>
<variable name="debitSumForPage" class="java.math.BigDecimal" resetType="Page" calculation="Sum">
<variableExpression><![CDATA[$F{amountDebited}]]></variableExpression>
<initialValueExpression><![CDATA[java.math.BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="creditSumForPage" class="java.math.BigDecimal" resetType="Page" calculation="Sum">
<variableExpression><![CDATA[$F{amountCredited}]]></variableExpression>
<initialValueExpression><![CDATA[java.math.BigDecimal.ZERO]]></initialValueExpression>
</variable>
</subDataset>
Глобальная переменная:
<variable name="totalDebitForPage" class="java.math.BigDecimal" calculation="Sum">
<initialValueExpression><![CDATA[java.math.BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totalCreditForPage" class="java.math.BigDecimal" calculation="Sum">
<initialValueExpression><![CDATA[java.math.BigDecimal.ZERO]]></initialValueExpression>
</variable>
код возврата:
<datasetRun subDataset="TransactionDataSet" uuid="c6dc230d-6e84-4618-b973-c5cedc63dcaf">
<dataSourceExpression><![CDATA[$P{TransactionDatasource}]]></dataSourceExpression>
<returnValue fromVariable="debitSumForPage" toVariable="totalDebitForPage"/>
<returnValue fromVariable="creditSumForPage" toVariable="totalCreditForPage"/>
</datasetRun>
Мне нужно получить общее количество страниц на всехстраницы.