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