JasperReports:集团数据

时间:2014-10-29 15:35:30

标签: jasper-reports grouping

我正在使用 iReport 3.6.2 来构建报告。我需要构建一个显示每个包的总数的报告。我的sql查询返回以下结果。

**PackName---------PackCount**

pack1 --------------   4

pack2 --------------   3

pack1 --------------   1

pack3 --------------   3

pack2 --------------   3

pack1 --------------   2

我的报告需要对PackName进行分组并添加相关的PackCount,如下例

**Package Name ------------ Total**

pack1 ---------------------- 7

pack2 ---------------------- 6

pack3 ---------------------- 3

我的groupingCode如下所示

<variable name="PacksCountSum" class="java.lang.Integer" incrementType="Group" incrementGroup="packsGroup" calculation="Sum">
    <variableExpression><![CDATA[$F{packCount}]]></variableExpression>

</variable>
<group name="packsGroup">
    <groupExpression><![CDATA[$F{packName}]]></groupExpression>
    <groupHeader>
        <band height="20">
            <textField>
                <reportElement mode="Opaque" x="0" y="5" width="515" height="15" backcolor="#C0C0C0"/>
                <textElement/>
                <textFieldExpression class="java.lang.String"><![CDATA[$F{packName}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="460" y="1" width="30" height="15"/>
                <textElement textAlignment="Right"/>
                <textFieldExpression class="java.lang.Integer"><![CDATA[$V{PacksCountSum}]]></textFieldExpression>
            </textField>
        </band>
    </groupHeader>
</group>

但我的结果显示如下

**Package Name ------------ Total**

pack2 ---------------------- null

pack1 ---------------------- 3

pack2 ---------------------- 8

pack3 ---------------------- 10

任何人都可以帮助我并引导我朝着正确的方向前进。我似乎无法找到我的错误。

1 个答案:

答案 0 :(得分:0)

我好像已经解决了我的问题。我按照Grouping records in JasperReports上的示例进行了操作,它帮助了我的分组。我还在我的SQL查询中添加了“order by”以确保我的packNames是有序的。