0

我有一份报告,我正在从 Crystal Reports 转换为 JasperReports。我正在使用 iReport 4.5 和 JasperReport Server 4.5 设计报告。返回的 Oracle 存储过程REF_CURSORS用于填充数据。下面是一个示例 SQL:

Select First_Name, Last_Name, DOB, City From PPL Order By DOB;

当我在报表设计器中使用此 SQL 并设计报表并按如下方式创建组时

父组是 First_Name 第二组是城市

基本上我想在它适用的所有城市中将所有具有相似名字的人分组。

预期成绩:

First_Name       Last_Name      DOB              City
Alan             Kum            10/01/2010       Mumb
Alan             Boss           01/10/2001       Mumb 
Alan             Cross          10/10/2000       Irvn

但是由于 SQL 有一个 order by 子句,我的数据没有以上面显示的预期方式显示。我该如何克服这个问题?

问题是我无法更改程序,因为它正在应用程序中使用,而且报告的 Excel 版本使用相同的查询,他们希望按 DOB 顺序查看数据。

4

1 回答 1

0

嗯......“正确”的解决方案是将查询更改为按您要排序的字段排序:First_Name、City(然后可能按 DOB 或 Last_Name 进行完全确定的排序)。

但由于您没有该选项可用,您可以改为在 JasperReports 中进行排序。编辑您的查询,然后单击“排序选项...”按钮。这应该允许您根据需要重新排序数据。它会在报表引擎中进行较慢的排序,但较慢且正确的结果远好于不满足您需求的快速结果。

于 2012-07-24T23:01:01.087 回答