锁定老帖子 主题:动态报表系统实现思路
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-10-09
最后修改:2010-10-09
最近参与到一个报表系统的建设,对于如何实现动态报表系统的,简单谈下自己实现思路,还请大家多指教。
开始之前简单描述下用户的需求: 1.报表模板在系统运行之前定义并设计好,生成可视化的html页面(包含表格数据和图形展示),保存到指定的存储目录下。 2.存储过程在指定的时间点启动,按照业务逻辑汇总报表数据,为报表提供数据源。 3.应用程序查询存储过程汇总的数据,并将数据插入到指定的报表模板中,生成用户需要的展示格式:pdf、excel、html等。
优势: 模板提前定义好,方便管理。
缺点: 可扩展性差,用户无法实现根据业务的需要修改报表的模板。
动态报表系统的类型: 1.用户可以修改报表模板
思路: 1.1html报表模板提前定义并存储好。 1.2提供一个html在线编辑工具,用户可以在线编辑定义好的模板,添加或者删除指标。 1.3报表模板的指标保存到数据库中。 1.4数据库端有job监控报表模板数据表,如果某一条数据发生变化,则根据变化规则修改相应的存储过程,实现数据汇总的动态修改。
2.用户可自由添加、删除报表模板 2.1提供一个html在线编辑工具,用户可以在线添加报表模板,并填写报表汇总的规则:例如几点几分开始汇总该报表的数据。 2.2报表模板数据保存到DB中。 2.3定时任务实时监控模板数据表,发现添加了一个报表模板数据,则根据数据规则动态生成存储过程和执行job。 2.4job启动存储过程,实现汇总数据。
第二种设计暂时有个细节尚未考虑清楚:存储过程和执行job的生成如何实现,感觉可以实现,但还有待进一步验证。 当然后面两种实现方式是我个人的一些想法,肯定不会用到当前的项目中的,因为客户没提这样的要求、时间有限等等。
仅供大家参考,欢迎有报表研发经验批评指正,谢谢。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-10-09
一个方案,dsoframer+excel
直接用excel作为模板 |
|
返回顶楼 | |
发表时间:2010-10-09
报表就是报表,不要把ETL混进来,不然你前期设计的太复杂,很难去完成
|
|
返回顶楼 | |
发表时间:2010-10-09
kimmking 写道 一个方案,dsoframer+excel
直接用excel作为模板 可有实例?上卷,下钻,多表头,多维能实现否? |
|
返回顶楼 | |
发表时间:2010-10-09
shiren1118 写道 kimmking 写道 一个方案,dsoframer+excel
直接用excel作为模板 可有实例?上卷,下钻,多表头,多维能实现否? http://setting.iteye.com/blog/206038 |
|
返回顶楼 | |
发表时间:2010-10-09
kimmking 写道 一个方案,dsoframer+excel
直接用excel作为模板 这个想法不错,也符合实际要求,但是原型已经做出来了,不能再改了。 |
|
返回顶楼 | |
发表时间:2010-10-09
kimmking 写道 shiren1118 写道 kimmking 写道 一个方案,dsoframer+excel
直接用excel作为模板 可有实例?上卷,下钻,多表头,多维能实现否? http://setting.iteye.com/blog/206038 果然是不错,很有意思~~~等我抽空也弄一个~~ |
|
返回顶楼 | |
发表时间:2010-10-09
shiren1118 写道 报表就是报表,不要把ETL混进来,不然你前期设计的太复杂,很难去完成
你说的没错。 我只是描述了一个思路,实现肯定不会按照最难实现的方案取执行,呵呵。 |
|
返回顶楼 | |
发表时间:2010-10-09
搞得太复杂了,JasperReport+iReport不行吗?
|
|
返回顶楼 | |
发表时间:2010-10-09
直接用报表工具吧
|
|
返回顶楼 | |