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