APP下载

基于数据仓库的社保行业决策分析研究

2009-02-01柴巧叶

软件工程 2009年11期
关键词:数据仓库社会保险

柴巧叶

摘要:利用数据仓库技术可以对分布在社保部门之间的业务数据进行采集、加工、整合,从而建立数据仓库。我们可以根据不同的业务主题建立不同的数据仓库,为社保行业的管理及决策提供分析信息和决策依据。本文介绍了数据仓库及相关技术、社保行业中数据仓库的分析与设计、社保行业中数据仓库的实现等。

关键词:数据仓库;社会保险;OLAP;DTS

1 引言

随着信息化技术的迅速发展,社保行业的信息化建设已初具规模。建立在各种中、大型数据库之上的基于联机事务处理(OLTP)的MIS系统已经日趋完善,但同时新的问题应运而生。一方面,历史性数据开始出现,对大量历史数据的管理已迫在眉睫;另一方面,用户已不仅仅停留在单纯的业务流程自动化上,更希望能更好地汇总、分析企业多年来积累的庞大的业务数据、财务数据等数据资源,并从中挖掘出业务的内在规律,以便更好地支持决策过程,在竞争中取得优势。

本文研究基于社保行业的迫切需求,建立数据仓库,并在此基础上进行数据查询、多维分析(OLAP)和数据挖掘等工作,从而使社保行业更好地利用这些几十年积累的各种数据,从中发现内在的、有价值的信息。

2 社保行业数据仓库的设计

2.1 需求分析

社保行业迫切需要从当前海量数据中寻找潜在的规律及隐藏的知识,发现那些在经验之外的规律和推测之外的模式。本文针对某市社会保险部门构建决策支持系统DSS,即数据仓库系统,通过与社保部门有关领导进行充分的交流和沟通,了解到其需求状况,并获得以下信息:决策的类型、决策者感兴趣的问题等。

2.2 数据仓库体系结构的设计

(1) 数据源的确定。本系统的数据源是某省劳动厅近年来积累的事务数据,数据基于关系数据库,以光盘形式存储。由于多年的数据积累,数据源中存在“多数据源”“数据不完整(有些感兴趣的属性缺少属性值,或仅包含聚集数据)”“含噪声的(包含错误或存在偏离期望的孤立点值)”“不一致的(例如,同一字段的表达方式不同)”等质量问题。另外,这些数据源是异构的,即使是正确的数据,也可能存在着不一致性、冲突等问题。因此需要对数据源进行清洗后再提供给数据仓库所用。

(2) 数据仓库层的设计。本系统使用SQL Server 2000作为数据仓库服务器,在SQL Server 2000的“企业管理器”中新建一个关系数据库,在该数据库中建立表和关系图,表的建立依据物理模型设计,关系图的建立依据逻辑模型设计。此关系数据库中的数据是使用SQL语句和DTS工具对源数据进行合并、清理、转换和加载后得到的,新建的关系数据库就是数据仓库,即数据存储中心,它将是OLAP服务器的数据来源。

(3) OLAP服务器层的设计。本系统使用SQL Server 2000的Analysis Services作为OLAP服务器,在Analysis Manager中建立分析数据库,在分析数据库下设定数据源,并按照星型模型建立多维数据集,为下一步进行多维分析奠定基础。本数据仓库中的多维数据是用ROLAP以关系型结构进行表示和存储的。

(4) 数据分析/应用层的选择。本系统在数据透视表服务组件的支持下,应用EXCEL前端工具对数据仓库进行多维分析和查询。这种操作不需要学习其他语言来编写客房端应用程序,使用所附带的连接数据库的功能操作即可。而且,它可以连接到分析服务器,将服务器端的多维数据集放到客户端成为一个本地文件,以后在无网络连接的情况下可以用来分析。使用Microsoft Visual Basic 开发客户端人机交互界面,其中用ADO MD和DSO对象实现对多维数据集的访问,从而实现多维数据集浏览工具的开发。

2.3 分析主题的确定

通过与社保有关人员交流,了解到他们在业务中最关心的是基金的管理,即基金的收缴与拨付。确立本数据仓库的分析主题为“在职人员养老保险基金收缴”和“离退休人员养老金拨付”,度量值分别是“基金收缴金额”和“养老金拨付金额”。分析主题根据分析要求将数据组成了一个完备的分析领域,即主题域,且满足主题域的独立性和完备性的特征。

2.4 社保行业数据仓库的逻辑数据模型设计

