2010-06-14 66 views
1

我需要用户创建自定义报告。这些用户不知道像SQL这样的技术技能。我们目前有一个自定义数据库报告设计。所以基本上无论用户在GUI上做什么,应用程序都必须生成适当的SQL来生成报告结构。创建用户生成的报告

有没有人做过这个?我知道那里有报告解决方案,但我们已经有我们自己的数据库表来进行报告。我们已经有一个部分,用户可以查看以HTML格式显示的报告。

像例如,如果用户从GUI中选择“UserID”和“Accounts”字段,我怎么会知道我的SQL必须加入USER和ACCOUNTS表?

我想我只是寻找一些想法来帮助我解决这个问题。

谢谢。

+0

这是一项艰巨的任务,我会建议使用现有的报表设计器工具(有许多选择,你将不得不花费一些时间评估不同的产品易于使用,报告功能等)。如果你真的决定自己做,这将是一个有趣和令人兴奋的挑战。祝你好运! :) – FrustratedWithFormsDesigner 2010-06-14 17:23:16

回答

1

你列出的问题是一个相当广泛和开放性的问题,没有一个简单的答案。报告和GUI界面的复杂程度将决定你必须做什么。我不得不为一个项目从头开始编写一个报告系统,并且这是一个为期8个月的3人开发工作。你想要什么的基本基础是一种将你的GUI字段映射到数据库字段的方法。在过去我曾使用过的两种报告系统中,我们都使用XML来实现这一点(由于有很多部分需要生成动态查询,因此XML会变得非常复杂)。

我的建议是以JasperReports为起点。特别是你可能会发现iReport(用于生成静态报告)很有用。这个堆栈中还有一些技术(DynamicReports和WebReportBuilder),我没有经验,但可能对您有用。

0

有许多报表解决方案(如Business Objects或Oracle Discoverer)可以使最终用户根据需要从预先设计的数据视图中拖放字段,过滤条件等。

这些工作最适合用于报告目的的数据模式(如星型模式),因为它听起来就像您的模式一样。我会警惕尝试使用这些工具从规范化的操作模式进行报告。