Database design 按各种属性生成用户报告

Database design 按各种属性生成用户报告,database-design,reporting,jasper-reports,birt,Database Design,Reporting,Jasper Reports,Birt,用户表包含以下属性(出生日期、种族、性别等)。我们希望生成以下格式的报告 全年比赛全部为男女 2000亚洲2000 1000 1000 2000西班牙裔1000 500 500 2001亚洲1500 700 800 2001西班牙裔1300 400 900 总数5800 2600 3200 理想情况下,我希望查看通过上述参数过滤的不同报告(例如,2000年的所有亚洲男性用户、2000-2005年的所有亚洲用户、2001年的所有西班牙裔社区)。获取此数据的最佳方法是什么,因为我希望避免在构建此

用户表包含以下属性(出生日期、种族、性别等)。我们希望生成以下格式的报告

全年比赛全部为男女 2000亚洲2000 1000 1000 2000西班牙裔1000 500 500 2001亚洲1500 700 800 2001西班牙裔1300 400 900

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

您可以看看Jasper Reports:


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

您可以查看Jasper报告:


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

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

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

我想了解有关数据生成的一些详细信息。构造此数据需要对数据库进行多少次查询。在上述情况下,每行至少需要2次查询[a]才能获取一年内所有男性的列表(可变参数为year,race),因此,如果该列表很大,那么以优化方式检索该数据的最佳方式是什么。上面的示例只包含一个最小的数据集,我想在一行中添加许多这样的参数,这将增加每行需要触发的查询。是否有更好的解决方案获取此视图?我想了解有关数据生成的一些详细信息。构造此数据需要对数据库进行多少次查询。在上述情况下,每行至少需要2次查询[a]才能获取一年内所有男性的列表(可变参数为year,race),因此,如果该列表很大,那么以优化方式检索该数据的最佳方式是什么。上面的示例只包含一个最小的数据集,我想在一行中添加许多这样的参数,这将增加每行需要触发的查询。是否有更好的解决方案来获取此视图感谢您的响应,至于报告生成,我可以选择使用Jasper Reports。如果可变参数的数量很大,我已经添加了更多关于优化机制的信息,以构建每一行中的数据。感谢您的响应,就报告生成而言,我可以选择使用Jasper报告。我添加了更多关于优化机制的信息,以在每行中构建数据,如果可变参数的数量很大。 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