由于数据仓库的主要操作对象是多维数据,因此在数据仓库设计中,应采用多维数据建模技术,以使用户能更好地理解企业的数据信息。多维数据建模符合人们的思维方式,易于用户的理解和使用,能支持用户从多个角度对数据进行分析。现在大部分企业使用的是关系数据库,在建设企业的数据仓库时,一般采用基于关系数据库的建模方法。在基于关系数据库的多维数据建模中最常见的是星形模型。本系统采用星形模型进行设计。

本系统的数据源是由某社部门提供的事务数据。通过分析设计了两个事实表:zz_fact(在职人员养老保险基金收缴事实表)及ltx_fact(离退休人员养老金拨付事实表),这两个事实表的主码是由相应维表的主码构成的组合码,事实表通过外码与维表建立联系,便于以后查询。设计了四个维表,分别是time_by_day,Unit_Table,geo_table,sj_Private_table,它们的主码分别是time_id,DWNM,geo_ID,sj_ID,它们通过主码与事实表建立联系。

2.5 社保行业数据仓库的物理存储模型设计

数据仓库是数据库技术一种新的应用。至今,数据仓库一般仍是应用数据库管理系统来管理其中的数据。数据仓库的逻辑数据模型最终将转为数据库的物理模型。

建立数据仓库物理模型所依据的逻辑模型是多维数据模型,而不是实体-关系模型,并且要尽可能地与多维数据模型保持一致。由于实际应用环境的限制,数据仓库的物理模型同逻辑模型存在差异是不可避免的。

3 社保行业数据仓库的实现

3.1 技术环境和实现工具的选择

本系统使用Microsoft SQL Server2000作为数据仓库服务器开发平台,使用Analysis Services作为OLAP服务器开发平台,使用DTS(Data Transformation Services)作为数据转换工具。

3.2 数据仓库的建立

本系统使用的数据,是某市社保局所提供的已有的参保人员的信息资料,已转换成SQL Server数据库“sbdata”源数据。在这些源数据中有数据的重复、丢失、改变等脏数据。首先使用SQL语句将多个表的数据组合在一起,并进行字段的删除、属性修改等操作,最后通过DTS传输至 “sb”数据库相应的表中。数据导入时先导入维表,然后再导入事实表;数据删除要先删除事实表,然后再删除维表。本DTS包创建工作流的优先级如下:(1)执行SQL任务,删除现有的SB数据;(2)将数据汇集到维表中;(3)将数据汇集到事实表中。

完成SB的DTS包设置后,通过执行包将源数据库sbdata中的数据加入到SB数据仓库中,并把SB作为分析服务器的数据源,在分析服务器下建立多维数据集。最后保存DTS包。

3.3 社保行业数据仓库中数据分析的实现

在本系统中,采用SQL SERVER 2000的Analysis services OLAP分析工具。

在分析服务器端使用Analysis services的分析管理器(Analysis Manager)创建分析数据库,在分析数据库中建立多维数据集,并对多维数据集进行处理和分析。

(1) 分析数据库的建立。OLAP分析数据库是相关多维数据集及其所共享的对象的容器。对象包括数据源、共享维度和数据库角色。如果有多个多维数据集要共享这些对象,则这些对象和多维数据集必须在同一个OLAP分析数据库中。

在对象层次结构中,OLAP分析数据库从属于分析服务器。因此,在安装分析服务器后,首先在Analysis Manager中新建一个OLAP分析数据库“社保养老保险决策”,即数据仓库,将作为社保决策分析中数据源、多维数据集、共享维度、挖掘模型、数据库角色的容器。

(2) 数据源的设置。数据源是OLAP将要分析的数据来源。创建分析数据库后,应该指定数据源。Analysis Manager为指定数据源提供了可以使用的OLE DB Provider清单,在此清单中选择数据源类型(Microsoft OLE DB Provider for ODBC Driver/Microsoft OLE DB Provider for SQL Server是两种应用广泛的数据源)。在此选择Microsoft OLE DB Provider for SQL Server数据源类型。

此时,我们已设定了数据源-SQL数据库文件“sb”,建立了分析数据库-“社会保险决策”。在此,“sb”和“社会保险决策”均属数据仓库的数据库。“sb”是数据仓库的数据库,是实际存在的数据库,由Microsoft SQL Server 2000系统支持,主要管理工具是“企业管理器”,而“社会保险决策”是数据仓库的分析数据库,是虚拟的、用来存放OLAP服务结构的对象,由Microsoft SQL Server 2000 Analysis Services系统支持,主要管理工具是“Analysis manager”。

3.4 社保行业数据仓库中多维数据的查询

Microsoft 提供了服务器端的组件——分析服务器,可以用来创建多维数据集,提供客户端的组件——数据透视表服务(Pivot Table Services),让用户可以通过它来获取多维数据。

