用户报告按各种属性生成

时间:2009-12-09 11:39:07

标签: database-design reporting jasper-reports birt

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

Year Race     All Male Female
2000 Asian    2000 1000 1000
2000 Hispanic 1000 500 500
2001 Asian    1500 700 800
2001 Hispanic 1300 400 900
...

Total 5800 2600 3200

理想情况下,我想查看按上述参数过滤的不同报告(例如,2000年所有亚洲男性用户,2000 - 2005年所有亚洲用户,2001年所有西班牙裔社区)。获取此数据的最佳方法是什么,因为我希望避免对数据库进行太多命中来构建此数据。在获取/表示此数据时,什么框架是理想的

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

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