柴巧葉
摘要:利用數(shù)據(jù)倉庫技術(shù)可以對(duì)分布在社保部門之間的業(yè)務(wù)數(shù)據(jù)進(jìn)行采集、加工、整合,從而建立數(shù)據(jù)倉庫。我們可以根據(jù)不同的業(yè)務(wù)主題建立不同的數(shù)據(jù)倉庫,為社保行業(yè)的管理及決策提供分析信息和決策依據(jù)。本文介紹了數(shù)據(jù)倉庫及相關(guān)技術(shù)、社保行業(yè)中數(shù)據(jù)倉庫的分析與設(shè)計(jì)、社保行業(yè)中數(shù)據(jù)倉庫的實(shí)現(xiàn)等。
關(guān)鍵詞:數(shù)據(jù)倉庫;社會(huì)保險(xiǎn);OLAP;DTS
1 引言
隨著信息化技術(shù)的迅速發(fā)展,社保行業(yè)的信息化建設(shè)已初具規(guī)模。建立在各種中、大型數(shù)據(jù)庫之上的基于聯(lián)機(jī)事務(wù)處理(OLTP)的MIS系統(tǒng)已經(jīng)日趨完善,但同時(shí)新的問題應(yīng)運(yùn)而生。一方面,歷史性數(shù)據(jù)開始出現(xiàn),對(duì)大量歷史數(shù)據(jù)的管理已迫在眉睫;另一方面,用戶已不僅僅停留在單純的業(yè)務(wù)流程自動(dòng)化上,更希望能更好地匯總、分析企業(yè)多年來積累的龐大的業(yè)務(wù)數(shù)據(jù)、財(cái)務(wù)數(shù)據(jù)等數(shù)據(jù)資源,并從中挖掘出業(yè)務(wù)的內(nèi)在規(guī)律,以便更好地支持決策過程,在競(jìng)爭(zhēng)中取得優(yōu)勢(shì)。
本文研究基于社保行業(yè)的迫切需求,建立數(shù)據(jù)倉庫,并在此基礎(chǔ)上進(jìn)行數(shù)據(jù)查詢、多維分析(OLAP)和數(shù)據(jù)挖掘等工作,從而使社保行業(yè)更好地利用這些幾十年積累的各種數(shù)據(jù),從中發(fā)現(xiàn)內(nèi)在的、有價(jià)值的信息。
2 社保行業(yè)數(shù)據(jù)倉庫的設(shè)計(jì)
2.1 需求分析
社保行業(yè)迫切需要從當(dāng)前海量數(shù)據(jù)中尋找潛在的規(guī)律及隱藏的知識(shí),發(fā)現(xiàn)那些在經(jīng)驗(yàn)之外的規(guī)律和推測(cè)之外的模式。本文針對(duì)某市社會(huì)保險(xiǎn)部門構(gòu)建決策支持系統(tǒng)DSS,即數(shù)據(jù)倉庫系統(tǒng),通過與社保部門有關(guān)領(lǐng)導(dǎo)進(jìn)行充分的交流和溝通,了解到其需求狀況,并獲得以下信息:決策的類型、決策者感興趣的問題等。
2.2 數(shù)據(jù)倉庫體系結(jié)構(gòu)的設(shè)計(jì)
(1) 數(shù)據(jù)源的確定。本系統(tǒng)的數(shù)據(jù)源是某省勞動(dòng)廳近年來積累的事務(wù)數(shù)據(jù),數(shù)據(jù)基于關(guān)系數(shù)據(jù)庫,以光盤形式存儲(chǔ)。由于多年的數(shù)據(jù)積累,數(shù)據(jù)源中存在“多數(shù)據(jù)源”“數(shù)據(jù)不完整(有些感興趣的屬性缺少屬性值,或僅包含聚集數(shù)據(jù))”“含噪聲的(包含錯(cuò)誤或存在偏離期望的孤立點(diǎn)值)”“不一致的(例如,同一字段的表達(dá)方式不同)”等質(zhì)量問題。另外,這些數(shù)據(jù)源是異構(gòu)的,即使是正確的數(shù)據(jù),也可能存在著不一致性、沖突等問題。因此需要對(duì)數(shù)據(jù)源進(jìn)行清洗后再提供給數(shù)據(jù)倉庫所用。
(2) 數(shù)據(jù)倉庫層的設(shè)計(jì)。本系統(tǒng)使用SQL Server 2000作為數(shù)據(jù)倉庫服務(wù)器,在SQL Server 2000的“企業(yè)管理器”中新建一個(gè)關(guān)系數(shù)據(jù)庫,在該數(shù)據(jù)庫中建立表和關(guān)系圖,表的建立依據(jù)物理模型設(shè)計(jì),關(guān)系圖的建立依據(jù)邏輯模型設(shè)計(jì)。此關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)是使用SQL語句和DTS工具對(duì)源數(shù)據(jù)進(jìn)行合并、清理、轉(zhuǎn)換和加載后得到的,新建的關(guān)系數(shù)據(jù)庫就是數(shù)據(jù)倉庫,即數(shù)據(jù)存儲(chǔ)中心,它將是OLAP服務(wù)器的數(shù)據(jù)來源。
(3) OLAP服務(wù)器層的設(shè)計(jì)。本系統(tǒng)使用SQL Server 2000的Analysis Services作為OLAP服務(wù)器,在Analysis Manager中建立分析數(shù)據(jù)庫,在分析數(shù)據(jù)庫下設(shè)定數(shù)據(jù)源,并按照星型模型建立多維數(shù)據(jù)集,為下一步進(jìn)行多維分析奠定基礎(chǔ)。本數(shù)據(jù)倉庫中的多維數(shù)據(jù)是用ROLAP以關(guān)系型結(jié)構(gòu)進(jìn)行表示和存儲(chǔ)的。
(4) 數(shù)據(jù)分析/應(yīng)用層的選擇。本系統(tǒng)在數(shù)據(jù)透視表服務(wù)組件的支持下,應(yīng)用EXCEL前端工具對(duì)數(shù)據(jù)倉庫進(jìn)行多維分析和查詢。這種操作不需要學(xué)習(xí)其他語言來編寫客房端應(yīng)用程序,使用所附帶的連接數(shù)據(jù)庫的功能操作即可。而且,它可以連接到分析服務(wù)器,將服務(wù)器端的多維數(shù)據(jù)集放到客戶端成為一個(gè)本地文件,以后在無網(wǎng)絡(luò)連接的情況下可以用來分析。使用Microsoft Visual Basic 開發(fā)客戶端人機(jī)交互界面,其中用ADO MD和DSO對(duì)象實(shí)現(xiàn)對(duì)多維數(shù)據(jù)集的訪問,從而實(shí)現(xiàn)多維數(shù)據(jù)集瀏覽工具的開發(fā)。
2.3 分析主題的確定
通過與社保有關(guān)人員交流,了解到他們?cè)跇I(yè)務(wù)中最關(guān)心的是基金的管理,即基金的收繳與撥付。確立本數(shù)據(jù)倉庫的分析主題為“在職人員養(yǎng)老保險(xiǎn)基金收繳”和“離退休人員養(yǎng)老金撥付”,度量值分別是“基金收繳金額”和“養(yǎng)老金撥付金額”。分析主題根據(jù)分析要求將數(shù)據(jù)組成了一個(gè)完備的分析領(lǐng)域,即主題域,且滿足主題域的獨(dú)立性和完備性的特征。
2.4 社保行業(yè)數(shù)據(jù)倉庫的邏輯數(shù)據(jù)模型設(shè)計(jì)
由于數(shù)據(jù)倉庫的主要操作對(duì)象是多維數(shù)據(jù),因此在數(shù)據(jù)倉庫設(shè)計(jì)中,應(yīng)采用多維數(shù)據(jù)建模技術(shù),以使用戶能更好地理解企業(yè)的數(shù)據(jù)信息。多維數(shù)據(jù)建模符合人們的思維方式,易于用戶的理解和使用,能支持用戶從多個(gè)角度對(duì)數(shù)據(jù)進(jìn)行分析。現(xiàn)在大部分企業(yè)使用的是關(guān)系數(shù)據(jù)庫,在建設(shè)企業(yè)的數(shù)據(jù)倉庫時(shí),一般采用基于關(guān)系數(shù)據(jù)庫的建模方法。在基于關(guān)系數(shù)據(jù)庫的多維數(shù)據(jù)建模中最常見的是星形模型。本系統(tǒng)采用星形模型進(jìn)行設(shè)計(jì)。
本系統(tǒng)的數(shù)據(jù)源是由某社部門提供的事務(wù)數(shù)據(jù)。通過分析設(shè)計(jì)了兩個(gè)事實(shí)表:zz_fact(在職人員養(yǎng)老保險(xiǎn)基金收繳事實(shí)表)及l(fā)tx_fact(離退休人員養(yǎng)老金撥付事實(shí)表),這兩個(gè)事實(shí)表的主碼是由相應(yīng)維表的主碼構(gòu)成的組合碼,事實(shí)表通過外碼與維表建立聯(lián)系,便于以后查詢。設(shè)計(jì)了四個(gè)維表,分別是time_by_day,Unit_Table,geo_table,sj_Private_table,它們的主碼分別是time_id,DWNM,geo_ID,sj_ID,它們通過主碼與事實(shí)表建立聯(lián)系。
2.5 社保行業(yè)數(shù)據(jù)倉庫的物理存儲(chǔ)模型設(shè)計(jì)
數(shù)據(jù)倉庫是數(shù)據(jù)庫技術(shù)一種新的應(yīng)用。至今,數(shù)據(jù)倉庫一般仍是應(yīng)用數(shù)據(jù)庫管理系統(tǒng)來管理其中的數(shù)據(jù)。數(shù)據(jù)倉庫的邏輯數(shù)據(jù)模型最終將轉(zhuǎn)為數(shù)據(jù)庫的物理模型。
建立數(shù)據(jù)倉庫物理模型所依據(jù)的邏輯模型是多維數(shù)據(jù)模型,而不是實(shí)體-關(guān)系模型,并且要盡可能地與多維數(shù)據(jù)模型保持一致。由于實(shí)際應(yīng)用環(huán)境的限制,數(shù)據(jù)倉庫的物理模型同邏輯模型存在差異是不可避免的。
3 社保行業(yè)數(shù)據(jù)倉庫的實(shí)現(xiàn)
3.1 技術(shù)環(huán)境和實(shí)現(xiàn)工具的選擇
本系統(tǒng)使用Microsoft SQL Server2000作為數(shù)據(jù)倉庫服務(wù)器開發(fā)平臺(tái),使用Analysis Services作為OLAP服務(wù)器開發(fā)平臺(tái),使用DTS(Data Transformation Services)作為數(shù)據(jù)轉(zhuǎn)換工具。
3.2 數(shù)據(jù)倉庫的建立
本系統(tǒng)使用的數(shù)據(jù),是某市社保局所提供的已有的參保人員的信息資料,已轉(zhuǎn)換成SQL Server數(shù)據(jù)庫“sbdata”源數(shù)據(jù)。在這些源數(shù)據(jù)中有數(shù)據(jù)的重復(fù)、丟失、改變等臟數(shù)據(jù)。首先使用SQL語句將多個(gè)表的數(shù)據(jù)組合在一起,并進(jìn)行字段的刪除、屬性修改等操作,最后通過DTS傳輸至 “sb”數(shù)據(jù)庫相應(yīng)的表中。數(shù)據(jù)導(dǎo)入時(shí)先導(dǎo)入維表,然后再導(dǎo)入事實(shí)表;數(shù)據(jù)刪除要先刪除事實(shí)表,然后再刪除維表。本DTS包創(chuàng)建工作流的優(yōu)先級(jí)如下:(1)執(zhí)行SQL任務(wù),刪除現(xiàn)有的SB數(shù)據(jù);(2)將數(shù)據(jù)匯集到維表中;(3)將數(shù)據(jù)匯集到事實(shí)表中。
完成SB的DTS包設(shè)置后,通過執(zhí)行包將源數(shù)據(jù)庫sbdata中的數(shù)據(jù)加入到SB數(shù)據(jù)倉庫中,并把SB作為分析服務(wù)器的數(shù)據(jù)源,在分析服務(wù)器下建立多維數(shù)據(jù)集。最后保存DTS包。
3.3 社保行業(yè)數(shù)據(jù)倉庫中數(shù)據(jù)分析的實(shí)現(xiàn)
在本系統(tǒng)中,采用SQL SERVER 2000的Analysis services OLAP分析工具。
在分析服務(wù)器端使用Analysis services的分析管理器(Analysis Manager)創(chuàng)建分析數(shù)據(jù)庫,在分析數(shù)據(jù)庫中建立多維數(shù)據(jù)集,并對(duì)多維數(shù)據(jù)集進(jìn)行處理和分析。
(1) 分析數(shù)據(jù)庫的建立。OLAP分析數(shù)據(jù)庫是相關(guān)多維數(shù)據(jù)集及其所共享的對(duì)象的容器。對(duì)象包括數(shù)據(jù)源、共享維度和數(shù)據(jù)庫角色。如果有多個(gè)多維數(shù)據(jù)集要共享這些對(duì)象,則這些對(duì)象和多維數(shù)據(jù)集必須在同一個(gè)OLAP分析數(shù)據(jù)庫中。
在對(duì)象層次結(jié)構(gòu)中,OLAP分析數(shù)據(jù)庫從屬于分析服務(wù)器。因此,在安裝分析服務(wù)器后,首先在Analysis Manager中新建一個(gè)OLAP分析數(shù)據(jù)庫“社保養(yǎng)老保險(xiǎn)決策”,即數(shù)據(jù)倉庫,將作為社保決策分析中數(shù)據(jù)源、多維數(shù)據(jù)集、共享維度、挖掘模型、數(shù)據(jù)庫角色的容器。
(2) 數(shù)據(jù)源的設(shè)置。數(shù)據(jù)源是OLAP將要分析的數(shù)據(jù)來源。創(chuàng)建分析數(shù)據(jù)庫后,應(yīng)該指定數(shù)據(jù)源。Analysis Manager為指定數(shù)據(jù)源提供了可以使用的OLE DB Provider清單,在此清單中選擇數(shù)據(jù)源類型(Microsoft OLE DB Provider for ODBC Driver/Microsoft OLE DB Provider for SQL Server是兩種應(yīng)用廣泛的數(shù)據(jù)源)。在此選擇Microsoft OLE DB Provider for SQL Server數(shù)據(jù)源類型。
此時(shí),我們已設(shè)定了數(shù)據(jù)源-SQL數(shù)據(jù)庫文件“sb”,建立了分析數(shù)據(jù)庫-“社會(huì)保險(xiǎn)決策”。在此,“sb”和“社會(huì)保險(xiǎn)決策”均屬數(shù)據(jù)倉庫的數(shù)據(jù)庫。“sb”是數(shù)據(jù)倉庫的數(shù)據(jù)庫,是實(shí)際存在的數(shù)據(jù)庫,由Microsoft SQL Server 2000系統(tǒng)支持,主要管理工具是“企業(yè)管理器”,而“社會(huì)保險(xiǎn)決策”是數(shù)據(jù)倉庫的分析數(shù)據(jù)庫,是虛擬的、用來存放OLAP服務(wù)結(jié)構(gòu)的對(duì)象,由Microsoft SQL Server 2000 Analysis Services系統(tǒng)支持,主要管理工具是“Analysis manager”。
3.4 社保行業(yè)數(shù)據(jù)倉庫中多維數(shù)據(jù)的查詢
Microsoft 提供了服務(wù)器端的組件——分析服務(wù)器,可以用來創(chuàng)建多維數(shù)據(jù)集,提供客戶端的組件——數(shù)據(jù)透視表服務(wù)(Pivot Table Services),讓用戶可以通過它來獲取多維數(shù)據(jù)。
(1) 用EXCEL實(shí)現(xiàn)對(duì)多維數(shù)據(jù)的查詢。用EXCEL2000作為分析服務(wù)器前端工具,可以連接后臺(tái)大型關(guān)系數(shù)據(jù)庫,將數(shù)據(jù)下載到前端做二維的數(shù)據(jù)透視表分析,從而使客戶端用戶能方便的查看分析服務(wù)器或多維數(shù)據(jù)集的數(shù)據(jù)。EXCEL2000也可以連接到分析服務(wù)器,將服務(wù)器端的多維數(shù)據(jù)集放到客戶端成為一個(gè)本地文件,即使在沒有網(wǎng)絡(luò)連接的情況下也可以用來分析,也可隨時(shí)連接服務(wù)器來更新文件,盡可能達(dá)到數(shù)據(jù)同步的效果,快速得到所需要的信息。
用EXCEL對(duì)社?;鹗绽U多維數(shù)據(jù)集進(jìn)行查詢、分析,可以選擇不同的維來分析數(shù)據(jù),了解社保基金收繳情況??梢栽凇皵?shù)據(jù)透視表”工具條上使用圖表向?qū)?選擇三維柱形圖表,產(chǎn)生圖表。更直觀的了解細(xì)節(jié)性數(shù)據(jù)。
(2) 用VB實(shí)現(xiàn)對(duì)多維數(shù)據(jù)的查詢。本系統(tǒng)采用VB開發(fā)客戶端應(yīng)用程序,實(shí)現(xiàn)對(duì)多維數(shù)據(jù)集的訪問、查詢、透視表展示和圖形展示。
以下介紹客戶端應(yīng)用程序的功能和操作方法:
A.主窗口??蛻舳顺绦虻闹鞔翱诎?標(biāo)題欄、工具欄及顯示界面。
工具欄有“樹形瀏覽”“圖表顯示”“切片選擇”“高級(jí)查詢”和“退出系統(tǒng)”四個(gè)圖標(biāo)。系統(tǒng)默認(rèn)在樹形瀏覽界面以樹形視圖的方式顯示當(dāng)前運(yùn)行服務(wù)器的數(shù)據(jù)庫體系結(jié)構(gòu)。系統(tǒng)默認(rèn)在圖形顯示界面以圖表的形式顯示查詢結(jié)果,單擊“切片查詢”可以通過選擇切片進(jìn)行查詢。單擊“高級(jí)查詢”可以使用MDX(Multi-Dimensional Expressions,多維表達(dá)式)語句來查詢。
B.查詢多維數(shù)據(jù)庫。用戶可以通過查詢多維數(shù)據(jù)庫,顯示自己定制的查詢結(jié)果。系統(tǒng)提供了兩種方式來查詢多維數(shù)據(jù)庫,即切片查詢與高級(jí)查詢。
通過MDX的各種函數(shù)可以查詢用戶需要的任何信息。比如,需要了解社保行業(yè)“養(yǎng)老保險(xiǎn)金撥付和收繳的差額(補(bǔ)貼)大于零的企事業(yè)單位(即需要補(bǔ)貼的企事業(yè)單位),并要求按照補(bǔ)貼數(shù)額從大到小進(jìn)行排列。
代碼如下:
WITH
member [measures].[補(bǔ)貼] as '[Measures].[養(yǎng)老金撥付金額]-[Measures].[社會(huì)保險(xiǎn)收繳金額]'
SELECT
{[Measures].[社會(huì)保險(xiǎn)收繳金額],[Measures].[養(yǎng)老金撥付金額],[measures].[補(bǔ)貼]}on columns,
order(
filter(
{ {[單位].[所有 單位].[企業(yè)],[單位].[所有 單位].[事業(yè)]}*{[時(shí)間].[所有 時(shí)間].children}},
([measures].[補(bǔ)貼])>0),([measures].[補(bǔ)貼]),desc)on rows
FROM
[收繳撥付立方]
WHERE
([地理].[所有 地理].[太原])
通過查詢結(jié)果得知,近年來養(yǎng)老保險(xiǎn)資金缺口較大,且有上升的趨勢(shì),這是養(yǎng)老保險(xiǎn)暴露出來的問題,也是全國養(yǎng)老保險(xiǎn)普遍存在的問題,本人認(rèn)為主要有以下原因:①人口老齡化程度逐漸加深;②基金收繳率低,拖欠現(xiàn)象比較嚴(yán)重;③基金管理不夠完善。
通過本系統(tǒng),決策者可從不同角度,采用不同方式,對(duì)不同主題進(jìn)行查詢、分析、研究,從而更好的了解本地的養(yǎng)老保險(xiǎn)金收繳和撥付情況,為最終的決策和管理提供依據(jù)。最終完成以下功能:①更科學(xué)的測(cè)算、確定社會(huì)保險(xiǎn)基金在年度財(cái)政預(yù)算中的比例,保證中央及地方財(cái)政預(yù)算安排的社會(huì)保障資金要及時(shí)足額撥付到位;②預(yù)測(cè)可能出現(xiàn)的資金風(fēng)險(xiǎn),科學(xué)地確定基金積累水平預(yù)警線。為建立有效的基金支付風(fēng)險(xiǎn)預(yù)警制度,保證社會(huì)保險(xiǎn)基金長期安全運(yùn)行提供科學(xué)依據(jù);③對(duì)現(xiàn)行政策執(zhí)行情況進(jìn)行監(jiān)測(cè)和評(píng)價(jià),對(duì)未來政策決策提供依據(jù)和支持;④進(jìn)一步完善政府對(duì)社會(huì)保險(xiǎn)的管理。
4 結(jié)束語
本文在研究數(shù)據(jù)倉庫技術(shù)的理論基礎(chǔ)上,提出了基于某省社保行業(yè)數(shù)據(jù)倉庫的設(shè)計(jì)與實(shí)現(xiàn)過程。本文是應(yīng)用比較成熟的數(shù)據(jù)倉庫技術(shù)完成的。在整個(gè)研究過程中,本人通過與社保行業(yè)有關(guān)領(lǐng)導(dǎo)及管理人員多次溝通,進(jìn)行需求分析,根據(jù)社保行業(yè)的需求狀況,設(shè)計(jì)并實(shí)現(xiàn)了社保行業(yè)的數(shù)據(jù)倉庫系統(tǒng),基本滿足了用戶的需求。
社保行業(yè)數(shù)據(jù)倉庫的建立,可以使社保行業(yè)更好地了解自己的運(yùn)營狀況,更全面、深入地分析業(yè)務(wù)數(shù)據(jù),從而為業(yè)務(wù)的發(fā)展提供良好的決策基礎(chǔ)。
參考文獻(xiàn)
[1]曹曉靜.決策支持系統(tǒng)的發(fā)展及其關(guān)鍵技術(shù)分析[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006(11):94.
[2]蘇新寧,楊建林,江念南,栗湘.數(shù)據(jù)倉庫和數(shù)據(jù)挖掘[M].北京:清華大學(xué)出版社,2006.
[3]龔小勇.關(guān)系數(shù)據(jù)庫與SQL Server2000.[M]北京:機(jī)械工業(yè)出版社,2006.