高春光 (1966-)
男,浙江中控技术股份有限公司PIMS产品副总监,高级工程师,有20年企业信息化、自动化行业的项目开发及实施经验。
摘要:本文比较了PIMS与EXCEL做报表的优缺点,给出了PIMS与EXCEL在报表方面的互补性,就这一方案的关键的技术进行了详细的讨论,特别注明了在整个报表生成系统中需要注意的地方。
关键词:PIMS;EXCEL;DBMS
Abstract: This article compares the advantages and disadvantages of using PIMS and EXCEL for report, and provides their complementary prospects. We discuss in detail the key technology of this scheme, and particularly point out the precautions in the whole report generation system.
Key words: PIMS; EXCEL; DBMS
1 前言
PIMS(Process Information Management System)是浙江中控技术股份有限公司的软件平台,它能够向下集成各种控制系统和控制设备的数据,并能把这些数据开放给ERP、OA等其他应用程序;在IE上能逼真显示现场生产的流程图,并能通过IE在局域网和广域网上浏览这些信息;能很顺畅的读写各种关系数据库的数据,并能把这些数据按照用户地要求用各种模式显示在页面上。但是面对企业林林总总、千奇百怪,而且需要经常变动的报表需求时就有些棘手了,最典型就是大型铝厂或电厂等企业实验室的化验数据的化验指标和评价标准可能会经常变动并且往往带有行业特性,PIMS传统做报表方法来满足这些企业的需求就比较困难了,这些方法大都有如下一些共同的弊端:
· 常常需要定制开发,往往造成工程周期长、成本高的问题;
· 一旦用户的需求改变时就要专人进行修改维护;
· 对用户的使用人员要求高;
· 在一个项目中用过后,在另外一个项目中就不能使用了。
国内有许多用户在用信息管理系统之前大都习惯用EXCEL做报表,对EXCEL比较熟悉,支持行间、单元格间复杂计算,能方便地做一些统计工作,轻松制作交叉报表。所以当前有很多企业都习惯用EXCEL做报表,但是单纯的EXCEL报表也存在一些弊端,大致如下:
· 数据难以在IE上进行灵活的统计和查询;
· 无法有效的限制数据录入员随意修改数据;
· 无法给不同的用户分配不同的权限,让其查询不同的信息。
综上所述,PIMS报表系统的缺点刚好是EXCEL的强项,而PIMS的优势又刚好弥补了EXCEL的弱势,如果能巧妙地应用PIMS和EXCEL优势,规避这两者的弱势做一套报表系统,产生的报表不仅能满足用户多变的需求,而且能让用户不论在何时何地都能方便安全的查询报表信息。
2 系统结构设计
如图1所示,整个报表生成系统分为三个部分:

图1 系统结构图
第一部分:通过EXCEL录入原始数据,并在EXCEL中对这些数据进行计算,把计算的有用信息按照一定的格式存储在DBMS里。
第二部分:PIMS从DBMS中取出数据,把这些数据按照用户的需求进行组合,按照用户期望的格式进行排版后发布到网上。
第三部分:网上的用户通过不同的权限访问PIMS发布的数据,并可以根据需要下载到本地计算机上。
下面就这三步进行详细的探讨。
3 系统技术路线选择
系统的第一部分可以发挥EXCEL的优势进行数据录入,系统的第二部、第三部分可以发挥PIMS的优势进行信息发布、查询。
3.1 报表信息录入
报表中原始数据的计算过程全部在EXCEL中完成,可以充分利用报表的行、单元格及表之间能互相计算的特性,通过计算在原始数据的基础上提取有用的信息,然后综合考虑数据库存储的方便性及用户希望数据的显示方式,把这些有用的信息存储到数据库,数据存储到数据库的过程用EXCEL中用VBA脚本实现。
整个数据库的实现步骤按照先后顺序详细介绍如下:
· 把原始数据录入到EXCEL,在EXCEL中设置计算公式把数据进行分析、计算后得出有用的信息,把这些有用的信息按照一定的格式摆放在EXCEL文件中。这些有用数据就是最终的报表数据了,所以千万注意,这些数据在EXCEL中的存放格式一定要能方便地保存到关系数据库并能满足用户的查询要求。
· 在关系数据库中建立数据库和表,建立表结构时一定要考虑有助于EXCEL报表的格式和参数变动,要有充分的灵活性。
· 在EXCEL端建立ODBC数据源,以便把数据写到DBMS,DBMS与EXCEL可以在同一台电脑上,也可以在不同的电脑上,同时也可以分布在多台电脑上,主要是便于多个人录入数据。
· 在EXCEL报表中加入一个按钮,在按中编写VBA代码,通过这些代码把报表数据写到DBMS。可以根据用户的需求整个报表一次性写入或者逐条写入,写入之前对数据的合法性进行检查,保证写到数据库中的数据都是有用的数据。
上面描述的数据写到关系数据库的方式不是在其他应用程序中调用EXCEL的方式,而是在EXCEL中用VBA脚本实现,如果在其他应用程序中调用EXCEL会使系统的速度和稳定性都很不好,而从EXCEL中用VBA主动往关系数据库写数据就避免了这些问题。

图2 EXCEL中的报表示例
3.2 数据的整理和发布
在PIMS中建立与关系数据库的连接,通过报表控件在PIMS中按照用户的要求报表查询功能,最好是能让用户自定义查询的功能,这样用户就可以根据需要选择不同的表、字段、查询条件进行自由查询。全部功能完成后,通过PIMS的WEB功能把这些数据和功能发布到IE上,这样网上的客户端就可以通过IE浏览到报表信息了。
整个数据整理和发布的具体实现步骤如下:
· 在PIMS端建立与关系数据库连接的ODBC数据源。
· 建立一个PIMS工程,并在此工程中设定好自由查询条件。
· 做好数据的导出功能,确保每一张报表都能以.CSV格式导出到客户机上。
· 在PIMS中设置特权用户对一些没用的信息进行清理。
· 给每个查询用户设定权限,使每个人的权限和他看到的报表一一对应。
· 设定完毕后把所有的信息发布到网上。
3.3 报表信息查询
上面的所有工作完成后,查看报表的用户只要用自己的用户名和密码登录PIMS系统就可以了看到自己所关心的信息了。
客户端上查询数据的详细步骤如下:
· 确保客户端能连通PIMS服务器;
· 通过用户名和密码在IE登陆到PIMS工程;
· 录入查询条件,查询出所需要的数据;
· 在需要时把数据以.CSV格式导出到本地计算机上;
· 根据查询信息作出决策活动。

图3 在PIMS发布的报表查询
4 结束语
本报表生成系统的好处是同时用到了PIMS和EXCEL的优点而有避开了这两者的缺点,通过EXCEL录入数据,并把所有复杂计算工作交给了EXCEL,通过PIMS查看报表,不同的录入和修改的人可以各自在自己的电脑上操作,查看信息的人只需要打开IE就可以浏览,对所有的操作者技术要求都很低,适合于大部分工厂、企业的特征。
不仅是PIMS可以和EXCEL结合做出完美的报表功能,其他应用程序也可以用类似的方法,希望本文能起到抛砖引玉的作用,启发广大读者想出更多类似做报表的好办法。 参考文献
[1] 浙江中控技术股份有限公司. 《生产信息管理系统软件PIMS V3.6使用说明书》,2007年3月.
|