动态报表系统实现思路

最近参与到一个报表系统的建设,对于如何实现动态报表系统的,简单谈下自己实现思路,还请大家多指教。

 

开始之前简单描述下用户的需求:

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的生成如何实现,感觉可以实现,但还有待进一步验证。

当然后面两种实现方式是我个人的一些想法,肯定不会用到当前的项目中的,因为客户没提这样的要求、时间有限等等。

 

仅供大家参考,欢迎有报表研发经验批评指正,谢谢。

 

 

 

 

 

 

你可能感兴趣的:(报表,Excel,Flash,XML,配置管理,IE)