能源管理系统通用报表的设计和应用
2015-10-15刘自南姜彬金浩
刘自南+姜彬+金浩
摘要:介绍了能源管理系统通用报表的设计思想和实现机制,支持Windows和Unix等操作系统下跨平台运行,和Excel完全兼容,能用数据集和SQL语句灵活的定义数据关联,实现了单基础表查询和多基础表关联查询;此外,还可以从异构的自动化系统的多个数据源中动态的获取数据,以二维表或者层次表的方式浏览,是一个操作简单方便,定义方式灵活,浏览样式多变的功能强大的报表工具。
关键字: 能源管理系统 通用报表 商用关系库 数据集
中图分类号:TP311.52 文献标识码:A 文章编号:1672-3791(2015)07(b)-0000-00
1、引言
能源管理系统是企业实现能源管理信息化和智能化的重要技术平台,系统包含了能源采集监控、优化和基础管理功能,系统中有大量数据信息需要通过报表方式进行查询、汇总分析和打印。
固定报表工具,并不能适应管理部门对统计内容不断变化的要求,在功能上、显示格式方面很难满足用户的查询统计要求。因此需要一种新的报表系统,能方便的对多个分布的、异构的数据源进行分析、加工和处理的能力。
本文提出一种管理类通用报表管理系统,可以方便地制作各种能源报表,挖掘系统运行数据,分析能源系统运行情况,为企业能源系统的运行提供决策依据。
2、报表特色
1) 跨平台:
主界面和所有相关类库全部是完全跨平台机制实现,支持Windows、Unix、Linux等多种操作系统,实现报表编辑、报表浏览、报表服务的完全跨平台部署。基于自主研发的跨平台通用表格类库实现,直接用绘图方式绘制表格,不基于任何第三方控件,显示速度快,使用灵活,易扩展,且不需要安装任何附带组件,对于大数据量报表保持高性能。
2) EXCEL互操作性:
报表文件与Excel 完全兼容,实现和Excel格式的导入导出。在Windows和Unix等操作系统下均可打开EXCEL文件显示其内容,实现跨平台的EXCEL文件浏览。
3) 灵活的定义方式:
通用条件报表可以采用数据集定义和SQL语句定义。数据集支持支持多表之间层次关系定义和平行关系定义,通过关联域体现表与表之间的关系。报表前景定义使用数据集,简单明了,一个报表可以定义多个数据集;SQL语句定义只需要输入符合SQL语法的语句就能完成前景的定义,适合于具有一定数据库知识的用户。
4) 多数据源:
在一张报表中前景定义可以有不同的数据源,数据可以来自实时库,也可以来自实时数据的历史保存,具有很强的数据扩展性,也可以方便地引入新的数据源。
5) 操作友好性:
报表工具的操作和显示类似Excel工具,操作简便,即使不具备计算机方面深厚知识的使用者也很容易上手。
3、软件结构
通用报表管理系统采用应用层、中间层和数据层的结构。其中应用层的报表工具分为报表编辑、浏览和服务三个功能模块,编辑主要功能是编辑报表样式,进行数据关联,并维护报表版本同步;浏览主要功能是从数据源提取数据显示;服务主要用于报表的定义生成和打印。编辑和显示用表格显示类库来实现。中间层是实时库和商用库的访问接口,报表工具使用库的访问接口来操作数据。数据层包括实时库和商用库,存储了实时数据,历史数据和管理应用数据。
4、设计与实现
能源管理系统有很多功能模块,如能源监控数据、分析数据、从ERP获取的数据等,这些数据大部分都保存在数据库中。但是这些系统可能分布在不同的物理位置上,使用不同的数据组织形式和操作系统平台,而且数据库也不尽相同。如何消除数据源的差异,能用一种方式来定义报表与数据库的关联,正是问题所在。通用报表管理系统,使用数据集的方式作为数据源和报表关联之间的纽带,优点如下:
1) 数据关联时使用数据集,不再是原始的基础表,屏蔽了实时库和商用库之间的差异。
2) 报表数据关联简单化,对数据集的修改基本上不会影响到已定义的数据关联;
3) 报表不仅能查询基础表的数据,还能查询多基础表的关联数据,多基础表之间的关系能定义成层次,也能定义成平行的,它们之间的关系使用关联域表示。
数据集的定义需要先选择数据源的基础表,定义成层次关系时需要指定两表之间的关联域,检测关联域的属性是否相同,层次关系数据集会记录下各个基础表的层次关系,平行关系表之间的关系在过滤条件的设置,顺序就是浏览时的访问顺序。同一张报表可以定义多个数据集,各个数据集可以分别有不同的数据源。
数据关联也可以是简单的一条SQL语句,不同的数据源可以使用同样的定义方式,保存的时候会记录下数据源信息,在实际浏览的时候能从不同的数据源中获取数据。
定义数据集的时候可以使用参数,参数也是预先定义好的,可以是普通文本,由用户输入,也可以关联到菜单或者数据库中某张表的某个域,浏览时载入该表该域的所有值供用户选择。数据集中每个表或者SQL语句中都可以使用参数。
浏览报表时,先从列表中选择需要浏览的报表,浏览工具先读入报表样式文件,再读入数据关联文件,并根据关联类型整理数据关联,逐一处理相同数据集编号的关联,判断数据源类型,使用不同的访问接口访问数据库。对多基础表的数据集,如果是层次关系,则根据表的层次关系,通过关联域,依次访问直至最底层的表,如果是平行关系,则根据表的顺序关系,解析过滤条件中表与表之间的关系,依次访问表。
5、通用报表工具的应用
通用报表工具可以支持自动生成或用户定制常规的报表,也可以通过工具定制报表,支持在MS-Excel中编辑表格,编辑完成后再将文件导入报表工具中。
用户可以根据需求,灵活地选择维度,包括组织、介质和时间维度。为用户查询多维数据带来极大的方便,用户可以根据自己需求选择查询的层次。在为每个维度或度量都选择了成员后,便可以将选择的多维数据与单元格关联。
在时间上以日、周、月、季、年为间隔,在用能设备、生产线、车间、厂、部门级别上进行产量、产值、各能源介质消耗(吨标煤),各项能耗费用,总能耗(吨标煤)、总能耗费用的计划值、实际值等内容自定义报表输出。
6、结论
通用报表考虑管理功能的实际需要,是一种适用于信息统计的实用工具,使维护人员方便地定义报表的样式、数据集、数据关联等。根据用户定制的样式和数据关联,从各种数据源提取数据显示给用户。该报表工具在工业企业、机场等能源管理项目中投入使用,运行效果良好。
参考文献
1、王素霞、于放、臧辉,面向Web应用的报表管理系统生成器. 计算机系统应用,2014(01)
2、文静华、张梅、田建强,基于Excel的企业通用动态报表生成工具的设计,计算机工程,2005(31)