胡華彬
摘要:論文主要針對高等學校統計報表的填報需求,探討了人工填報和利用SQL自動生成統計報表兩種方法,并重點以高基報表為例詳細研究了利用SQL自動生成統計報表的方法,比較了兩種方法在工作效率上的巨大差別。論文最后指出利用SQL自動生成統計報表的方法需要重點注意的問題。
Abstract: Papers mainly for the reporting needs of colleges and universities statistical reports, discusses the manual reporting and the use of SQL to generate statistical reports automatically two methods, and focus on high-base reports as an example for a detailed study of the use of SQL to automatically generate statistical reports, compared the vast difference in efficiency of two methods. Finally, the paper points out the two problems that need to pay attention to automatically generate statistical reports using SQL.
關鍵詞:高等學校;統計報表;SQL;自動生成
Key words: colleges and universities;statistical reports;SQL;automatic generation
中圖分類號:TP311.1 文獻標識碼:A 文章編號:1006-4311(2018)17-0229-02
0 引言
高等學校每學年所需要填報的綜合類報表主要有高等教育事業基層統計報表(以下簡稱“高基報表”)和高等職業院校人才培養工作狀態數據采集系列報表(高等職業院校需要填報)。
下面以高基報表中比較復雜的《普通專科分專業學生數》(高基311)為例探討準確、高效的填報方法。
1 準備工作
1.1 了解填報高基報表原則、填報要求等
首先要了解填報高基報表原則。高基報表的數據是教育部核定各高校基本辦學條件的主要依據,直接關系到高校辦學規模核定、招生計劃制定、財政經費撥付和項目申報等。填報工作要堅持實事求是的原則,做到每個數據都有相應的支撐,保證所有填報數據準確、真實、可查。
其次要認真學習填報要求。高基報表填報說明中對每張報表涉及的指標均有明確的指標解釋,填報前需要認真閱讀《高等教育學校(機構)統計報表填報說明》,按照指標解釋的內涵,準確、完整地填報。統計時段為上一年9月1日至本年8月31日,統計時點為本年度9月1日。各部門所填報內容務必與上一年數據保持連續性和一致性,本年度主要數據增減比例過大的,須書面說明原因。
1.2 確定使用統計工具和統計方法
一般來說,主要有手工填報方式和自動生成報表方式兩種。
手工填報即安裝好教育統計系統軟件后,直接登錄軟件,打開某一具體的空報表,手工編輯事先統計好了的數據并保存。對基礎數據的統計既可以用EXCEL的分類匯總或數據透視表進行,也可以在數據庫中使用SQL查詢語句逐一實現。該方法的優點是簡單易學;缺點是效率不高,數據需要一項一項填寫,耗費時間不說,如有錄入錯誤,校驗出來后還需要花費時間和精力查找錯誤予以改正。
自動生成報表方式是直接在數據庫中利用SQL語句實現生成統計報表,然后將統計報表數據數據導入到教育統計系統中。該方法的優點是填報效率高,不會產生手工錄入之類的錯誤,校驗易通過,可極大程度地節省時間;缺點是填報人需要相當熟練的掌握數據庫操作知識和技能,針對每一張報表都需要首先生成統計報表模板(或導入模板)再利用SQL語句統計。
1.3 規范基礎性數據
從某種程度上來說,雖然規范基礎性數據實際上是一項日常性工作,但是在統計前還是需要把統計涉及到的各項基礎數據字段做一次檢查校驗,以避免在得到統計結果進行校驗后才發基礎數據缺失或不規范而造成大量返工的工作量。
2 以《普通專科分專業學生數》(高基311)為例自動生成報表統計法
2.1 設計或導入《高基311》的統計模板
首先需要對《高基311》報表的表格做適當修改,以生成統計模板。《高基311》表頭樣式如表1所示。
創建有如下字段的數據表(GJ311B)格式:學科、專業分類、專業名稱、自主專業名稱、專業代碼、是否師范專業、年制、畢業生數、招生數合計、其中應屆畢業生、其中春季招生、其中預科生轉入、在校生數合計、在校生數一年級、在校生數二年級、在校生數三年級、在校生數四年級及以上、預計畢業生數等。
在PL/SQL Developer中,向數據表(GJ311B)插入上一年度的《高基311》數據記錄,并將所有數據值清零,形成統計模板,如表2。
例如將各專業的畢業生數清零SQL語句如下:
Update GJ311B set畢業生數=null
并將已經數值清零的數據表復制一份備用:
Create table GJ311B2 as select * from GJ311B
2.2 逐字段更新數據
《高基311》的統計數據來自學生基本信息表(xsjbxxb),包含學號,姓名、性別,身份證號碼,學院,專業名稱,專業代碼,班級,當前所在級,學制等字段。
如果以學制為3年制,學生類型為“高中起點專科”,2017年9月進行統計為例,那么更新畢業生數統計數據的SQL語句如下:
update GJ311B a set 畢業生數=(select 畢業生數from (select 專業代碼,count(*) as 畢業生數 from xsjbxxb where xslx in ('高中起點專科') and dqszj in ('2014') group by專業代碼) b where a.專業代碼=b.專業代碼)
其他字段如“招生數合計”、“在校生數一年級”等的數值統計方法依此類推即可。
高中起點專科各合計欄統計的SQL語句如下:
update GJ311B set 畢業生數=(select sum(畢業生數) from GJ311B ) where專業代碼in ('41101')
2.3 巧妙處理相同專業包括多種類別學生的統計問題
在《高基311》中因為同一專業名稱“對口招收中職生”的專業代碼與“高中起點專科”的專業代碼是相同的,所以需要先分開統計,然后再合并到同一張統計報表中。
在備用統計報表GJ311B2中,先統計對口招收中職生的數據:
update GJ311B2 a set 畢業生數=(select 畢業生數from (select 專業代碼,count(*) as 畢業生數 from xsjbxxb where xslx in ('對口招收中職生') and dqszj in ('2014') group by專業代碼) b where a.專業代碼=b.專業代碼)
對口招收中職生合計欄統計的SQL語句如下:
update GJ311B2 set 畢業生數=(select sum(畢業生數) from GJ311B2 ) where專業代碼in ('41102')
再合并統計結果:Insert into GJ311B select * from GJ311B2
2.4 各類別的總合計數統計
統計任務包括“普通專科生(41100)”和“其中:女(411002)”兩條記錄的各數據項求值。統計“普通專科生(41100)”既可以直接在《高基311》對各記錄求和,也可以在學生基本信息表(xsjbxxb)中統計。
還是以畢業生數的統計為例,其SQL語句如下:
2.4.1 直接在《高基311》對各記錄求和:
update GJ311B set 畢業生數=(select sum(畢業生數) from GJ311B where substr(專業代碼,1,3) not in (‘411)) where專業代碼in ('41100').
2.4.2 在學生基本信息表(xsjbxxb)中統計:
update GJ311B set 畢業生數=(select count(*) from xsjbxxb where dqszj in ('2014')) where 專業代碼 in ('411002')
2.4.3 統計“其中:女(411002)”
update GJ311B set 畢業生數=(select count(*) from xsjbxxb where dqszj in ('2014') and 性別 in (‘女)) where 專業代碼 in ('411002')
將以上統計語句編入程序,下一年度只須替換學生基本信息表(xsjbxxb)和更改統計時間點等參數,即可實現迅速得出統計報表。
3 自動生成統計報表效果分析
實踐證明,以我校辦學規模(在校生約13000人,專業數量不到30個,學生來源類型分高中起點專科和對口招收中職生兩種)手工填報高基報表中與學籍管理相關的7張報表,要達到校驗完全正確,一般需要大約五個工作日。整個統計報表工作的工作量會隨著在校生人數、專業數量等的增多而增大。
而采用自動生成統計報表方式統計,包括生成報表模板的時間,完成整個統計系列報表只需要半天,即可達到校驗完全正確。如果是直接利用往年已經使用過的程序和模板,那就只須更換學生基本信息表和更改統計時間點等參數,更是可以在一小時內完成整個統計報表工作,效率提高數十倍。
4 結束語
自動生成統計報表方式有兩個重點,一個是基本數據信息表(比如上面提到的學生基本信息表)的日常維護要盡可能規范,這是一切統計工作的基礎;二是各種統計報表模板的初次生成和反復利用,只要統計的內容要求沒有大的變化,那么模板可以也應該多次反復使用,以提高完成統計報表工作的效率。
參考文獻:
[1]鄒艷.高校科技統計工作存在的問題與對策——以全國普通高等學校理工農醫類科技統計年報表為例[J].課程教育研究,2017(20).
[2]冷秋穎,李金寶.VBA編程在統計報表中的應用研究[J].吉林師范大學學報(自然科學版),2010(3).
[3]張戰虎.統計信息工作在高校精細化管理中的作用[J].人間,2015(16).