我对iReports感到恼火。问题是我有一个数据集为多个客户返回数据,我想对客户ID使用“组表达式”,并让报告为每个客户列出详细信息选项卡。
我发现,似乎是随机的,客户iReports会有更多的数据行生成两个或更多的分组(有时它会按照我的预期进行并将所有客户数据组合在一起),字段ID客户是一样的,不会改变。
有没有人见过这个?说实话,我不敢相信它实际上是一个错误,但我错过了一些东西。正在寻找尚未找到合适的结果。
答案 0 :(得分:8)
我认为这是一个数据排序问题 引自 iReport Ultimate Guide :
JasperReports通过评估组表达式对记录进行分组。一切 表达式的值更改时,将创建一个新的组实例。 引擎不执行任何记录排序(如果没有明确说明) 请求),所以当我们定义组时,我们应该始终关注 记录排序。也就是说,如果我们想要按一组地址分组 country,我们为报告选择的记录应该已经过了 按国家排序。使用SQL查询时,对数据进行排序很简单 通过使用ORDER BY子句。当这是不可能的时候(也就是说 从XML文档中获取记录),我们可以请求 JasperReports为我们排序数据。这可以使用排序来完成 查询窗口中可用的选项
您可以通过以下方式对数据进行排序:
ORDER BY customerId
子句添加到报告的查询中,其中 customerId - 客户ID <jasperReport ...>
...
<field name="customerId" class="java.lang.String"/>
<sortField name="customerId"/>
答案 1 :(得分:3)
ORDER BY
?customer_id
分组?