程 平(博士生導(dǎo)師),文少波
目前,利用云會(huì)計(jì)和數(shù)據(jù)倉(cāng)庫(kù)等信息技術(shù)對(duì)行政事業(yè)單位預(yù)算管理內(nèi)部控制進(jìn)行評(píng)價(jià)的研究十分有限。鑒于此,本文以重慶海事局為例,將《內(nèi)控規(guī)范》和《重慶海事局預(yù)算管理辦法》作為指導(dǎo),結(jié)合現(xiàn)有的財(cái)務(wù)云平臺(tái),在Hadoop平臺(tái)上設(shè)計(jì)并構(gòu)建預(yù)算管理內(nèi)部控制評(píng)價(jià)的數(shù)據(jù)倉(cāng)庫(kù),以實(shí)現(xiàn)預(yù)算管理內(nèi)部控制相關(guān)數(shù)據(jù)的整合和利用。
1.設(shè)計(jì)思路。預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建,首先需要根據(jù)內(nèi)部控制評(píng)價(jià)指標(biāo)初步確定數(shù)據(jù)倉(cāng)庫(kù)評(píng)價(jià)主題,再對(duì)數(shù)據(jù)進(jìn)行采集、清洗、轉(zhuǎn)換、加載,以保證獲取高質(zhì)量的數(shù)據(jù),為數(shù)據(jù)集市的設(shè)計(jì)、多維分析及數(shù)據(jù)挖掘提供數(shù)據(jù)基礎(chǔ)。
2.構(gòu)建過(guò)程。重慶海事局通過(guò)建立數(shù)據(jù)倉(cāng)庫(kù),對(duì)預(yù)算管理內(nèi)部控制進(jìn)行評(píng)價(jià),其預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)體系結(jié)構(gòu)設(shè)計(jì)圖詳見(jiàn)《財(cái)會(huì)月刊》2019年第13期文章《基于數(shù)據(jù)倉(cāng)庫(kù)的行政事業(yè)單位單位層面內(nèi)部控制評(píng)價(jià)——以重慶海事局為例》相關(guān)內(nèi)容[1]。預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)體系結(jié)構(gòu)主要由內(nèi)控相關(guān)數(shù)據(jù)源、內(nèi)控評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)構(gòu)建、內(nèi)控?cái)?shù)據(jù)分析與評(píng)價(jià)、內(nèi)控評(píng)價(jià)結(jié)果輸出四部分組成。具體設(shè)計(jì)過(guò)程是以《內(nèi)控規(guī)范》和預(yù)算管理業(yè)務(wù)流程作為指導(dǎo)基礎(chǔ),將預(yù)算管理內(nèi)部控制相關(guān)數(shù)據(jù)從金蝶K3 賬務(wù)處理軟件、財(cái)務(wù)云平臺(tái)、互聯(lián)網(wǎng)等利用 Sqoop 工具抽取到Hive 的RDS 庫(kù)中(RDS:原始數(shù)據(jù)存儲(chǔ),充當(dāng)操作性系統(tǒng)與數(shù)據(jù)倉(cāng)庫(kù)之間的過(guò)渡區(qū)),再對(duì)數(shù)據(jù)進(jìn)行清洗轉(zhuǎn)換,接著加載到預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)中。加載到數(shù)據(jù)倉(cāng)庫(kù)后,根據(jù)對(duì)應(yīng)的評(píng)價(jià)主題形成預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)集市,再利用Hive 的HQL 語(yǔ)言對(duì)預(yù)算管理內(nèi)部控制進(jìn)行即席查詢,同時(shí)通過(guò)OLAP 對(duì)預(yù)算管理內(nèi)部控制進(jìn)行不同角度的切片切塊分析和不同層級(jí)的上卷下鉆處理,并結(jié)合每個(gè)主題的特定風(fēng)險(xiǎn)設(shè)置分析點(diǎn),對(duì)預(yù)算管理內(nèi)部控制評(píng)價(jià)進(jìn)行建模,最后將評(píng)價(jià)結(jié)果通過(guò)可視化或報(bào)告的形式輸出展示。
1.數(shù)據(jù)來(lái)源。重慶海事局利用大數(shù)據(jù)、云會(huì)計(jì)等信息技術(shù),有效地整合了各方面內(nèi)部數(shù)據(jù)、外部數(shù)據(jù)。具體數(shù)據(jù)來(lái)源如下:①重慶海事局財(cái)務(wù)云平臺(tái)。該平臺(tái)中有大量數(shù)據(jù)庫(kù),基本可分為系統(tǒng)數(shù)據(jù)庫(kù)和業(yè)務(wù)數(shù)據(jù)庫(kù)兩類。②金蝶K3 賬務(wù)處理軟件。該賬務(wù)處理軟件記錄了重慶海事局的財(cái)務(wù)數(shù)據(jù),預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)主要是基于此系統(tǒng)的財(cái)務(wù)管理模塊記錄的項(xiàng)目收入預(yù)算建議數(shù)、支出預(yù)算建議數(shù)、實(shí)際收入、實(shí)際支出等數(shù)據(jù)。③外部數(shù)據(jù)。預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)還需從外部獲取數(shù)據(jù),如預(yù)算編制依據(jù)、預(yù)算審核依據(jù)等自描述的半結(jié)構(gòu)化數(shù)據(jù)多來(lái)源于紙質(zhì)文件或互聯(lián)網(wǎng),需要額外的技術(shù)錄入(如影像掃描技術(shù)或網(wǎng)絡(luò)爬蟲技術(shù))。
綜上,重慶海事局預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)主要是將財(cái)務(wù)云平臺(tái)及金蝶K3 賬務(wù)處理軟件中的部門人員信息、預(yù)算管理數(shù)據(jù)等內(nèi)部數(shù)據(jù)和互聯(lián)網(wǎng)信息等外部數(shù)據(jù)進(jìn)行全方位采集,按照數(shù)據(jù)源的不同進(jìn)行分類處理。業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)形式多種多樣,可能是MySQL、SQL Server 等關(guān)系數(shù)據(jù)庫(kù)中的結(jié)構(gòu)化數(shù)據(jù),也可能是HTML、XML 等自描述的半結(jié)構(gòu)化數(shù)據(jù),還可能是文本、CSV 等平面文件或圖像、影像文件等非結(jié)構(gòu)化數(shù)據(jù)。對(duì)這些預(yù)算業(yè)務(wù)相關(guān)數(shù)據(jù)進(jìn)行ETL處理,建立整合的預(yù)算管理內(nèi)部控制評(píng)價(jià)的數(shù)據(jù)倉(cāng)庫(kù)。
2.ETL 過(guò)程。ETL 即數(shù)據(jù)抽取、轉(zhuǎn)換、加載的過(guò)程:①數(shù)據(jù)抽取是從外部異構(gòu)數(shù)據(jù)源抽取數(shù)據(jù),抽取技術(shù)分為完全抽取和變化數(shù)據(jù)捕獲。例如,重慶海事局部門人員信息這類數(shù)據(jù),由于數(shù)據(jù)量不大且易處理,就采取完全數(shù)據(jù)抽取方式;而各種預(yù)算操作日志記錄因其數(shù)據(jù)量大,就只能抽取變化的源數(shù)據(jù),即最后一次抽取之后發(fā)生了變化的數(shù)據(jù)。②數(shù)據(jù)轉(zhuǎn)換的重點(diǎn)是數(shù)據(jù)清洗,數(shù)據(jù)清洗是對(duì)數(shù)據(jù)進(jìn)行重新審查和校驗(yàn)的過(guò)程。對(duì)于重復(fù)記錄,可通過(guò)在查詢語(yǔ)句中使用distinct 關(guān)鍵字去重。而對(duì)于數(shù)據(jù)的結(jié)構(gòu)要求,就得根據(jù)具體業(yè)務(wù)分析需求做出調(diào)整。③數(shù)據(jù)加載是指將清洗和轉(zhuǎn)換后的數(shù)據(jù)加載到DW 中,可通過(guò)直接追加、全面覆蓋等策略進(jìn)行加載。
1.確定主題域。數(shù)據(jù)倉(cāng)庫(kù)是面向主題的,所以主題域的確定是數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)的關(guān)鍵。參考程平、李雪燃[2]提出的重慶海事局預(yù)算管理內(nèi)部控制審計(jì)指標(biāo)體系,以《內(nèi)控規(guī)范》為指導(dǎo),結(jié)合《重慶海事局預(yù)算管理辦法》,整理出預(yù)算組織機(jī)構(gòu)建設(shè)完整性、預(yù)算崗位人員管理合理性、預(yù)算編制流程合規(guī)性、預(yù)算編制方法科學(xué)性、預(yù)算編制內(nèi)容完整性、預(yù)算編制及時(shí)性、預(yù)算批復(fù)方法科學(xué)性、預(yù)算分解方法科學(xué)性、預(yù)算追加調(diào)整流程合規(guī)性、預(yù)算執(zhí)行有效性、預(yù)算預(yù)警機(jī)制有效性、決算管理合規(guī)性和績(jī)效目標(biāo)差異分析十三個(gè)主題,詳見(jiàn)表1。
2.聲明粒度。粒度可簡(jiǎn)單理解為數(shù)據(jù)的粗細(xì),用于確定事實(shí)中表示的是什么,同時(shí)數(shù)據(jù)粒度也是數(shù)據(jù)分析時(shí)進(jìn)行上卷、下鉆操作的基礎(chǔ)。在預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)中,以預(yù)算編制流程合規(guī)性評(píng)價(jià)主題為例,需具體到每個(gè)部門、每個(gè)操作員、每天關(guān)于預(yù)算的操作行為,因此數(shù)據(jù)倉(cāng)庫(kù)粒度層是日→月→季度→年,如××部門××操作員關(guān)于預(yù)算編制的××操作行為。
3.確認(rèn)維度。維度表是事實(shí)表的基礎(chǔ),通常是一組層次關(guān)系或描述信息,用來(lái)定義事實(shí),說(shuō)明事實(shí)表的數(shù)據(jù)是從哪里采集的,即維度是觀察數(shù)據(jù)的角度。在預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)中,以預(yù)算編制流程合規(guī)性評(píng)價(jià)主題為例,維度可分為編制依據(jù)維、審核依據(jù)維、人員基本信息維、部門維、角色維、時(shí)間維。①編制依據(jù)維/審核依據(jù)維,主要是從依據(jù)的角度分析預(yù)算編制、審批時(shí)是否有理有據(jù),而非憑空想象。依據(jù)維主要包括有關(guān)法律法規(guī)、財(cái)政財(cái)務(wù)規(guī)章制度,以及財(cái)政部門、上級(jí)單位對(duì)年度預(yù)算編制工作方針、政策和工作布置。②人員基本信息維/角色維,描述預(yù)算相關(guān)人員的信息,用它來(lái)分析預(yù)算編制各個(gè)流程操作的操作員是否符合規(guī)定,即編制人員、審批人員是否有權(quán)限、是否實(shí)現(xiàn)三權(quán)分立等。③部門維,因?yàn)轭A(yù)算編制是按部門進(jìn)行的,所以將部門作為一個(gè)維度,按部門角度來(lái)分析預(yù)算編制流程是否合規(guī)。④時(shí)間維,數(shù)據(jù)倉(cāng)庫(kù)是隨時(shí)間變化的數(shù)據(jù)集合,需要記錄數(shù)據(jù)的歷史,因此每個(gè)數(shù)據(jù)倉(cāng)庫(kù)都需要一個(gè)時(shí)間維度表。
4.確認(rèn)事實(shí)。事實(shí)表用于存放預(yù)算業(yè)務(wù)的數(shù)字度量值信息,這些度量值信息是將各個(gè)維度作為條件,聯(lián)合查詢得到的。在預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)中,以預(yù)算編制流程合規(guī)性評(píng)價(jià)為例,其事實(shí)就是從時(shí)間、部門、操作員、編制依據(jù)等維度的交點(diǎn)處得到的預(yù)算金額。
5.模型設(shè)計(jì)。根據(jù)預(yù)算管理內(nèi)部控制評(píng)價(jià)確定的主題域,將預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)劃分為十三個(gè)數(shù)據(jù)集市,并基于每個(gè)主題的特性構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)模型,模型及數(shù)據(jù)組織見(jiàn)表2。
表1 重慶海事局預(yù)算管理內(nèi)部控制評(píng)價(jià)主題域
(1)概念模型設(shè)計(jì)。概念模型是確定如何組建數(shù)據(jù)及數(shù)據(jù)之間的相互關(guān)系,以滿足業(yè)務(wù)應(yīng)用的需要。在預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)中,其概念模型設(shè)計(jì)是預(yù)算內(nèi)部控制評(píng)價(jià)所涉及的實(shí)體及實(shí)體之間的關(guān)系。以預(yù)算編制流程合規(guī)性評(píng)價(jià)主題為例,其主要是明確部門、編制流程、操作人、操作時(shí)間、編制依據(jù)、審核依據(jù)和預(yù)算金額之間的關(guān)系。
(2)邏輯模型設(shè)計(jì)。邏輯模型指數(shù)據(jù)的邏輯結(jié)構(gòu),推動(dòng)概念模型向物理模型轉(zhuǎn)換。邏輯模型由事實(shí)表和維度表組成,每個(gè)事實(shí)表引用任意數(shù)量的維度表,在預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)中,以預(yù)算編制流程合規(guī)性評(píng)價(jià)為例,其邏輯模型如圖所示。
預(yù)算編制流程合規(guī)性評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)邏輯模型圖
(3)物理模型設(shè)計(jì)。物理模型主要解決如何組織和存儲(chǔ)數(shù)據(jù)的問(wèn)題,以滿足系統(tǒng)處理的要求,在預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)中,以預(yù)算編制流程合規(guī)性評(píng)價(jià)為例,其事實(shí)事、維度表及表包含字段如下:①預(yù)算編制流程合規(guī)性事實(shí)表(NK_YW_YS_SS_Flow_organize)。表包含字段:I_ID【主鍵ID】、I_Depot_ID【部門 ID】、I_BZYJ_ID【編制依據(jù) ID】、I_SHYJ_ID【審核依據(jù)ID】、I_YSJY_ID【預(yù)算建議編制人ID】、I_YSKZ_ID【預(yù)算控制數(shù)下達(dá)人ID】、I_YSCA_ID【預(yù)算草案編制人ID】、I_YSPF_ID【預(yù)算批復(fù)人ID】、D_YSJY【預(yù)算建議編制時(shí)間】、D_YSKZ【預(yù)算控制數(shù)下達(dá)時(shí)間】、D_YSCA【預(yù)算草案編制時(shí)間】、D_YSPF【預(yù)算批復(fù)時(shí)間】、M_YSJY【預(yù)算建議金額】、M_YSKZ【預(yù)算控制金額】、M_YSCA【預(yù)算草案金額】、M_YSPF【預(yù)算批復(fù)金額】。②編制依據(jù)維度表(NK_YW_YS_WD_Gist_organize)。表包含字段:ID【依據(jù)編號(hào)ID】、I_Style【依據(jù)種類】、VC_Gistdesc【依據(jù)描述】。③審核依據(jù)維度表(NK_YW_YS_WD_Gist_check)。表包含字段ID【依據(jù)編號(hào)ID】、I_Style【依據(jù)種類】、VC_Gistdesc【依據(jù)描述】。④人員基本信息維度表(NK_YW_YS_WD_SYS_PeopleBaseSet)。表包含字段:ID【人員 ID】、VC_Name【姓名】、I_Depot_ID【所屬部門 ID】、I_Role_ID【角色I(xiàn)D】、D_Rztime【入職時(shí)間】、D_Lztime【離職時(shí)間】、I_State【人員狀態(tài)】。⑤部門維度表(NK_YW_YS_WD_SYS_Unit)。表包含字段:I_Depot_ID【部門編號(hào)ID】、VC_Name【部門名稱】、I_State【部門狀態(tài)】、I_Style【部門類型】。⑥角色維度表(NK_YW_YS_WD_SYS_Roleinfo)。表包含字段:ID【角色I(xiàn)D】、RoleName【角色名稱】、VC_Roledesc【角色描述】。⑦時(shí)間維度表:(NK_YW_YS_WD_Time)。表包含字段 Year【年】、Quarter【季度】、Month【月】、Day【日】。
1.預(yù)算管理內(nèi)控即席查詢分析。預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)的建立,實(shí)現(xiàn)了即席查詢功能,即根據(jù)預(yù)算管理內(nèi)部控制評(píng)價(jià)需求,靈活地選擇查詢條件,進(jìn)而生成相應(yīng)的統(tǒng)計(jì)報(bào)表?;贖ive 的HQL語(yǔ)句按預(yù)算部門、預(yù)算流程、預(yù)算相關(guān)人員、預(yù)算金額、預(yù)算科目、預(yù)算項(xiàng)目、預(yù)算編制依據(jù)和預(yù)算審核依據(jù)等條件進(jìn)行查詢分析,以預(yù)算編制流程合規(guī)性評(píng)價(jià)為例,選擇預(yù)算編制部門、預(yù)算編制流程中所處的具體編制流程環(huán)節(jié)(如“一上”環(huán)節(jié)),查詢到編制時(shí)間、編制人員、編制依據(jù)和預(yù)算編制“一上”環(huán)節(jié)的編制金額,根據(jù)預(yù)算建議數(shù)上報(bào)金額,分析編制人員權(quán)限是否符合要求、編制是否有理有據(jù)、編制金額是否存在異常。
2.預(yù)算管理內(nèi)控OLAP 分析與數(shù)據(jù)挖掘。預(yù)算管理內(nèi)部控制聯(lián)機(jī)分析處理(OLAP)集中于數(shù)據(jù)的分析,從預(yù)算管理內(nèi)部控制評(píng)價(jià)數(shù)據(jù)倉(cāng)庫(kù)的集成數(shù)據(jù)出發(fā),構(gòu)建面向內(nèi)控評(píng)價(jià)分析的多維數(shù)據(jù)模型,再使用多維分析方法從不同角度對(duì)多維數(shù)據(jù)集合進(jìn)行分析比較。OLAP由上卷、下鉆和切片三個(gè)基本的數(shù)據(jù)操作構(gòu)成。上卷是數(shù)據(jù)的聚合,即數(shù)據(jù)可以在一個(gè)或多個(gè)維度上進(jìn)行累積和計(jì)算,如將部門預(yù)算的每月預(yù)算金額進(jìn)行疊加,可得出部門年度預(yù)算金額。下鉆是一種從匯總數(shù)據(jù)開始向下瀏覽細(xì)節(jié)數(shù)據(jù)的技術(shù),如將年度預(yù)算金額按預(yù)算科目進(jìn)行下鉆,可得出各個(gè)科目具體的預(yù)算金額。切片則是獲取OLAP 立方體中的特定數(shù)據(jù)集合,從不同的視角觀察這些數(shù)據(jù),如年度預(yù)算可從時(shí)間維度分析每月具體預(yù)算情況,也可從預(yù)算科目維度分析各個(gè)科目的具體預(yù)算情況。預(yù)算管理內(nèi)部控制的數(shù)據(jù)挖掘,可利用決策樹、支持向量機(jī)、隨機(jī)森林等算法進(jìn)行研究。
3.預(yù)算管理內(nèi)控評(píng)價(jià)建模。預(yù)算管理內(nèi)部控制評(píng)價(jià)主要對(duì)預(yù)算組織管理體系、預(yù)算編制、預(yù)算審批、預(yù)算下達(dá)、預(yù)算執(zhí)行、預(yù)算追加調(diào)整、決算和考評(píng)八個(gè)環(huán)節(jié)的控制進(jìn)行評(píng)價(jià)分析,而每個(gè)環(huán)節(jié)又細(xì)化為多個(gè)控制評(píng)價(jià)分析點(diǎn),以預(yù)算編制流程合規(guī)性為例,對(duì)其內(nèi)部控制評(píng)價(jià)進(jìn)行建模。根據(jù)《內(nèi)控規(guī)范》和《重慶海事局預(yù)算管理辦法》,判斷預(yù)算編制流程是否合規(guī),具體需從兩個(gè)分析點(diǎn)進(jìn)行判斷。
分析點(diǎn)1:判斷預(yù)算是否按照“二上二下”進(jìn)行編制,其中“二上二下”主要包括預(yù)算建議數(shù)上報(bào)、預(yù)算控制數(shù)下達(dá)、預(yù)算草案數(shù)上報(bào)、預(yù)算批復(fù)數(shù)下達(dá)。而“二上二下”每個(gè)流程中是否都有必要的數(shù)據(jù)是判斷預(yù)算是否按照“二上二下”進(jìn)行的依據(jù),這些必要數(shù)據(jù)包括預(yù)算部門、操作人、時(shí)間、金額、編制依據(jù)和審核依據(jù)。若數(shù)據(jù)完整即流程合規(guī),若數(shù)據(jù)不完整即流程不合規(guī),對(duì)應(yīng)的分析評(píng)價(jià)核心HQL語(yǔ)句如下:
上述HQL語(yǔ)句中,SYS_Budget_PreInputer 為預(yù)算編制表,SYS_Unit為部門信息表,I_Tap為預(yù)算編制流程所處環(huán)節(jié)(存儲(chǔ)數(shù)據(jù)為1、2、3、4,依次代表預(yù)算建議數(shù)上報(bào)、預(yù)算控制數(shù)下達(dá)、預(yù)算草案數(shù)上報(bào)和預(yù)算批復(fù)數(shù)下達(dá)),I_Inputer 為操作員,DT_Time 為操作時(shí)間,M_Money 為預(yù)算金額,VC_Gist 為依據(jù),VC_Name為部門名稱。
分析點(diǎn)2:判斷編制流程中的四個(gè)環(huán)節(jié)的時(shí)間是否為依次進(jìn)行,若不為依次進(jìn)行,則數(shù)據(jù)無(wú)效,對(duì)應(yīng)的分析評(píng)價(jià)核心HQL語(yǔ)句如下:
上述HQL 語(yǔ)句中,a.I_Tap=1 的意思為編制流程處于第一狀態(tài)(預(yù)算建議數(shù)上報(bào)),查詢此時(shí)的時(shí)間,再將a.I_Tap的值分別賦予2、3、4,即編制流程狀態(tài)依次為預(yù)算控制數(shù)下達(dá)、預(yù)算草案數(shù)上報(bào)和預(yù)算批復(fù)數(shù)下達(dá),查詢當(dāng)時(shí)時(shí)間,最后判斷4個(gè)時(shí)間是否遵循先后順序。