我有一份报告说我正在从Crystal Reports转换为JasperReports。我正在使用iReport 4.5和JasperReport Server 4.5设计报告。返回REF_CURSORS
的Oracle存储过程用于填充数据。下面是一个示例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顺序查看数据。
答案 0 :(得分:0)
嗯......“正确”的解决方案是将查询更改为您要按以下顺序排序的字段:First_Name,City(然后可能通过DOB或Last_Name进行完全确定的排序)。
但是由于您没有可用的选项,您可以在JasperReports中进行排序。编辑查询,然后单击“排序选项...”按钮。这应该允许您根据需要重新排序数据。报告引擎中的排序速度较慢,但速度慢且正确,远远快于不能满足您需求的快速结果。