汕頭職業技術學院 廣東汕頭 515041
摘要:許多單位的不同部門采用了不同的管理信息系統,各系統的數據接口不匹配,數據無法在各部門間共享,從而形成了“信息孤島”問題,不少單位為解決這一問題付出了巨大的代價。本文分析總結了一種利用Excel VBA進行系統間數據整合的簡易、經濟的方法。
關鍵字:管理信息系統;信息孤島;VBA;數據整合
A Research of Data Consolidation between Management Information Systems by Using VBA.
Abstract:Different departments in many units have adopted various management information systems.With mismatch of the data interface of each system,the data cannot be shared among different departments,giving rise to a phenomenon of \"Information Isolated Island\",which causes many units to pay a huge price in order to solve it.This paper analyzes the specific problem and provides a simple and economic method for consolidating data between systems by using Excel VBA.
Keywords:management information system;information isolated island;VBA;data consolidation
1 引言
自上世紀90年代起,我國各行業開始逐步發展MIS(管理信息系統),經過二十多年的發展,目前MIS的應用已逐步普及,各行業、單位都清晰地意識到管理信息化的重要性,但由于在開發使用初期缺乏長期系統規劃,造成同一單位各部門各自采購或開發不同系統的應用軟件,從而在同一單位間的各部門數據無法共享,形成了“信息孤島”問題[1]。如廣州某公司從上世紀80年代開始引入財務電算化,目前公司的材料進出系統、上下傳達系統使用Office辦公軟件,財務系統、人事系統采用專門軟件,公司OA系統采用專門網絡化軟件,公司采用大量互不兼容軟件,軟件間無法直接進行數據交流。又如廣東汕頭某醫院,且不說整個醫院采用各種人事管理系統、醫療收費系統、財務系統各自獨立,就說其統計室采用的“廣東省醫院統計病案管理系統”和“單病種質量監控報告系統”兩個系統就存在著信息不能共享,數據重復填報的問題[2]。要解決“信息孤島”問題,不少單位付出了巨大的人力與財力,但仍未能非常有效的解決這一問題。
2 “信息孤島”產生的問題
“信息孤島”問題逐步成為各信息化應用單位的信息化效率的瓶頸問題,制約了應用單位的信息化持續發展,它的危害主要體現在以下幾方面。
2.1 信息的多重采集影響數據的一致性和正確性
同一單位不同部門采用的軟件相互孤立,數據不能共享,造成相同的數據要在多個軟件系統重復輸入,一個系統中的結果也無法直接導入到另一個系統中,必須重新錄入。這樣不僅僅是增加了重復勞動,而且容易產生數據錄入出錯,從而影響系統數據的正確性,也容易造成不同系統間的數據不一致性。
2.2 數據格式的不一致,影響跨系統查詢統計
由于軟件系統以部門劃分,各部門的軟件相互獨立,開發軟件時的數據格式由不同的開發者定義,造成數據格式不一致,從而無法實現跨系統的查詢、統計、匯總等操作。即使要比對兩個系統的數據是否一致也是困難重重,這就為單位綜合使用數據造成了巨大的障礙,甚至造成計劃失控、庫存過量、采購與銷售環節的暗箱操作等問題[3]。
2.3 數據不統一影響應用單位的決策 [3]
一個單位的決策往往需要綜合多個部門的信息,而孤立的系統只能提供局部的信息,無法有效提供全面的數據,無法綜合全局考慮問題,無法為決策者提供有力的支持。
3 VBA解決“信息孤島”應用案例分析
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——),男,廣東汕頭人,汕頭職業技術學院計算機系講師,主要研究方向為軟件設計、現代教育技術。