劉自南+姜彬+金浩
摘要:介紹了能源管理系統(tǒng)通用報(bào)表的設(shè)計(jì)思想和實(shí)現(xiàn)機(jī)制,支持Windows和Unix等操作系統(tǒng)下跨平臺(tái)運(yùn)行,和Excel完全兼容,能用數(shù)據(jù)集和SQL語(yǔ)句靈活的定義數(shù)據(jù)關(guān)聯(lián),實(shí)現(xiàn)了單基礎(chǔ)表查詢和多基礎(chǔ)表關(guān)聯(lián)查詢;此外,還可以從異構(gòu)的自動(dòng)化系統(tǒng)的多個(gè)數(shù)據(jù)源中動(dòng)態(tài)的獲取數(shù)據(jù),以二維表或者層次表的方式瀏覽,是一個(gè)操作簡(jiǎn)單方便,定義方式靈活,瀏覽樣式多變的功能強(qiáng)大的報(bào)表工具。
關(guān)鍵字: 能源管理系統(tǒng) 通用報(bào)表 商用關(guān)系庫(kù) 數(shù)據(jù)集
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2015)07(b)-0000-00
1、引言
能源管理系統(tǒng)是企業(yè)實(shí)現(xiàn)能源管理信息化和智能化的重要技術(shù)平臺(tái),系統(tǒng)包含了能源采集監(jiān)控、優(yōu)化和基礎(chǔ)管理功能,系統(tǒng)中有大量數(shù)據(jù)信息需要通過(guò)報(bào)表方式進(jìn)行查詢、匯總分析和打印。
固定報(bào)表工具,并不能適應(yīng)管理部門對(duì)統(tǒng)計(jì)內(nèi)容不斷變化的要求,在功能上、顯示格式方面很難滿足用戶的查詢統(tǒng)計(jì)要求。因此需要一種新的報(bào)表系統(tǒng),能方便的對(duì)多個(gè)分布的、異構(gòu)的數(shù)據(jù)源進(jìn)行分析、加工和處理的能力。
本文提出一種管理類通用報(bào)表管理系統(tǒng),可以方便地制作各種能源報(bào)表,挖掘系統(tǒng)運(yùn)行數(shù)據(jù),分析能源系統(tǒng)運(yùn)行情況,為企業(yè)能源系統(tǒng)的運(yùn)行提供決策依據(jù)。
2、報(bào)表特色
1) 跨平臺(tái):
主界面和所有相關(guān)類庫(kù)全部是完全跨平臺(tái)機(jī)制實(shí)現(xiàn),支持Windows、Unix、Linux等多種操作系統(tǒng),實(shí)現(xiàn)報(bào)表編輯、報(bào)表瀏覽、報(bào)表服務(wù)的完全跨平臺(tái)部署?;谧灾餮邪l(fā)的跨平臺(tái)通用表格類庫(kù)實(shí)現(xiàn),直接用繪圖方式繪制表格,不基于任何第三方控件,顯示速度快,使用靈活,易擴(kuò)展,且不需要安裝任何附帶組件,對(duì)于大數(shù)據(jù)量報(bào)表保持高性能。
2) EXCEL互操作性:
報(bào)表文件與Excel 完全兼容,實(shí)現(xiàn)和Excel格式的導(dǎo)入導(dǎo)出。在Windows和Unix等操作系統(tǒng)下均可打開EXCEL文件顯示其內(nèi)容,實(shí)現(xiàn)跨平臺(tái)的EXCEL文件瀏覽。
3) 靈活的定義方式:
通用條件報(bào)表可以采用數(shù)據(jù)集定義和SQL語(yǔ)句定義。數(shù)據(jù)集支持支持多表之間層次關(guān)系定義和平行關(guān)系定義,通過(guò)關(guān)聯(lián)域體現(xiàn)表與表之間的關(guān)系。報(bào)表前景定義使用數(shù)據(jù)集,簡(jiǎn)單明了,一個(gè)報(bào)表可以定義多個(gè)數(shù)據(jù)集;SQL語(yǔ)句定義只需要輸入符合SQL語(yǔ)法的語(yǔ)句就能完成前景的定義,適合于具有一定數(shù)據(jù)庫(kù)知識(shí)的用戶。
4) 多數(shù)據(jù)源:
在一張報(bào)表中前景定義可以有不同的數(shù)據(jù)源,數(shù)據(jù)可以來(lái)自實(shí)時(shí)庫(kù),也可以來(lái)自實(shí)時(shí)數(shù)據(jù)的歷史保存,具有很強(qiáng)的數(shù)據(jù)擴(kuò)展性,也可以方便地引入新的數(shù)據(jù)源。
5) 操作友好性:
報(bào)表工具的操作和顯示類似Excel工具,操作簡(jiǎn)便,即使不具備計(jì)算機(jī)方面深厚知識(shí)的使用者也很容易上手。
3、軟件結(jié)構(gòu)
通用報(bào)表管理系統(tǒng)采用應(yīng)用層、中間層和數(shù)據(jù)層的結(jié)構(gòu)。其中應(yīng)用層的報(bào)表工具分為報(bào)表編輯、瀏覽和服務(wù)三個(gè)功能模塊,編輯主要功能是編輯報(bào)表樣式,進(jìn)行數(shù)據(jù)關(guān)聯(lián),并維護(hù)報(bào)表版本同步;瀏覽主要功能是從數(shù)據(jù)源提取數(shù)據(jù)顯示;服務(wù)主要用于報(bào)表的定義生成和打印。編輯和顯示用表格顯示類庫(kù)來(lái)實(shí)現(xiàn)。中間層是實(shí)時(shí)庫(kù)和商用庫(kù)的訪問(wèn)接口,報(bào)表工具使用庫(kù)的訪問(wèn)接口來(lái)操作數(shù)據(jù)。數(shù)據(jù)層包括實(shí)時(shí)庫(kù)和商用庫(kù),存儲(chǔ)了實(shí)時(shí)數(shù)據(jù),歷史數(shù)據(jù)和管理應(yīng)用數(shù)據(jù)。
4、設(shè)計(jì)與實(shí)現(xiàn)
能源管理系統(tǒng)有很多功能模塊,如能源監(jiān)控?cái)?shù)據(jù)、分析數(shù)據(jù)、從ERP獲取的數(shù)據(jù)等,這些數(shù)據(jù)大部分都保存在數(shù)據(jù)庫(kù)中。但是這些系統(tǒng)可能分布在不同的物理位置上,使用不同的數(shù)據(jù)組織形式和操作系統(tǒng)平臺(tái),而且數(shù)據(jù)庫(kù)也不盡相同。如何消除數(shù)據(jù)源的差異,能用一種方式來(lái)定義報(bào)表與數(shù)據(jù)庫(kù)的關(guān)聯(lián),正是問(wèn)題所在。通用報(bào)表管理系統(tǒng),使用數(shù)據(jù)集的方式作為數(shù)據(jù)源和報(bào)表關(guān)聯(lián)之間的紐帶,優(yōu)點(diǎn)如下:
1) 數(shù)據(jù)關(guān)聯(lián)時(shí)使用數(shù)據(jù)集,不再是原始的基礎(chǔ)表,屏蔽了實(shí)時(shí)庫(kù)和商用庫(kù)之間的差異。
2) 報(bào)表數(shù)據(jù)關(guān)聯(lián)簡(jiǎn)單化,對(duì)數(shù)據(jù)集的修改基本上不會(huì)影響到已定義的數(shù)據(jù)關(guān)聯(lián);
3) 報(bào)表不僅能查詢基礎(chǔ)表的數(shù)據(jù),還能查詢多基礎(chǔ)表的關(guān)聯(lián)數(shù)據(jù),多基礎(chǔ)表之間的關(guān)系能定義成層次,也能定義成平行的,它們之間的關(guān)系使用關(guān)聯(lián)域表示。
數(shù)據(jù)集的定義需要先選擇數(shù)據(jù)源的基礎(chǔ)表,定義成層次關(guān)系時(shí)需要指定兩表之間的關(guān)聯(lián)域,檢測(cè)關(guān)聯(lián)域的屬性是否相同,層次關(guān)系數(shù)據(jù)集會(huì)記錄下各個(gè)基礎(chǔ)表的層次關(guān)系,平行關(guān)系表之間的關(guān)系在過(guò)濾條件的設(shè)置,順序就是瀏覽時(shí)的訪問(wèn)順序。同一張報(bào)表可以定義多個(gè)數(shù)據(jù)集,各個(gè)數(shù)據(jù)集可以分別有不同的數(shù)據(jù)源。
數(shù)據(jù)關(guān)聯(lián)也可以是簡(jiǎn)單的一條SQL語(yǔ)句,不同的數(shù)據(jù)源可以使用同樣的定義方式,保存的時(shí)候會(huì)記錄下數(shù)據(jù)源信息,在實(shí)際瀏覽的時(shí)候能從不同的數(shù)據(jù)源中獲取數(shù)據(jù)。
定義數(shù)據(jù)集的時(shí)候可以使用參數(shù),參數(shù)也是預(yù)先定義好的,可以是普通文本,由用戶輸入,也可以關(guān)聯(lián)到菜單或者數(shù)據(jù)庫(kù)中某張表的某個(gè)域,瀏覽時(shí)載入該表該域的所有值供用戶選擇。數(shù)據(jù)集中每個(gè)表或者SQL語(yǔ)句中都可以使用參數(shù)。
瀏覽報(bào)表時(shí),先從列表中選擇需要瀏覽的報(bào)表,瀏覽工具先讀入報(bào)表樣式文件,再讀入數(shù)據(jù)關(guān)聯(lián)文件,并根據(jù)關(guān)聯(lián)類型整理數(shù)據(jù)關(guān)聯(lián),逐一處理相同數(shù)據(jù)集編號(hào)的關(guān)聯(lián),判斷數(shù)據(jù)源類型,使用不同的訪問(wèn)接口訪問(wèn)數(shù)據(jù)庫(kù)。對(duì)多基礎(chǔ)表的數(shù)據(jù)集,如果是層次關(guān)系,則根據(jù)表的層次關(guān)系,通過(guò)關(guān)聯(lián)域,依次訪問(wèn)直至最底層的表,如果是平行關(guān)系,則根據(jù)表的順序關(guān)系,解析過(guò)濾條件中表與表之間的關(guān)系,依次訪問(wèn)表。
5、通用報(bào)表工具的應(yīng)用
通用報(bào)表工具可以支持自動(dòng)生成或用戶定制常規(guī)的報(bào)表,也可以通過(guò)工具定制報(bào)表,支持在MS-Excel中編輯表格,編輯完成后再將文件導(dǎo)入報(bào)表工具中。
用戶可以根據(jù)需求,靈活地選擇維度,包括組織、介質(zhì)和時(shí)間維度。為用戶查詢多維數(shù)據(jù)帶來(lái)極大的方便,用戶可以根據(jù)自己需求選擇查詢的層次。在為每個(gè)維度或度量都選擇了成員后,便可以將選擇的多維數(shù)據(jù)與單元格關(guān)聯(lián)。
在時(shí)間上以日、周、月、季、年為間隔,在用能設(shè)備、生產(chǎn)線、車間、廠、部門級(jí)別上進(jìn)行產(chǎn)量、產(chǎn)值、各能源介質(zhì)消耗(噸標(biāo)煤),各項(xiàng)能耗費(fèi)用,總能耗(噸標(biāo)煤)、總能耗費(fèi)用的計(jì)劃值、實(shí)際值等內(nèi)容自定義報(bào)表輸出。
6、結(jié)論
通用報(bào)表考慮管理功能的實(shí)際需要,是一種適用于信息統(tǒng)計(jì)的實(shí)用工具,使維護(hù)人員方便地定義報(bào)表的樣式、數(shù)據(jù)集、數(shù)據(jù)關(guān)聯(lián)等。根據(jù)用戶定制的樣式和數(shù)據(jù)關(guān)聯(lián),從各種數(shù)據(jù)源提取數(shù)據(jù)顯示給用戶。該報(bào)表工具在工業(yè)企業(yè)、機(jī)場(chǎng)等能源管理項(xiàng)目中投入使用,運(yùn)行效果良好。
參考文獻(xiàn)
1、王素霞、于放、臧輝,面向Web應(yīng)用的報(bào)表管理系統(tǒng)生成器. 計(jì)算機(jī)系統(tǒng)應(yīng)用,2014(01)
2、文靜華、張梅、田建強(qiáng),基于Excel的企業(yè)通用動(dòng)態(tài)報(bào)表生成工具的設(shè)計(jì),計(jì)算機(jī)工程,2005(31)