黄毅斌
汕头职业技术学院广东汕头515041
摘要:许多单位的不同部门采用了不同的管理信息系统,各系统的数据接口不匹配,数据无法在各部门间共享,从而形成了“信息孤岛”问题,不少单位为解决这一问题付出了巨大的代价。本文分析总结了一种利用ExcelVBA进行系统间数据整合的简易、经济的方法。
关键字:管理信息系统;信息孤岛;VBA;数据整合
AResearchofDataConsolidationbetweenManagementInformationSystemsbyUsingVBA.
Abstract:Differentdepartmentsinmanyunitshaveadoptedvariousmanagementinformationsystems.Withmismatchofthedatainterfaceofeachsystem,thedatacannotbesharedamongdifferentdepartments,givingrisetoaphenomenonof"InformationIsolatedIsland",whichcausesmanyunitstopayahugepriceinordertosolveit.ThispaperanalyzesthespecificproblemandprovidesasimpleandeconomicmethodforconsolidatingdatabetweensystemsbyusingExcelVBA.
Keywords:managementinformationsystem;informationisolatedisland;VBA;dataconsolidation
1引言
自上世纪90年代起,我国各行业开始逐步发展MIS(管理信息系统),经过二十多年的发展,目前MIS的应用已逐步普及,各行业、单位都清晰地意识到管理信息化的重要性,但由于在开发使用初期缺乏长期系统规划,造成同一单位各部门各自采购或开发不同系统的应用软件,从而在同一单位间的各部门数据无法共享,形成了“信息孤岛”问题[1]。如广州某公司从上世纪80年代开始引入财务电算化,目前公司的材料进出系统、上下传达系统使用Office办公软件,财务系统、人事系统采用专门软件,公司OA系统采用专门网络化软件,公司采用大量互不兼容软件,软件间无法直接进行数据交流。又如广东汕头某医院,且不说整个医院采用各种人事管理系统、医疗收费系统、财务系统各自独立,就说其统计室采用的“广东省医院统计病案管理系统”和“单病种质量监控报告系统”两个系统就存在着信息不能共享,数据重复填报的问题[2]。要解决“信息孤岛”问题,不少单位付出了巨大的人力与财力,但仍未能非常有效的解决这一问题。
2“信息孤岛”产生的问题
“信息孤岛”问题逐步成为各信息化应用单位的信息化效率的瓶颈问题,制约了应用单位的信息化持续发展,它的危害主要体现在以下几方面。
2.1信息的多重采集影响数据的一致性和正确性
同一单位不同部门采用的软件相互孤立,数据不能共享,造成相同的数据要在多个软件系统重复输入,一个系统中的结果也无法直接导入到另一个系统中,必须重新录入。这样不仅仅是增加了重复劳动,而且容易产生数据录入出错,从而影响系统数据的正确性,也容易造成不同系统间的数据不一致性。
2.2数据格式的不一致,影响跨系统查询统计
由于软件系统以部门划分,各部门的软件相互独立,开发软件时的数据格式由不同的开发者定义,造成数据格式不一致,从而无法实现跨系统的查询、统计、汇总等操作。即使要比对两个系统的数据是否一致也是困难重重,这就为单位综合使用数据造成了巨大的障碍,甚至造成计划失控、库存过量、采购与销售环节的暗箱操作等问题[3]。
2.3数据不统一影响应用单位的决策[3]
一个单位的决策往往需要综合多个部门的信息,而孤立的系统只能提供局部的信息,无法有效提供全面的数据,无法综合全局考虑问题,无法为决策者提供有力的支持。
3VBA解决“信息孤岛”应用案例分析
3.1某医院统计室《VBA病案及单病种集成系统》
该统计室同时使用《广东省医院统计病案管理系统》和《单病种质量监控报告系统》两套软件分别向上级管理部门上报相关数据,两套软件中存在许多重复的数据,但系统相互独立,数据无法共享,需要重复输入,存在两套软件中的数据不一致的风险,同时,由于软件是由上级管理部门指定使用,其中的数据及报表不能满足医院自身的需要。
《VBA病案及单病种集成系统》分别从上述两套系统中抽取了Excel数据表作为数据源,利用VBA实现了数据导入、查询比对、分析管理、质控图生成、病案预测等功能。从而实现对两套软件系统中数据的一致性进行自动检测,并且从导出的数据中抽取如例数、疗效、平均人费用、平均人日费用、平均住院日等数据项生成医院自己需要的报表,生成质控图、病案预测等辅助决策的数据。一定程度上解决了数据重复输入带来的不一致的隐患,抽取数据二次使用,提高了数据的使用效率。
3.2广州某企业利用VBA技术实现对企业原有系统的数据整合及其应用[1]
广州某企业二十多年前就开始引进信息化管理,由于缺乏长期的规划,造成多套软件系统之间的相互孤立,造成重复劳动、数据潜在错误等诸多问题。2008年公司请复旦大学软件学院为其进行了改造,对公司的财务系统、项目材料系统、人事公布系统进行了数据整合。
利用VBA对公司的财务系统的四个部分:本部的会计系统、本部的出纳系统、分公司的会计系统、分公司的出纳系统进行了整合,对数据库进行导出Excel、数据字段的扩容增加安全保护等操作,实现了不同账目之间可以进行核对、生成拨付审核表等功能。
对项目材料系统则是用同时利用Excel表格和VBA程序进行处理,实现了将公司材料价格迅速下达到项目部;入仓单和出仓单及时登记,控制公司仓库内的库存等功能。
对人事公布系统,则利用VBA读取数据库,再把相关资料填入Excel或者Wbrd的模版,再进行打印和上传到服务器进行发布,减少了原系统中的烦琐人工工作。
利用VBA对数据进行整合减少了部门之间的数据传输难度,对原数据库进行扩容,减少重复劳动,提高了数据利用的效率和效果。
4利用VBA进行数据整合的一般方法
利用VBA对多个孤立的软件系统进行数据整合是一种简单可行有效的方法,也是是许多单位采用的方法,就其开发过程而言,可以归结出一般方法,如图1示,一般可以按如下步骤进行。
4.1了解原系统的数据结构
要进行数据整合先要对原系统的数据库格式进行解析,最好的办法是利用DBMS打开原系统的数据库,从而能清晰地掌握数据库各表的结构。有些系统的数据库经过了加密,如果无法破解,就要通过该系统所能导出的数据进行分析,比如有些系统可以导出Excel表格,则通过导出的Excel表格进行分析,或者从该系统的报表进行数据格式的分析。
4.2了解客户需求
客户需求是系统改造整合的最终目标,通过与用户沟通,了解用户对原系统的意见,了解用户对数据还有哪些利用的需要,形成需求说明,为下一步开发做好准备。
4.3导出数据
将系统数据导出到一个过渡系统,例如Excel中,分析比较数据项的异同,总结出不同系统间数据变换的规律,可通过VBA程序转换格式,或是抽取各系统中所需数据进行加工。
4.4数据的格式的转换,
有些系统没有提供数据批量导入功能,但是可获得其数据库密码,则可用VBA程序打开其数据库,将另一系统导出的数据,转换成其所定义的数据格式,再将数据写入其中,从而实现将系统A的数据格式转换后,通过VBA程序导入系统B,减少重复输入造成的出错隐患和人工劳动。
4.5数据的抽取与利用
各系统的数据导出后,还可根据用户的需要,从这些数据中抽取数据项,进行深加工,生成新的统计报表,或是进行其它计算,从而扩展原系统不具备的新功能。
5.结束语
要彻底解决“信息孤岛”问题,最终还需对单位的信息管理系统进行全面的统筹规划,全面考虑各部门间、上下级间的数据流往来,进行整体设计开发。但就目前现状而言,一个单位往往有多头管理,各管理部门间的数据结构并没有统一规划设计,而且重新开发也将耗费巨大的人力和财力,也为日常工作带来困扰。利用VBA进行各管理信息系统间的数据整合以其简单、廉价、高效而有着极大的现实价值。
参考文献:
[1]张思聪.利用VBA技术实现对企业原有系统的数据整合及其应用[D].上海:复旦大学,2008.
[2]陈琳玲.基于VBA的医疗统计信息系统集成应用[J].南方职业教育学刊,2014(01):97-101.
[3]卞保武.论企业信息化中的“信息孤岛”问题[J].中国管理信息化,2007,10(4):22-25.
作者信息:黄毅斌(1971——),男,广东汕头人,汕头职业技术学院计算机系讲师,主要研究方向为软件设计、现代教育技术。