文/李淵本 鄧露露 陳唯蓉
在對統(tǒng)計(jì)數(shù)據(jù)進(jìn)行清洗時(shí), 面臨著數(shù)據(jù)量大、操作重復(fù)性高、處理步驟繁瑣等問題, 如何低成本、高質(zhì)量、高效率地完成統(tǒng)計(jì)數(shù)據(jù)清洗工作, 尤其是在人手不足、信息技術(shù)手段較弱、軟硬件配置不高的基層統(tǒng)計(jì)部門, 通過充分利用現(xiàn)有的統(tǒng)計(jì)辦公手段, 進(jìn)行統(tǒng)計(jì)數(shù)據(jù)快速清洗, 其方法值得研究。本文以江西省一套表調(diào)查單位監(jiān)測平臺數(shù)據(jù)快速清洗為例, 通過統(tǒng)計(jì)日常辦公的WPS 表格軟件, 運(yùn)用JSA 技術(shù)對WPS 表格二次開發(fā), 探索出對統(tǒng)計(jì)普查數(shù)據(jù)整合、篩選、去重、計(jì)算、轉(zhuǎn)換等一套行之有效的數(shù)據(jù)清洗方法, 有助于基層統(tǒng)計(jì)部門數(shù)據(jù)處理的提速增效。
WPS 表格軟件因強(qiáng)大的功能與友好的交互界面,被廣泛地應(yīng)用到統(tǒng)計(jì)部門辦公場景之中。利用該軟件可以完成信息保存、數(shù)據(jù)計(jì)算、數(shù)據(jù)處理、數(shù)據(jù)分析等任務(wù)。雖然WPS 表格已經(jīng)集成了較多的數(shù)據(jù)處理功能,但在許多統(tǒng)計(jì)數(shù)據(jù)處理場景下,為了機(jī)械操作、重復(fù)步驟投入大量的人力、物力和時(shí)間,嚴(yán)重影響工作效率。若將此類工作內(nèi)容的處理方式轉(zhuǎn)化為利用JSA 技術(shù)進(jìn)行WPS 二次開發(fā)程序自動(dòng)操作完成,將極大提升統(tǒng)計(jì)數(shù)據(jù)處理工作效能。具體來說有如下三項(xiàng)優(yōu)點(diǎn)。
一是用戶軟件友好度高。作為國人自研辦公軟件,金山WPS 已經(jīng)在機(jī)關(guān)單位中得到廣泛部署(如圖示1),其操作上更符合國人信息化辦公習(xí)慣,相較于微軟Excel 軟件,用戶使用上更具親切感,軟件友好度更高。
圖1 WPS 表格說明
二是方法便捷易上手。由于基層統(tǒng)計(jì)人才建設(shè)相對薄弱,能夠熟練運(yùn)用專業(yè)數(shù)據(jù)業(yè)務(wù)軟件和具有編程能力的人才相對較少,WPS 表格二次開發(fā)程序通過點(diǎn)擊JSA 宏編輯器二次開發(fā)的用戶界面窗口的相應(yīng)命令按鈕即可完成操作,用戶上手快,極大簡化了其操作步驟。
三是可在類似數(shù)據(jù)處理場景中多次使用。無需另行安裝和學(xué)習(xí)新的軟件, 復(fù)制帶有JSA 宏的WPS 表格文件進(jìn)行操作,就可以實(shí)現(xiàn)其他相類似的數(shù)據(jù)清洗的完整流程。
數(shù)據(jù)是構(gòu)成信息的基本形式,特別是統(tǒng)計(jì)調(diào)查中的數(shù)據(jù)。如何從海量數(shù)據(jù)中提取有價(jià)值信息,數(shù)據(jù)清洗就顯得尤為重要[1]。數(shù)據(jù)清洗是指對數(shù)據(jù)進(jìn)行處理和加工, 以使其適合進(jìn)行進(jìn)一步的數(shù)據(jù)操作和分析,它可以消除數(shù)據(jù)錯(cuò)誤和噪聲,并提高統(tǒng)計(jì)數(shù)據(jù)質(zhì)量和統(tǒng)計(jì)分析精度,是提升數(shù)據(jù)質(zhì)量的有效途徑。
數(shù)據(jù)清洗基本流程有以下幾個(gè)方面。一是對源數(shù)據(jù)的讀取后進(jìn)行數(shù)據(jù)整合,包括對CSV 文件,WPS 表格、Excel 工作簿以及MS SQL 等數(shù)據(jù)文件的數(shù)據(jù)讀取和整合。二是對合并后的源數(shù)據(jù)進(jìn)行篩選選擇需要目標(biāo)數(shù)據(jù)的行或者列。三是對篩選出的目標(biāo)數(shù)據(jù)進(jìn)行數(shù)字去重處理,通過關(guān)鍵字段得到數(shù)據(jù)的唯一值。四是對篩選出的目標(biāo)數(shù)據(jù)進(jìn)行計(jì)算,比如對相同指標(biāo)字段求和的數(shù)據(jù)計(jì)算。五是對數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換,對日期格式或者單元格格式的轉(zhuǎn)換,以及對整個(gè)數(shù)據(jù)集的文件格式的轉(zhuǎn)換。
數(shù)據(jù)清洗是整個(gè)數(shù)據(jù)分析過程中不可缺少的一個(gè)環(huán)節(jié),其結(jié)果質(zhì)量直接關(guān)系到數(shù)據(jù)質(zhì)量和最終效果[2]。在具體實(shí)踐中, 數(shù)據(jù)清洗通常會占據(jù)數(shù)據(jù)處理過程60%-80% 的時(shí)間, 因此, 數(shù)據(jù)清洗工作不僅非常必要,也是整項(xiàng)數(shù)據(jù)處理工作的重點(diǎn)與難點(diǎn)。
數(shù)據(jù)清洗是指通過一系列操作,將原始數(shù)據(jù)轉(zhuǎn)為可以進(jìn)行分析的數(shù)據(jù)集的過程。從數(shù)據(jù)源頭進(jìn)行數(shù)據(jù)源清洗,可以避免數(shù)據(jù)錯(cuò)誤對后續(xù)數(shù)據(jù)匯總、數(shù)據(jù)使用、數(shù)據(jù)分析等環(huán)節(jié)產(chǎn)生影響[3]。本文以監(jiān)測平臺數(shù)據(jù)清洗為例,數(shù)據(jù)清洗可以分為數(shù)據(jù)整合、數(shù)據(jù)篩選、數(shù)據(jù)去重、數(shù)據(jù)計(jì)算、數(shù)據(jù)轉(zhuǎn)換五個(gè)步驟。其功能需求(如圖示2)和設(shè)計(jì)思路如下。
圖2 功能模塊樹狀圖
第一步,從監(jiān)測平臺下載稅務(wù)部門提供的每月“達(dá)標(biāo)市場主體一般納稅人”、每月“達(dá)標(biāo)市場主體小規(guī)模納稅人”數(shù)據(jù)表,并對照源數(shù)據(jù)與導(dǎo)入模板表頭的字段指標(biāo),調(diào)整沒有對應(yīng)的字段,這步很關(guān)鍵,表頭的每一個(gè)字段都要對應(yīng)上。進(jìn)行數(shù)據(jù)整合操作,形成完整的數(shù)據(jù)集,保存于模板數(shù)據(jù)工作表中。
第二步,對模板數(shù)據(jù)工作表中的數(shù)據(jù)集,由于“統(tǒng)一社會信用代碼”與統(tǒng)計(jì)普查對象是一一對應(yīng)關(guān)系,通過“統(tǒng)一社會信用代碼”字段進(jìn)行篩選,把“統(tǒng)一社會信用代碼”相同的普查對象篩選出來,并高亮標(biāo)記紅色。
第三步,此時(shí)在模板數(shù)據(jù)表所在的工作簿中,新插入工作表,并命名為“輔助表1”,將高亮紅色標(biāo)記的“統(tǒng)一社會信用代碼”相同的普查對象數(shù)據(jù)信息移(復(fù)制)至“輔助表1”,再通過“統(tǒng)一社會信用代碼”字段進(jìn)行去重操作,達(dá)到對普查對象進(jìn)行去重的目的,此時(shí),輔助表1 工作表中只有相同普查對象的唯一值。
第四步,此時(shí)在模板數(shù)據(jù)表所在的工作簿中,再新插入一張工作表,并命名為“輔助表2”,將高亮紅色標(biāo)記的“統(tǒng)一社會信用代碼”相同的普查對象數(shù)據(jù)信息移(剪切)至“輔助表2”工作表,與“輔助表1”工作表關(guān)聯(lián),對統(tǒng)一社會信用代碼相同的單位涉及增值稅銷售額的“全部銷售額”“按適用稅率計(jì)稅銷售額”“按簡易辦法計(jì)稅銷售額”“免抵退辦法出口銷售額”“免稅銷售額”“進(jìn)項(xiàng)稅額”“銷項(xiàng)稅額”等7項(xiàng)指標(biāo)字段進(jìn)行相加計(jì)算,數(shù)據(jù)計(jì)算結(jié)果保存在“輔助表1”工作表中,并將其數(shù)據(jù)結(jié)果移至模板數(shù)據(jù)表中,此時(shí)模板數(shù)據(jù)表中數(shù)據(jù)集為完整的監(jiān)測平臺數(shù)據(jù)。
第五步,對模板數(shù)據(jù)表中數(shù)據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換,例如,把涉及增值稅銷售額的指標(biāo)源數(shù)據(jù)單位“元”全部轉(zhuǎn)換為“萬元”,把源數(shù)據(jù)日期格式“YYYY/M/D”轉(zhuǎn)換為“五經(jīng)普”模板所要求的格式“YYYY-MM-DD”等。完成監(jiān)測平臺數(shù)據(jù)清洗后,將模板工作表的xlsx文件格式轉(zhuǎn)換為CSV 文件格式,與統(tǒng)計(jì)基本單位名錄庫數(shù)據(jù)合并生成單位清查基礎(chǔ)庫。
通過數(shù)據(jù)整合將分散的數(shù)據(jù)集合在一起,將以上數(shù)據(jù)集合轉(zhuǎn)換為統(tǒng)一的WPS 表格格式, 并保存在同一張WPS 表格工作表中。需要使用SelectedSheets.Move()方法,整體移動(dòng)數(shù)據(jù)表匯總到一張工作表中,使用Selection.Copy()、ActiveSheet.Paste() 方法,對工作表內(nèi)所需數(shù)據(jù)進(jìn)行復(fù)制。
對工作表數(shù)據(jù)進(jìn)行數(shù)據(jù)查找, 做重復(fù)項(xiàng)查找的字段為“統(tǒng)一社會信用代碼”, 篩選出重復(fù)項(xiàng)數(shù)據(jù)并高亮標(biāo)記為紅色。需要使用Columns.Item("A:A").Select()方法,對重復(fù)項(xiàng)篩選所在列的數(shù)據(jù)選擇,使用Selection.FormatConditions.Item(1).Interior.Color= (0, 0, 255)代碼對重復(fù)值高亮標(biāo)記為紅色。
使用RemoveDuplicates() 方法, 對“統(tǒng)一社會信用代碼”字段的重復(fù)項(xiàng)進(jìn)行去重,得出一張“統(tǒng)一社會信用代碼”唯一值的數(shù)據(jù)表,并以此數(shù)據(jù)表為基礎(chǔ)表進(jìn)行下一步的數(shù)據(jù)計(jì)算操作。
通過“統(tǒng)一社會信用代碼”字段篩選出重復(fù)項(xiàng)數(shù)據(jù)后,按照“統(tǒng)一社會信用代碼”字段中相同單位涉及增值稅銷售額的指標(biāo)進(jìn)行相加,指標(biāo)共有7 項(xiàng)。使 用Selection.Formula = "=SUMIF()" 方 法, 對SUMIF 公式進(jìn)行引用,使用Selection.AutoFill()方法,自動(dòng)填充所有其他數(shù)據(jù)進(jìn)行相同計(jì)算,最后得到計(jì)算后的數(shù)據(jù)。
由于一套表中數(shù)據(jù)的單位和格式與“五經(jīng)普”要求略有不同,因此要將模板工作表數(shù)據(jù)進(jìn)行轉(zhuǎn)換,以滿足“五經(jīng)普”要求。通過PasteSpecial() 方法, 進(jìn)行“選擇性粘貼”,將數(shù)據(jù)的通用格式轉(zhuǎn)換為數(shù)值格式;第二步,將數(shù)據(jù)值除以10000,使得數(shù)值單位從“元”轉(zhuǎn)換為“萬元”;第三步,將數(shù)值保留有效小數(shù)后兩位;最后,通過NumberFormatLocal()方法將原日期格式改成“五經(jīng)普”所要求格式。使用ActiveWorkbook.SaveAs()方法,最后將工作簿文件轉(zhuǎn)換為CSV 文件。
綜上所述,利用JSA 宏技術(shù)手段從源頭上把控?cái)?shù)據(jù)質(zhì)量, 提升普查數(shù)據(jù)處理能力, 科學(xué)、規(guī)范、高效推進(jìn)普查工作,做到一套表調(diào)查單位不重不漏,增減變動(dòng)情況在單位庫中準(zhǔn)確反映,確保單位清查基礎(chǔ)庫數(shù)據(jù)的全面、真實(shí)、有效。該信息化技術(shù)實(shí)現(xiàn)數(shù)據(jù)快速清洗的方法,在其他統(tǒng)計(jì)調(diào)查數(shù)據(jù)處理工作中也非常實(shí)用,只要通過簡單的代碼修改,數(shù)據(jù)整合、數(shù)據(jù)篩選、數(shù)據(jù)去重、數(shù)據(jù)計(jì)算、數(shù)據(jù)轉(zhuǎn)換等功能模塊就可在相類似的數(shù)據(jù)處理過程中使用,因此,該實(shí)踐對于提升統(tǒng)計(jì)調(diào)查數(shù)據(jù)處理效率有著較大的應(yīng)用價(jià)值,值得進(jìn)一步豐富完善和大力推廣。下一步,筆者將繼續(xù)積極探索現(xiàn)代化信息技術(shù)手段在統(tǒng)計(jì)調(diào)查工作中的應(yīng)用,不斷加強(qiáng)信息技術(shù)在統(tǒng)計(jì)工作的應(yīng)用力度,提高數(shù)據(jù)處理能力,提升統(tǒng)計(jì)調(diào)查工作效能,為“五經(jīng)普”的順利實(shí)施和現(xiàn)代化統(tǒng)計(jì)事業(yè)貢獻(xiàn)應(yīng)有力量。
注:“五經(jīng)普”全稱為第五次全國經(jīng)濟(jì)普查