(1) 用EXCEL实现对多维数据的查询。用EXCEL2000作为分析服务器前端工具,可以连接后台大型关系数据库,将数据下载到前端做二维的数据透视表分析,从而使客户端用户能方便的查看分析服务器或多维数据集的数据。EXCEL2000也可以连接到分析服务器,将服务器端的多维数据集放到客户端成为一个本地文件,即使在没有网络连接的情况下也可以用来分析,也可随时连接服务器来更新文件,尽可能达到数据同步的效果,快速得到所需要的信息。

用EXCEL对社保基金收缴多维数据集进行查询、分析,可以选择不同的维来分析数据,了解社保基金收缴情况。可以在“数据透视表”工具条上使用图表向导,选择三维柱形图表,产生图表。更直观的了解细节性数据。

(2) 用VB实现对多维数据的查询。本系统采用VB开发客户端应用程序,实现对多维数据集的访问、查询、透视表展示和图形展示。

以下介绍客户端应用程序的功能和操作方法:

A.主窗口。客户端程序的主窗口包括:标题栏、工具栏及显示界面。

工具栏有“树形浏览”“图表显示”“切片选择”“高级查询”和“退出系统”四个图标。系统默认在树形浏览界面以树形视图的方式显示当前运行服务器的数据库体系结构。系统默认在图形显示界面以图表的形式显示查询结果,单击“切片查询”可以通过选择切片进行查询。单击“高级查询”可以使用MDX(Multi-Dimensional Expressions,多维表达式)语句来查询。

B.查询多维数据库。用户可以通过查询多维数据库,显示自己定制的查询结果。系统提供了两种方式来查询多维数据库,即切片查询与高级查询。

通过MDX的各种函数可以查询用户需要的任何信息。比如,需要了解社保行业“养老保险金拨付和收缴的差额(补贴)大于零的企事业单位(即需要补贴的企事业单位),并要求按照补贴数额从大到小进行排列。

代码如下:

WITH

member [measures].[补贴] as '[Measures].[养老金拨付金额]-[Measures].[社会保险收缴金额]'

SELECT

{[Measures].[社会保险收缴金额],[Measures].[养老金拨付金额],[measures].[补贴]}on columns,

order(

filter(

{ {[单位].[所有 单位].[企业],[单位].[所有 单位].[事业]}*{[时间].[所有 时间].children}},

([measures].[补贴])>0),([measures].[补贴]),desc)on rows

FROM

[收缴拨付立方]

WHERE

([地理].[所有 地理].[太原])

通过查询结果得知,近年来养老保险资金缺口较大,且有上升的趋势,这是养老保险暴露出来的问题,也是全国养老保险普遍存在的问题,本人认为主要有以下原因:①人口老龄化程度逐渐加深;②基金收缴率低,拖欠现象比较严重;③基金管理不够完善。

通过本系统,决策者可从不同角度,采用不同方式,对不同主题进行查询、分析、研究,从而更好的了解本地的养老保险金收缴和拨付情况,为最终的决策和管理提供依据。最终完成以下功能:①更科学的测算、确定社会保险基金在年度财政预算中的比例,保证中央及地方财政预算安排的社会保障资金要及时足额拨付到位;②预测可能出现的资金风险,科学地确定基金积累水平预警线。为建立有效的基金支付风险预警制度,保证社会保险基金长期安全运行提供科学依据;③对现行政策执行情况进行监测和评价,对未来政策决策提供依据和支持;④进一步完善政府对社会保险的管理。

4 结束语

本文在研究数据仓库技术的理论基础上,提出了基于某省社保行业数据仓库的设计与实现过程。本文是应用比较成熟的数据仓库技术完成的。在整个研究过程中,本人通过与社保行业有关领导及管理人员多次沟通,进行需求分析,根据社保行业的需求状况,设计并实现了社保行业的数据仓库系统,基本满足了用户的需求。

社保行业数据仓库的建立,可以使社保行业更好地了解自己的运营状况,更全面、深入地分析业务数据,从而为业务的发展提供良好的决策基础。

参考文献

[1]曹晓静.决策支持系统的发展及其关键技术分析[J].计算机技术与发展,2006(11):94.

[2]苏新宁,杨建林,江念南,栗湘.数据仓库和数据挖掘[M].北京:清华大学出版社,2006.

[3]龚小勇.关系数据库与SQL Server2000.[M]北京:机械工业出版社,2006.

猜你喜欢

数据仓库社会保险
社会保险
社会保险
社会保险
社会保险
社会保险
基于数据仓库的数据倾斜解决方案研究
基于数据仓库的住房城乡建设信息系统整合研究
页岩气工程大数据仓库建设与管理系统开发
分布式存储系统在液晶面板制造数据仓库中的设计
探析电力系统调度中数据仓库技术的应用