金 鳳
(泰州市黨史方志檔案辦公室,江蘇泰州,225300)
在檔案管理過程中,為了確保館藏檔案的有效管理,經(jīng)常需要生成各種各樣的統(tǒng)計表。然而,館藏數(shù)據(jù)的不斷增加以及客觀上統(tǒng)計格式要求的多變,造成純手工統(tǒng)計方式以及簡單數(shù)據(jù)庫統(tǒng)計方式效率嚴重低下。特別是要分全宗統(tǒng)計的臺賬資料,如案卷目錄標簽、案卷目錄統(tǒng)計表、館藏檔案數(shù)量統(tǒng)計表以及館藏所有全宗卷內(nèi)相關表格的統(tǒng)計制作等。這類統(tǒng)計表共同的特點是一個全宗需要制作一張表。由于綜合檔案館全宗數(shù)量多,這項工作需要很大的工作量,極其消耗時間和精力。在數(shù)據(jù)統(tǒng)計過程中,一旦某個環(huán)節(jié)數(shù)據(jù)出錯,則需要花費很長的時間來修改前后累計數(shù),給工作增加了很多麻煩。
能否利用已有的數(shù)據(jù)庫資源,達到一次性生成所有報表的目的,從而減少工作量?優(yōu)化設想如圖1,將需要統(tǒng)計的數(shù)據(jù)抽象為數(shù)據(jù)集,將統(tǒng)計的過程抽象為報表模板,將統(tǒng)計的結果抽象為目標報表,那么我們每做一次報表的過程就是做好報表模板,需要統(tǒng)計不同的臺賬資料時,只需修改數(shù)據(jù)集,就能一下生成不同的報表。
在此過程中,我們需要借助于一個報表設計模板,即報表軟件。報表軟件在統(tǒng)計分析領域廣泛運用,但在檔案界似乎用得不多。目前已有的報表軟件的種類很多,有FineReport 模板設計器、華表模板設計器、MyExcel和cognos 等,在這里不再贅述。這類軟件共同的特點是采用分層思想,數(shù)據(jù)源與模板設計分開。
下面我們以FineReport模板設計器為例,詳細介紹一種基于報表軟件生成《館藏檔案數(shù)量統(tǒng)計表》的方法。該方法可以基于數(shù)據(jù)庫一次性生成所需報表,大大提高工作效率。
圖1 優(yōu)化設計思路
表1 館藏檔案數(shù)量統(tǒng)計表格式
從表1可以看出,《館藏檔案數(shù)量統(tǒng)計表》是一個分全宗統(tǒng)計的報表,也就是說,一個全宗需要一張表。同一全宗內(nèi)需要按年代和保管期限分別統(tǒng)計案卷數(shù)量。通常制作這類表格的做法是先設計好表的格式,然后再利用數(shù)據(jù)查詢語句,一個全宗一個全宗地填寫相關數(shù)據(jù)。以泰州市檔案館為例,共有館藏檔案309 個全宗,這也就是說即使復制粘貼,也要操作309次,再加上數(shù)據(jù)的統(tǒng)計和填寫,查詢語句的修改等等,這項工作一般都要花費一個月甚至幾個月才能完成。
其實,通過觀察不難發(fā)現(xiàn),整個報表是基于兩個數(shù)據(jù)源。一個是館藏案卷級目錄,另一個是全宗名冊。表中的全宗號、年代以及本年的卷冊數(shù)可從館藏案卷級目錄中獲取,而全宗名稱則來源于全宗名冊。
所有的數(shù)據(jù)源都找到后,我們可以借助于FineReport 模板設計器,將整個設計過程分為四步操作,見圖2。
1.導入數(shù)據(jù)
源數(shù)據(jù),指需要分析統(tǒng)計的基礎數(shù)據(jù)源,格式可以是文本、數(shù)據(jù)庫、XML、EXCEL 等各種格式的數(shù)據(jù)文件。源數(shù)據(jù)往往不是可以直接使用的數(shù)據(jù),有時需要經(jīng)過抽取、傳輸、轉換和加載。數(shù)據(jù)導入體系結構提供對數(shù)據(jù)的流動和控制的程序及服務,從而將數(shù)據(jù)裝載進統(tǒng)計數(shù)據(jù)庫。
本例中所用到的源數(shù)據(jù)為館藏案卷級目錄和全宗名冊,格式分別是DBF 和EXCEL 格式。采用工具抽取到Access 數(shù)據(jù)庫中,將數(shù)據(jù)歸集到數(shù)據(jù)集市,方便以后的統(tǒng)計和分析,一次操作,以后就不需要重復處理數(shù)據(jù),分析和查看就可不關心底層數(shù)據(jù)情況;生成不同的數(shù)據(jù)報表時,就可以不關心后面的操作,直接修改數(shù)據(jù)集。
圖2 報表設計過程
圖3 定義數(shù)據(jù)集
2.設計數(shù)據(jù)集
各種各樣的數(shù)據(jù)集中到數(shù)據(jù)庫中,如果只是用簡單的數(shù)據(jù)庫查詢語句來生成報表,只能生成一些簡單的報表,且不能重復使用,每次重新查詢,都要重新寫語句,格式變化也要進行較大的修改。現(xiàn)在我們的目標是一次設計,以后不再設計查詢語句,這需要建立報表軟件與數(shù)據(jù)庫的鏈接。首先定義數(shù)據(jù)庫的鏈接,數(shù)據(jù)庫選擇Access,驅(qū)動器選擇,sun.jdbc.odbc.JdbcOdbcDriverURL,URL 指向數(shù)據(jù)源的MDB 文件。定義數(shù)據(jù)集的操作如圖3。
生成的《館藏檔案數(shù)量統(tǒng)計表》需要使用兩個數(shù)據(jù)集:館藏案卷級目錄數(shù)據(jù)集和全宗名冊數(shù)據(jù)集。分別設計SQL語句如下:
館藏案卷級目錄數(shù)據(jù)集:
SELECT A.全宗號,A.保管期限,A.歸檔年代
count(A.案卷號)as 案卷數(shù)
FROM[館藏案卷級目錄]A
group by A.全宗號,A.終止日期,A.保管期限
order by A.全宗號,A.終止日期
全宗名冊數(shù)據(jù)集:
SELECT*FROM[全宗名冊]
3.設計報表模板
根據(jù)模板數(shù)據(jù)集,結合館藏檔案數(shù)量統(tǒng)計表格式,設計報表模板。
其中全宗號,縱向擴展,來自于館藏案卷級目錄數(shù)據(jù)集的全宗號;全宗名稱來自于全宗名冊數(shù)據(jù)集的字段3,依賴于全宗號,并設置過濾館藏案卷級目錄的全宗號等于全宗名冊的字段2;同一全宗號中的檔案按年代匯總,年代縱向擴展,來自于館藏案卷級目錄數(shù)據(jù)集的歸檔年代;永久本年卷冊設置為依賴于歸檔年,分組匯總求和館藏案卷級目錄數(shù)據(jù)集的案卷數(shù),過濾篩選數(shù)據(jù)集保管期限=“永久”,累計設置公式:=G6[A6:-1]+ F6,即擴展的上一行的永久累計加本行的永久本年;下面長期和短期的做法類似于永久。合計即永久+長期+短期,合計本年的公式為:=F6+J6+N6,累計的公式為:=G6+K6+O6。
4.生成目標報表
模板數(shù)據(jù)集和報表模板設計好以后,就可以使用設計器預覽,修改格式,最終導出成需要的格式,可以是EXCEL、WORD 和PDF格式,還可以設置成需要打印的格式。每個全宗擴展,同一全宗中,按年代分永、長、短三類分組匯總卷冊數(shù),并累計,如表2展示。
表2 館藏檔案數(shù)量統(tǒng)計表
該方法最大的優(yōu)點是簡單高效,最顯著的特點是能一次性生成多張報表,最重要的工具是報表軟件。使用該方法制作的報表數(shù)據(jù)準確,格式統(tǒng)一,一次操作以后直接使用,大大提高了館藏檔案數(shù)據(jù)統(tǒng)計的效率。該方法能避繁就簡,將檔案管理人員從繁雜的數(shù)據(jù)中解脫出來,在制作檔案管理各種臺賬的過程中可以得到廣泛運用。