高春光 (1966-)
男,浙江中控技術(shù)股份有限公司PIMS產(chǎn)品副總監(jiān),高級工程師,有20年企業(yè)信息化、自動化行業(yè)的項(xiàng)目開發(fā)及實(shí)施經(jīng)驗(yàn)。
摘要:本文比較了PIMS與EXCEL做報(bào)表的優(yōu)缺點(diǎn),給出了PIMS與EXCEL在報(bào)表方面的互補(bǔ)性,就這一方案的關(guān)鍵的技術(shù)進(jìn)行了詳細(xì)的討論,特別注明了在整個(gè)報(bào)表生成系統(tǒng)中需要注意的地方。
關(guān)鍵詞: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)是浙江中控技術(shù)股份有限公司的軟件平臺,它能夠向下集成各種控制系統(tǒng)和控制設(shè)備的數(shù)據(jù),并能把這些數(shù)據(jù)開放給ERP、OA等其他應(yīng)用程序;在IE上能逼真顯示現(xiàn)場生產(chǎn)的流程圖,并能通過IE在局域網(wǎng)和廣域網(wǎng)上瀏覽這些信息;能很順暢的讀寫各種關(guān)系數(shù)據(jù)庫的數(shù)據(jù),并能把這些數(shù)據(jù)按照用戶地要求用各種模式顯示在頁面上。但是面對企業(yè)林林總總、千奇百怪,而且需要經(jīng)常變動的報(bào)表需求時(shí)就有些棘手了,最典型就是大型鋁廠或電廠等企業(yè)實(shí)驗(yàn)室的化驗(yàn)數(shù)據(jù)的化驗(yàn)指標(biāo)和評價(jià)標(biāo)準(zhǔn)可能會經(jīng)常變動并且往往帶有行業(yè)特性,PIMS傳統(tǒng)做報(bào)表方法來滿足這些企業(yè)的需求就比較困難了,這些方法大都有如下一些共同的弊端:
· 常常需要定制開發(fā),往往造成工程周期長、成本高的問題;
· 一旦用戶的需求改變時(shí)就要專人進(jìn)行修改維護(hù);
· 對用戶的使用人員要求高;
· 在一個(gè)項(xiàng)目中用過后,在另外一個(gè)項(xiàng)目中就不能使用了。
國內(nèi)有許多用戶在用信息管理系統(tǒng)之前大都習(xí)慣用EXCEL做報(bào)表,對EXCEL比較熟悉,支持行間、單元格間復(fù)雜計(jì)算,能方便地做一些統(tǒng)計(jì)工作,輕松制作交叉報(bào)表。所以當(dāng)前有很多企業(yè)都習(xí)慣用EXCEL做報(bào)表,但是單純的EXCEL報(bào)表也存在一些弊端,大致如下:
· 數(shù)據(jù)難以在IE上進(jìn)行靈活的統(tǒng)計(jì)和查詢;
· 無法有效的限制數(shù)據(jù)錄入員隨意修改數(shù)據(jù);
· 無法給不同的用戶分配不同的權(quán)限,讓其查詢不同的信息。
綜上所述,PIMS報(bào)表系統(tǒng)的缺點(diǎn)剛好是EXCEL的強(qiáng)項(xiàng),而PIMS的優(yōu)勢又剛好彌補(bǔ)了EXCEL的弱勢,如果能巧妙地應(yīng)用PIMS和EXCEL優(yōu)勢,規(guī)避這兩者的弱勢做一套報(bào)表系統(tǒng),產(chǎn)生的報(bào)表不僅能滿足用戶多變的需求,而且能讓用戶不論在何時(shí)何地都能方便安全的查詢報(bào)表信息。
2 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
如圖1所示,整個(gè)報(bào)表生成系統(tǒng)分為三個(gè)部分:
圖1 系統(tǒng)結(jié)構(gòu)圖
第一部分:通過EXCEL錄入原始數(shù)據(jù),并在EXCEL中對這些數(shù)據(jù)進(jìn)行計(jì)算,把計(jì)算的有用信息按照一定的格式存儲在DBMS里。
第二部分:PIMS從DBMS中取出數(shù)據(jù),把這些數(shù)據(jù)按照用戶的需求進(jìn)行組合,按照用戶期望的格式進(jìn)行排版后發(fā)布到網(wǎng)上。
第三部分:網(wǎng)上的用戶通過不同的權(quán)限訪問PIMS發(fā)布的數(shù)據(jù),并可以根據(jù)需要下載到本地計(jì)算機(jī)上。
下面就這三步進(jìn)行詳細(xì)的探討。
3 系統(tǒng)技術(shù)路線選擇
系統(tǒng)的第一部分可以發(fā)揮EXCEL的優(yōu)勢進(jìn)行數(shù)據(jù)錄入,系統(tǒng)的第二部、第三部分可以發(fā)揮PIMS的優(yōu)勢進(jìn)行信息發(fā)布、查詢。
3.1 報(bào)表信息錄入
報(bào)表中原始數(shù)據(jù)的計(jì)算過程全部在EXCEL中完成,可以充分利用報(bào)表的行、單元格及表之間能互相計(jì)算的特性,通過計(jì)算在原始數(shù)據(jù)的基礎(chǔ)上提取有用的信息,然后綜合考慮數(shù)據(jù)庫存儲的方便性及用戶希望數(shù)據(jù)的顯示方式,把這些有用的信息存儲到數(shù)據(jù)庫,數(shù)據(jù)存儲到數(shù)據(jù)庫的過程用EXCEL中用VBA腳本實(shí)現(xiàn)。
整個(gè)數(shù)據(jù)庫的實(shí)現(xiàn)步驟按照先后順序詳細(xì)介紹如下:
· 把原始數(shù)據(jù)錄入到EXCEL,在EXCEL中設(shè)置計(jì)算公式把數(shù)據(jù)進(jìn)行分析、計(jì)算后得出有用的信息,把這些有用的信息按照一定的格式擺放在EXCEL文件中。這些有用數(shù)據(jù)就是最終的報(bào)表數(shù)據(jù)了,所以千萬注意,這些數(shù)據(jù)在EXCEL中的存放格式一定要能方便地保存到關(guān)系數(shù)據(jù)庫并能滿足用戶的查詢要求。
· 在關(guān)系數(shù)據(jù)庫中建立數(shù)據(jù)庫和表,建立表結(jié)構(gòu)時(shí)一定要考慮有助于EXCEL報(bào)表的格式和參數(shù)變動,要有充分的靈活性。
· 在EXCEL端建立ODBC數(shù)據(jù)源,以便把數(shù)據(jù)寫到DBMS,DBMS與EXCEL可以在同一臺電腦上,也可以在不同的電腦上,同時(shí)也可以分布在多臺電腦上,主要是便于多個(gè)人錄入數(shù)據(jù)。
· 在EXCEL報(bào)表中加入一個(gè)按鈕,在按中編寫VBA代碼,通過這些代碼把報(bào)表數(shù)據(jù)寫到DBMS。可以根據(jù)用戶的需求整個(gè)報(bào)表一次性寫入或者逐條寫入,寫入之前對數(shù)據(jù)的合法性進(jìn)行檢查,保證寫到數(shù)據(jù)庫中的數(shù)據(jù)都是有用的數(shù)據(jù)。
上面描述的數(shù)據(jù)寫到關(guān)系數(shù)據(jù)庫的方式不是在其他應(yīng)用程序中調(diào)用EXCEL的方式,而是在EXCEL中用VBA腳本實(shí)現(xiàn),如果在其他應(yīng)用程序中調(diào)用EXCEL會使系統(tǒng)的速度和穩(wěn)定性都很不好,而從EXCEL中用VBA主動往關(guān)系數(shù)據(jù)庫寫數(shù)據(jù)就避免了這些問題。
圖2 EXCEL中的報(bào)表示例
3.2 數(shù)據(jù)的整理和發(fā)布
在PIMS中建立與關(guān)系數(shù)據(jù)庫的連接,通過報(bào)表控件在PIMS中按照用戶的要求報(bào)表查詢功能,最好是能讓用戶自定義查詢的功能,這樣用戶就可以根據(jù)需要選擇不同的表、字段、查詢條件進(jìn)行自由查詢。全部功能完成后,通過PIMS的WEB功能把這些數(shù)據(jù)和功能發(fā)布到IE上,這樣網(wǎng)上的客戶端就可以通過IE瀏覽到報(bào)表信息了。
整個(gè)數(shù)據(jù)整理和發(fā)布的具體實(shí)現(xiàn)步驟如下:
· 在PIMS端建立與關(guān)系數(shù)據(jù)庫連接的ODBC數(shù)據(jù)源。
· 建立一個(gè)PIMS工程,并在此工程中設(shè)定好自由查詢條件。
· 做好數(shù)據(jù)的導(dǎo)出功能,確保每一張報(bào)表都能以.CSV格式導(dǎo)出到客戶機(jī)上。
· 在PIMS中設(shè)置特權(quán)用戶對一些沒用的信息進(jìn)行清理。
· 給每個(gè)查詢用戶設(shè)定權(quán)限,使每個(gè)人的權(quán)限和他看到的報(bào)表一一對應(yīng)。
· 設(shè)定完畢后把所有的信息發(fā)布到網(wǎng)上。
3.3 報(bào)表信息查詢
上面的所有工作完成后,查看報(bào)表的用戶只要用自己的用戶名和密碼登錄PIMS系統(tǒng)就可以了看到自己所關(guān)心的信息了。
客戶端上查詢數(shù)據(jù)的詳細(xì)步驟如下:
· 確保客戶端能連通PIMS服務(wù)器;
· 通過用戶名和密碼在IE登陸到PIMS工程;
· 錄入查詢條件,查詢出所需要的數(shù)據(jù);
· 在需要時(shí)把數(shù)據(jù)以.CSV格式導(dǎo)出到本地計(jì)算機(jī)上;
· 根據(jù)查詢信息作出決策活動。
圖3 在PIMS發(fā)布的報(bào)表查詢
4 結(jié)束語
本報(bào)表生成系統(tǒng)的好處是同時(shí)用到了PIMS和EXCEL的優(yōu)點(diǎn)而有避開了這兩者的缺點(diǎn),通過EXCEL錄入數(shù)據(jù),并把所有復(fù)雜計(jì)算工作交給了EXCEL,通過PIMS查看報(bào)表,不同的錄入和修改的人可以各自在自己的電腦上操作,查看信息的人只需要打開IE就可以瀏覽,對所有的操作者技術(shù)要求都很低,適合于大部分工廠、企業(yè)的特征。
不僅是PIMS可以和EXCEL結(jié)合做出完美的報(bào)表功能,其他應(yīng)用程序也可以用類似的方法,希望本文能起到拋磚引玉的作用,啟發(fā)廣大讀者想出更多類似做報(bào)表的好辦法。
參考文獻(xiàn)
[1] 浙江中控技術(shù)股份有限公司. 《生產(chǎn)信息管理系統(tǒng)軟件PIMS V3.6使用說明書》,2007年3月.