程 平(博士生導(dǎo)師),杜 姍
近年來,隨著云會計(jì)[1]、物聯(lián)網(wǎng)、大數(shù)據(jù)等技術(shù)的快速發(fā)展,以“數(shù)據(jù)驅(qū)動”進(jìn)行各類決策的趨勢逐漸得到認(rèn)可與推廣,其中,圍繞特定業(yè)務(wù)主題的數(shù)據(jù)倉庫與聯(lián)機(jī)分析處理(OLAP)由于直接對接具體應(yīng)用業(yè)務(wù)與數(shù)據(jù)源,得到了廣泛應(yīng)用。鑒于此,本文以重慶海事局為例,設(shè)計(jì)面向采購管理內(nèi)部控制評價的數(shù)據(jù)倉庫體系結(jié)構(gòu),探討行政事業(yè)單位采購管理內(nèi)部控制評價數(shù)據(jù)倉庫的構(gòu)建與應(yīng)用,以期為相關(guān)部門開展更為全面的內(nèi)部控制評價信息化工作提供支持。
重慶海事局是交通運(yùn)輸部設(shè)置在長江干線負(fù)責(zé)重慶段水上安全監(jiān)督管理、防止船舶污染水域和水上人命救助的行政執(zhí)法機(jī)關(guān)。采購管理作為行政事業(yè)單位的重要經(jīng)濟(jì)業(yè)務(wù)活動,經(jīng)過多年的探索與實(shí)踐,重慶海事局單位層面上的采購管理內(nèi)部控制建設(shè)取得了良好的效果。采購業(yè)務(wù)流程主要包括采購預(yù)算編審、采購計(jì)劃申報與審批、采購合同審核、采購預(yù)算與計(jì)劃的執(zhí)行、資金結(jié)算以及供應(yīng)商評價等環(huán)節(jié)。根據(jù)《行政事業(yè)單位內(nèi)部控制規(guī)范(試行)》(以下簡稱《內(nèi)控規(guī)范》)的要求,重慶海事局按照政府集中采購和協(xié)議采購流程,實(shí)現(xiàn)了“先預(yù)算、后計(jì)劃、再采購”,對采購業(yè)務(wù)各環(huán)節(jié)的關(guān)鍵點(diǎn)進(jìn)行重點(diǎn)控制。采用表單數(shù)據(jù)采集方式,管理和使用部門可以隨時從數(shù)據(jù)庫中提取供應(yīng)商、采購內(nèi)容、合同金額、合同時間等采購過程數(shù)據(jù),實(shí)現(xiàn)對采購業(yè)務(wù)的全程透明控制。
對于整體采購業(yè)務(wù)流程而言,目前重慶海事局運(yùn)用大數(shù)據(jù)、云會計(jì)等技術(shù)將采購業(yè)務(wù)及其控制流程成功嵌入到財(cái)務(wù)云平臺中,基本完成了采購業(yè)務(wù)內(nèi)部控制信息化的事前與事中審核,但是很難實(shí)現(xiàn)對采購供應(yīng)商的商業(yè)信用評估、采購業(yè)務(wù)整體情況分析等事后評價體系的建立。對于分析型的數(shù)據(jù)處理而言,重慶海事局現(xiàn)有的各數(shù)據(jù)源之間沒有很好的信息交互與共享功能,導(dǎo)致海量數(shù)據(jù)與“孤島信息”的情況并存,而且數(shù)據(jù)質(zhì)量不高,僅僅停留在業(yè)務(wù)層面,因此為了便于做出管理決策,有必要構(gòu)建面向分析層面的數(shù)據(jù)倉庫。
基于財(cái)務(wù)云平臺的采購管理內(nèi)部控制數(shù)據(jù)倉庫以《內(nèi)控規(guī)范》為法規(guī)依據(jù),結(jié)合重慶海事局采購業(yè)務(wù)流程,本文將數(shù)據(jù)倉庫體系結(jié)構(gòu)分為采購管理數(shù)據(jù)源、ETL(Extract,Transform,Lord)過程、采購管理內(nèi)部控制數(shù)據(jù)倉庫、采購管理內(nèi)部控制數(shù)據(jù)分析評價、采購管理內(nèi)部控制評價結(jié)果輸出五個部分。具體采購管理內(nèi)部控制評價數(shù)據(jù)倉庫體系結(jié)構(gòu)設(shè)計(jì)過程圖參考《財(cái)會月刊》2019年第13期中的文章《基于數(shù)據(jù)倉庫的行政事業(yè)單位單位層面內(nèi)部控制評價——以重慶海事局為例》相關(guān)內(nèi)容[2]。
首先,采購管理內(nèi)部控制評價數(shù)據(jù)是從海量的相關(guān)數(shù)據(jù)源中,經(jīng)過數(shù)據(jù)采集和數(shù)據(jù)的抽取、清洗、轉(zhuǎn)換,按照不同的主題加載到采購管理內(nèi)部控制評價主題數(shù)據(jù)庫中。采購管理主題數(shù)據(jù)庫中按照不同的主題,如采購預(yù)算編制科學(xué)性、采購方式合理性、質(zhì)疑投訴答復(fù)率等對數(shù)據(jù)進(jìn)行分類存放形成數(shù)據(jù)集市。其次,將采購管理主題數(shù)據(jù)庫與采購管理內(nèi)部控制評價分析系統(tǒng)直接相連,實(shí)現(xiàn)采購管理內(nèi)部控制評價數(shù)據(jù)的挖掘與分析。最后,將分析結(jié)果以可視化的方式呈現(xiàn)給決策用戶端,實(shí)現(xiàn)用戶需求的響應(yīng)與反饋。
數(shù)據(jù)采集即ETL 過程,是數(shù)據(jù)倉庫的核心,是將各個存儲著財(cái)務(wù)信息的業(yè)務(wù)板塊數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行抽取、清洗、轉(zhuǎn)換、加載的過程。對與采購管理內(nèi)部控制評價相關(guān)聯(lián)的多種數(shù)據(jù)信息進(jìn)行抓取,通過ETL 過程將重復(fù)冗余的信息進(jìn)行清洗,對缺失數(shù)據(jù)進(jìn)行處理,進(jìn)而加載到采購管理內(nèi)部控制評價主題數(shù)據(jù)倉庫中。
目前,重慶海事局的數(shù)據(jù)來源主要有財(cái)務(wù)云平臺、金蝶K3 系統(tǒng)、各類文件掃描件等多種采購業(yè)務(wù)相關(guān)數(shù)據(jù),涵蓋了海量的結(jié)構(gòu)化、非結(jié)構(gòu)化以及半結(jié)構(gòu)化數(shù)據(jù)。其中,結(jié)構(gòu)化數(shù)據(jù)是指由二維表結(jié)構(gòu)進(jìn)行邏輯表達(dá)和實(shí)現(xiàn)的數(shù)據(jù),嚴(yán)格遵循數(shù)據(jù)格式與長度規(guī)范,通過關(guān)系型數(shù)據(jù)庫進(jìn)行存儲和管理。采購管理內(nèi)部控制涉及的結(jié)構(gòu)化數(shù)據(jù)主要來源于財(cái)務(wù)云平臺業(yè)務(wù)數(shù)據(jù)庫中。非結(jié)構(gòu)化數(shù)據(jù)是指數(shù)據(jù)結(jié)構(gòu)不規(guī)則或不完整,沒有預(yù)定義的數(shù)據(jù)模型,不方便用數(shù)據(jù)庫二維表結(jié)構(gòu)來表現(xiàn)的數(shù)據(jù)。采購管理內(nèi)部控制涉及的非結(jié)構(gòu)化數(shù)據(jù)主要包含采購合同文本掃描件、采購物資的相關(guān)票據(jù)、《內(nèi)控規(guī)范》等相關(guān)文本文件。半結(jié)構(gòu)化數(shù)據(jù)是指非關(guān)系模型的、有基本固定結(jié)構(gòu)模式的數(shù)據(jù)。采購管理內(nèi)部控制涉及的半結(jié)構(gòu)化數(shù)據(jù)主要是指中國政府采購網(wǎng)等以html 文件格式存儲的采購相關(guān)信息。
各種數(shù)據(jù)需要通過進(jìn)一步清洗、轉(zhuǎn)換才能將有助于數(shù)據(jù)分析的信息抽取到數(shù)據(jù)倉庫中進(jìn)行存儲。數(shù)據(jù)清洗的任務(wù)是過濾掉不符合要求的數(shù)據(jù),主要包括不完整數(shù)據(jù)(如供應(yīng)商名稱缺失、采購商品種類缺失等)、錯誤數(shù)據(jù)(如采購商品日期格式錯誤、采購金額等數(shù)值數(shù)據(jù)被輸成全角數(shù)字字符等)、重復(fù)數(shù)據(jù)(如不同維度表中包含的相同字段等)。清洗過程就是將不完整數(shù)據(jù)補(bǔ)充完善后重新錄入,將錯誤數(shù)據(jù)在業(yè)務(wù)系統(tǒng)中更正后錄入并刪除重復(fù)數(shù)據(jù)的過程。數(shù)據(jù)轉(zhuǎn)換則主要是進(jìn)行不一致的數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)粒度的轉(zhuǎn)換。不一致數(shù)據(jù)轉(zhuǎn)換是指將不同業(yè)務(wù)系統(tǒng)的相同類型的數(shù)據(jù)統(tǒng)一,如同一個供應(yīng)商在財(cái)務(wù)云平臺中的編碼為XX001,在金蝶K3 系統(tǒng)中的編碼為YY001,需在數(shù)據(jù)抽取后將其轉(zhuǎn)換為同一編碼。數(shù)據(jù)粒度的轉(zhuǎn)換主要是將不同業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)按照采購管理內(nèi)部控制評價數(shù)據(jù)倉庫的粒度進(jìn)行聚合。
數(shù)據(jù)倉庫的主題是在較高層次上將業(yè)務(wù)模型和面向事務(wù)的數(shù)據(jù)進(jìn)行分析、歸類和綜合的一個過程,每個主題對應(yīng)一個分析領(lǐng)域。結(jié)合《內(nèi)控規(guī)范》及相關(guān)規(guī)定的要求,采購管理內(nèi)部控制評價應(yīng)滿足采購預(yù)算編制、采購招投標(biāo)管理、采購質(zhì)疑投訴等方面的需求,實(shí)現(xiàn)對重慶海事局采購管理不同模塊數(shù)據(jù)的分析及評價。因此,本文將重慶海事局采購管理模塊數(shù)據(jù)倉庫的主題域分為:采購預(yù)算編制科學(xué)性、采購計(jì)劃執(zhí)行有效性、采購方式合理性、招投標(biāo)控制合規(guī)性、質(zhì)疑投訴答復(fù)率、采購檔案完整性、采購信息分析統(tǒng)計(jì)合規(guī)性等七個主題,具體見表1。
在表1中,以采購預(yù)算編制科學(xué)性主題為例,可通過考察預(yù)算編制表“項(xiàng)目名稱”“申報金額”“核定金額”和采購管理辦法中“產(chǎn)品配置數(shù)量”“產(chǎn)品使用年限”是否符合實(shí)際需求和相關(guān)標(biāo)準(zhǔn)編制政府采購預(yù)算,從而評價采購預(yù)算的編制是否科學(xué)。
表1 采購管理內(nèi)部控制評價數(shù)據(jù)倉庫主題域
數(shù)據(jù)倉庫的粒度劃分層次是數(shù)據(jù)倉庫構(gòu)建設(shè)計(jì)中要解決的一個重要問題,粒度層次劃分適當(dāng)與否直接影響數(shù)據(jù)倉庫中的數(shù)據(jù)量和所適合的查詢類型。一般數(shù)據(jù)的粒度分為單一粒度和雙重粒度:單一粒度是指將數(shù)據(jù)的最細(xì)粒度數(shù)據(jù)增量存儲,并在最細(xì)粒度模型上聚合數(shù)據(jù);雙重粒度是指只將最近幾個月的最新粒度數(shù)據(jù)保留在數(shù)據(jù)倉庫中,當(dāng)?shù)竭_(dá)某個保留周期時,將保留周期之后的數(shù)據(jù)導(dǎo)出到磁盤上存儲,從而為最新的數(shù)據(jù)騰出空間。單一粒度和雙重粒度的區(qū)別在于:單一粒度將最細(xì)粒度的數(shù)據(jù)永久保存于數(shù)據(jù)倉庫中,而雙重粒度保留周期內(nèi)最新的最細(xì)粒度數(shù)據(jù)。重慶海事局內(nèi)有多套業(yè)務(wù)系統(tǒng),歷史數(shù)據(jù)量大,若采用單一粒度,那么對于存儲的要求極高,因此,本文數(shù)據(jù)倉庫將采用雙重粒度。例如采購預(yù)算編制科學(xué)性主題可從時間維度進(jìn)行分析,按照采購日期、預(yù)算編制日期以日為最小粒度進(jìn)行粒度分割;采購方式合理性可從采購商品的地區(qū)維度進(jìn)行分析,按照采購商品地點(diǎn)以區(qū)為最小粒度進(jìn)行粒度分割。
數(shù)據(jù)倉庫的模型設(shè)計(jì)是數(shù)據(jù)倉庫建設(shè)的核心,也是決定數(shù)據(jù)倉庫項(xiàng)目成功完成與否的關(guān)鍵因素?;谏衔膶Σ少徆芾韮?nèi)部控制評價數(shù)據(jù)倉庫主題域的劃分,將其劃分為七個數(shù)據(jù)集市,并基于各主題特性,構(gòu)建數(shù)據(jù)倉庫模型,不同主題域的模型設(shè)計(jì)見表2。本文以采購預(yù)算編制科學(xué)性主題為例,對其進(jìn)行具體的數(shù)據(jù)倉庫模型設(shè)計(jì)。
1.概念模型。數(shù)據(jù)倉庫的概念模型設(shè)計(jì)可采用E-R 模型以及面向?qū)ο蠓治鰞煞N方法,本文采用E-R 模型進(jìn)行采購管理內(nèi)部控制評價數(shù)據(jù)倉庫的概念模型設(shè)計(jì),如圖1所示。
圖1 采購管理內(nèi)部控制評價數(shù)據(jù)倉庫概念模型
2.邏輯模型。數(shù)據(jù)倉庫的邏輯模型則是概念模型的具體化。采購管理內(nèi)部控制評價數(shù)據(jù)倉庫的每個主題都是由多個表來實(shí)現(xiàn)的,這些表之間依靠主題的主鍵聯(lián)系在一起,形成一個完整的主題。維度表是用戶分析數(shù)據(jù)的窗口,決定了數(shù)據(jù)分析的廣度。事實(shí)表則用來存放業(yè)務(wù)的數(shù)字度量值信息,這些度量值信息是從各維度的交點(diǎn)處得來的。在選取數(shù)據(jù)倉庫維度時應(yīng)該將實(shí)體作為一個對象,把與該對象相關(guān)的所有重要屬性都提取出來作為獨(dú)立維度。以采購預(yù)算編制科學(xué)性主題為例,其維度可分為采購商品維、資產(chǎn)維、采購方式維、預(yù)算編制維、預(yù)算標(biāo)準(zhǔn)維、人員維等,通過以上維度與事實(shí)表相連,具體分析采購預(yù)算編制是否符合相關(guān)規(guī)定以及采購預(yù)算是否符合實(shí)際需求。具體的邏輯模型設(shè)計(jì)如圖2所示。
表2 行政事業(yè)單位采購管理內(nèi)部控制評價
3.物理模型。數(shù)據(jù)倉庫的物理模型設(shè)計(jì)就是數(shù)據(jù)倉庫邏輯模型在物理系統(tǒng)的實(shí)現(xiàn),即基于邏輯模型,在數(shù)據(jù)倉庫中建表、索引等。本文以采購預(yù)算編制科學(xué)性主題為例的物理模型設(shè)計(jì)如下:
(1)NK_YW_CG_WD_CGSP【采購商品維度表】包含字段:CGSP_ID【采購商品ID】、CGSP_NAME【采購商品名稱】、CGSP_NOTE【采購商品信息】。
(2)NK_YW_CG_WD_CGFS【采購方式維度表】包含字段:CGFS_ID【采購方式ID】、CGFS_NAME【采購方式名稱】、CGFS_NOTE【采購說明】、CGFS_Depot【采購部門】。
(3)NK_YW_CG_WD_ZC【資產(chǎn)維度表】包含字段:ZC_ID【資產(chǎn)ID】、ZC_NAME【資產(chǎn)名稱】、ZC_STYLE【資產(chǎn)類型】、ZC_Depot【資產(chǎn)使用部門】。
(4)NK_YW_CG_WD_People【人員維度表】包含字段:P_ID【人員ID】、P_NAME【人員名稱】、P_AUTHORITY【人員權(quán)限】、P_Depot【人員部門】。
(5)NK_YW_CG_WD_YSXM【預(yù)算項(xiàng)目維度表】包含字段:B_ID【預(yù)算項(xiàng)目ID】、B_NAME【預(yù)算項(xiàng)目名稱】、B_STYLE【預(yù)算項(xiàng)目類型】。
(6)NK_YW_CG_WD_TIME【時間維度表】包含字段:Year【年】、Month【月】、Day【日】。
圖2 采購預(yù)算編制科學(xué)性主題數(shù)據(jù)倉庫雪花模型
基于采購管理內(nèi)部控制評價數(shù)據(jù)倉庫的決策分析方法主要有聯(lián)機(jī)分析處理程序(OLAP)、運(yùn)用HQL查詢語句以及數(shù)據(jù)挖掘三種方法。聯(lián)機(jī)分析處理程序(OLAP)是一種歸納型的決策過程,基本操作包括切片、切塊、旋轉(zhuǎn)、上卷、下鉆,主要優(yōu)勢在于能夠直接仿照用戶的多角度思考模式,預(yù)先為用戶組建多維數(shù)據(jù)模型,通過快捷、一致、交互的訪問使用戶更好地理解數(shù)據(jù)。Hive 是一個以Hadoop 為基礎(chǔ)的、建立在Hadoop 生態(tài)系統(tǒng)之上的數(shù)據(jù)倉庫,能夠?qū)Υ罅康慕Y(jié)構(gòu)化數(shù)據(jù)進(jìn)行存儲與處理。它將數(shù)據(jù)存儲在HDFS中,采用類SQL語言HQL語句對數(shù)據(jù)進(jìn)行操作與管理。Hive 中的解釋器負(fù)責(zé)對HQL 進(jìn)行解析和轉(zhuǎn)換,將其解釋為Map/Reduce 任務(wù),并通過執(zhí)行Map/Reduce任務(wù)返回對Hive中數(shù)據(jù)的查詢或處理的結(jié)果。數(shù)據(jù)挖掘一般是指從大量的數(shù)據(jù)中通過算法搜索隱藏于其中信息的過程。本文重點(diǎn)介紹利用HQL查詢語句進(jìn)行分析查詢的方法。
根據(jù)上文確立的采購管理內(nèi)部控制評價數(shù)據(jù)倉庫主題域,可對七個分析主題建立評價模型,本文以基于重慶海事局財(cái)務(wù)云平臺的采購預(yù)算編制科學(xué)性主題模型為例,利用HQL 語言在Hive 中完成對海量數(shù)據(jù)的查詢操作,實(shí)現(xiàn)對采購管理中異常點(diǎn)、風(fēng)險點(diǎn)的捕捉。采購預(yù)算編制科學(xué)性主題旨在考察單位采購資金安排和使用的合理性,是否符合實(shí)際需求和相關(guān)標(biāo)準(zhǔn)編制政府采購預(yù)算。首先檢查采購預(yù)算的編制是否符合《內(nèi)控規(guī)范》等相關(guān)條例,如采購方式、采購金額等;其次檢查采購商品的實(shí)際情況與采購預(yù)算編制是否相符,是否存在預(yù)算未執(zhí)行或超預(yù)算購買的情況。
1.步驟一。運(yùn)用HQL語句從數(shù)據(jù)倉庫中選取相關(guān)數(shù)據(jù)項(xiàng),篩選出采購項(xiàng)目中不符合采購預(yù)算編制科學(xué)性的項(xiàng)目。通過“預(yù)算項(xiàng)目ID”連接預(yù)算編制表和預(yù)算標(biāo)準(zhǔn)表,將預(yù)算項(xiàng)目的“預(yù)算金額”與對應(yīng)預(yù)算項(xiàng)目的“預(yù)算標(biāo)準(zhǔn)金額”相比對,若“預(yù)算金額”大于“預(yù)算標(biāo)準(zhǔn)金額”,則說明該項(xiàng)預(yù)算項(xiàng)目的編制存在問題。對應(yīng)的分析評價核心HQL語句如下:
Select I_ProjectID
From ZC_budget_formation預(yù)算編制表
Join ZC_budget_standard預(yù)算標(biāo)準(zhǔn)表
On 預(yù)算編制表.Project_ID=預(yù)算標(biāo)準(zhǔn)表.Project_ID
Group by 預(yù)算編制表.subject_ID
Having Sum(預(yù)算編制表.M_budget)>=預(yù)算標(biāo)準(zhǔn)表.M_standard
2.步驟二。通過“采購商品ID”連接采購明細(xì)表和預(yù)算明細(xì)表,將采購商品的“預(yù)算金額”與“采購金額”對比,若不相等,則說明實(shí)際采購與采購預(yù)算不符,檢查出存在異常的項(xiàng)目。對應(yīng)的分析評價核心HQL語句如下:
Select I_Project_ID
FromZC_purchase_detail采購明細(xì)表
Join SYS_budget_detail預(yù)算明細(xì)表
On 采購明細(xì)表.Project_ID=預(yù)算明細(xì)表.Project_ID
Group by 采購明細(xì)表.USE_ID
Having Sum(預(yù)算明細(xì)表.M_Budget)!=Sum(采購明細(xì)表.USE_Money)