0

用户表包含以下属性(dateOfBirth、race、gender ...)。我们希望生成以下格式的报告。

年份 种族 所有 男性 女性
2000 亚洲 2000 1000 1000
2000 西班牙裔 1000 500 500
2001 亚洲 1500 700 800
2001 西班牙裔 1300 400 900
...

总计 5800 2600 3200

理想情况下,我想查看按上述参数过滤的不同报告(例如,2000 年的所有亚洲男性用户,2000-2005 年的所有亚洲用户,2001 年的所有西班牙裔社区)。获取这些数据的最佳方式是什么,因为我想避免对数据库造成太多的访问来构建这些数据。什么框架最适合获取/表示这些数据

4

2 回答 2

2

您可以查看 Jasper 报告:

http://www.docstoc.com/docs/2139263/Jasper-Report-Tutorial

或者

http://www.javaworld.com/javaworld/jw-09-2002/jw-0920-opensourceprofile.html

这是一个生成报告的智能框架。

于 2009-12-09T11:44:32.767 回答
1

您没有提供有关您将使用的数据库后端的任何详细信息,但通常生成此信息的最有效方法是使用正确的 SQL 在数据库端处理数据聚合和过滤,并仅传递结果设置为您的报告生成器。对于第一个示例,它似乎是表中所有数据的聚合,数据库引擎将必须对所有行进行排序和处理,但最好在客户端而不是在客户端进行。对于涉及数据子集的查询,请确保为您的查询正确编入索引。

于 2009-12-11T00:08:44.147 回答