OLAP分析六篇

2024-09-02

OLAP分析 篇1

在实际中,专家进行食品风险决策需要考虑复杂多样的食品风险因素,如食品、时间、检疫局、危害项目、企业等。例如,为了统计近段时间内每个企业出口食品在各个国家的不合格情况,用于决策以后该企业往各个国家出口食品的情况,这些统计所涉及到的数据往往呈现多维的形式,而传统的数据分析方法很难适合这种决策分析。联机分析处理(OLAP)是共享多维信息的、针对特定问题的联机数据访问和分析的快速软件技术,它通过对信息的多种可能的观察形式进行快速、稳定一致和交互性的存取,允许决策人员对数据进行深入观察。联机分析处理具有灵活的分析功能、直观的数据操作和分析结构可视化表示等突出优点,从而使决策人员对基于大量复杂数据的分析变得轻松而高效,以利于迅速做出正确的决策。

为此,该文采用联机分析处理(OLAP)对多维数据进行分析处理。该文首先对食品安全风险因子进行详细分析,得到多维数据模型,然后根据专家的实际需求对多维数据进行各个角度的分析,并以数据立方体的形式展现,使专家很清晰的看到统计信息,从而给出正确的决策信息。

1 OLAP的体系结构

OLAP以数据仓库为基础,通过快速、一致、交互地访问各种可能的信息视图,帮助决策人员洞察数据奥秘,掌握隐藏于其中的规则。OLAP力图处理数据仓库中浩如烟海的数据,并将其转化为有用信息,从而实现对数据的归纳、分析和处理,帮助企业完成决策。

OLAP支持最终用户进行动态多维分析,其中包括跨维、在不同层次之间的计算和建模;在时间序列上的趋势分析、预测分析;切片和切块,并在屏幕上显示,从宏观到微观,对数据进行深入分析;可查询到底层的细节数据;在观察区域中旋转,进行不同维间比较,采用三层C/S结构,其体系结构如图1所示[6]。

由上图可知,第一层为客户机,实现用户最终功能,不仅可以浏览数据仓库中数据,还可以生成数据立方体,支持各种OLAP操作,比如切片、切块、旋转、趋势分析、比较等处理,实现决策。第二层为分析服务器,主要存储数据仓库中综合数据,形成多维分析模型。第三层是企业服务器,存储数据仓库中来自基层数据库的细节数据。

2 食品安全风险因素分析

根据食品出口时所涉及到的各个因素进行分析,得到各因素之间的关系如图2所示。

从上图中可以看出,食品出口的风险与很多因素有关,比如企业、检疫局、危害物风险、国家风险等等。下面一一进行分析。

食品在生产过程中,风险与食品本身所带有的危害物有关,危害物风险越高,对应的食品风险就越高。食品中危害物数量和种类众多,按其危害程度分为限用和禁用危害物两种,限用危害物为限制使用的危害物,如果检测出的含量超过其标准含量,该危害物就有风险。禁用危害物为禁止使用的危害物。如果一旦检出食品含有禁用物质,该食品的风险为高风险。

企业生产食品后,向检疫局报检食品,因此食品的风险与企业有关,如果一个企业有完善的安全卫生质量体系如GMP、HACCP的建立和有效运行,可以使食品风险降低。如果企业出口的食品经常被通报不合格,该企业出口食品的诚信降低,食品的风险会增高,也有可能会被退回。因此不同的企业对食品的风险是不同的。

食品出口到某个国家,有对应的国家技术要求,会产生风险。因为有的国家对食品的技术要求严格,比如日本,对进口的食品技术要求(包括包装、检测项目检测等)相比于其他国家普遍要高,所以出口到日本的食品风险要比其他国家风险高,这就说明食品的风险与出口到的国家有关。

食品安全风险因子复杂,所涉及的法规标准项目十分繁多,而一线人员的专业知识不可能面面俱到,难免带来监管上的漏洞。因此执法者对食品风险也有一定的影响。如果官方对企业生产的食品及时进行抽检,发现问题,解决问题,会降低食品出口风险。如果官方对企业进行定期监管,监督企业对农药的使用、卫生的管理,也会降低食品出口风险。

上述与食品风险有关的因素都有实效性,比如企业风险,在一段时间内某企业向某国家出口的食品有很多检出不合格,该企业的食品风险高,如果该企业经过一段时间的调整,对食品的管理加强,严格控制企业的卫生条件,出口的食品不合格数降低,这时的企业出口食品的风险要降低。

综上所述,食品风险因素主要有时间、食品本身、企业、国家、检疫部门、危害物等,专家要想对食品风险进行决策时需要综合考虑上述因素。

3 OLAP应用分析

3.1 多维数据建模

数据仓库是面向主题的、集成的、时变的、非易失的数据集合,用以支持经营管理中的决策制定过程[7]。该文的主要目是通过对食品安全检测数据的分析得到决策信息,因此数据仓库的主题主要是食品安全风险决策分析主题,它是在较高层次上将食品风险分析中的数据综合、归类并进行分析利用。数据仓库定义了对应的结构元素来实现数据的结构模型:事实、维、粒度。该文采用数据仓库的星型模型表示多维概念模型,星型模型由事实表和若干维表组成。“事实表”中的每条元组都包含有指向各个“维表”的外键和一些相应的测量数据。“维表”中记录有关一维的属性。通过对食品风险因素进行分析后,食品安全风险决策分析主要的事实表为食品安全检测数据通报表,而维度表为食品风险因素。食品风险分析数据仓库的星型模型如图3所示。

由上图可知,事实表中每个元组包含一些指针,每个指针指向一张维表,比如食品hs编号指向了食品表,这就构成了数据库的多维联系,相应每条元组多维外键限定数字测量值,比如检测值。在每张维表中除包含每一维的主键外,还有说明该维的一些其他属性字段。维表记录了维的层次关系也成粒度。比如时间维可按日计,也可按年、月计等。食品安全风险星型模型是数据仓库的复杂查询,为OLAP的分析打下基础。

3.2 OLAP维度分析

OLAP在进行数据操作分析前首先要分析食品安全风险中可能涉及的所有维度,并根据决策者实际要求确定其需要的维度和度量。涉及的维度如表1所示。专家对食品风险数据不同角度的分析要求的数据集不同,涉及的维度也不同。比如,对企业风险进行决策,专家希望看到的信息为某企业在某段时间内向某个国家出口的食品不合格情况,目标维为食品不合格数,条件维为时间维、食品维、国家维、企业维等。对食品的检测项目进行决策,决策者希望看到的信息为某食品在某段时间内检测项目的不合格情况,目标维为检测项目的不合格数,条件维为时间维、国家维、食品维、检测项目维等。

3.3 OLAP在食品风险中的应用

OLAP用于食品安全风险多维数据的分析操作,可以根据分析人员的要求快速、灵活的进行大量食品安全检测数据的复杂查询,它以一种直观易懂的饼图、曲线图、直方图等形式将分析结果提供给决策人员,把知识形式化,方便专家给出合理准确的决策信息。OLAP在食品风险数据分析中产生的决策信息实例如下。

1)企业向不同国家出口食品的决策

专家在对企业向不同国家出口食品做出决策时,需要考虑的因素为时间、食品、企业、国家、食品不合格数,因四维数据立方体的构建比较复杂,这里固定时间的维度,来分析其他维度的变化对专家决策信息产生的影响,国家维、企业维、食品维构成的数据立方体中的小格内存储数据可以表示为食品不合格数,它们依赖于一组“维”,这些维提供了测量值的上下文关系,例如食品不合格数与企业、国家、食品名称和设置的时间有关,这些相关维唯一决定了食品不合格数值。对上述数据立方体的各种操作可以得出不同的结论。比如从国家维的角度来看,对多维数据立方体进行上卷,从得到的切面可以看出,对于特定的出口国家日本,各个企业出口的食品通报次数,通过统计可以清楚的看出那个企业出口的食品报通报次数多,决策者可以给出哪些企业的食品出口到某个国家的风险高的决策,然后采取措施,比如限制该公司对该国的出口,让其进行整顿。

上述数据立方体固定了时间维,专家得到了企业在特定时间内向哪些国家出口食品的信息。下面固定国家维,由时间维、企业维、食品维构成的数据立方体,从企业维的角度来看,对数据立方体进行上卷操作,得到在各个时间内,企业向特定的国家出口食品的通报次数。如果某个企业在某些月份食品不合格的次数多,专家可以做出该企业在这段时间内食品风险高的决策,也可以在这段时间内向该企业发出警告,使该企业整改,减少企业和国家的经济损失。时间、企业、食品数据立方体的上卷分析展现形式如图4所示。图4为2011年,2012年某企业出口蔬菜食品到韩国的不合格数统计,从图中可以看出,在2012年,牛肉通报的不合格数高,专家可以做出在这段时间内该企业出口牛肉食品到韩国的风险高,提醒检验检疫管理人员采取措施。

综上所述,依据专家要求,进行相应的OLAP操作,使专家可以很直观的看到统计信息,并做出相应的决策,因这种分析是多维的,从不同的角度分析可以得到更多的决策信息,这些决策信息符合实际要求,而且有相应的数据和理论依据,符合专家对食品安全检测数据分析的要求。

4 总结

联机分析处理OLAP在食品安全风险数据仓库中的应用,帮助决策人员从海量的食品安全检测数据中提取决策信息,对检疫部门的影响颇大。该文首先对食品安全风险因素进行了详尽分析,为建立数据仓库的星型模型打下基础,便于OLAP的多维数据分析,最后列举了一些OLAP在食品安全风险中的风险决策支持的实例。OLAP能够使用户进行复杂操作和计算的多维分析,使决策人员更深入的了解数据的表现形式,为检验检疫部门决策人员做出决策提供了强有力的科学依据。

参考文献

[1]付昌斌,孙慎侠,李立,孙亚斌,龙川凤.出口果蔬食品风险分析及管理措施研究[J].检验检疫学刊,2011,21(6):64-66.

[2]黄丽玲,苏志坚,张冬冬,等.出入境货物检验检疫风险管理的研究[J].检验检疫科学,2003,13(6):1-6.

[3]季任天,赵素华,王明卓.食品安全预警系统框架的构建[J].中国渔业经济,2008,26(5):61-65.

[4]晁凤英.食品安全监管中的关联规则挖掘[D].杭州:浙江大学,2007.

[5]晁凤英,杜树新.基于关联规则的食品安全数据挖掘方法[J].食品与发酵工业,2007,33(4):107-109.

[6]吉根林.联机分析处理(OLAP)究[J].南京师范大学学报,1999,22(4)23-26.

OLAP分析 篇2

一、财务数据仓库设计

数据仓库是在企业管理和决策中面向主题的、集成的、与时间相关的、不可修改的数据集合。数据仓库技术作为一项数据管理领域的新技术, 精髓在于针对联机分析处理 (OLAP) 提出了一种综合的解决方案, 存放了企业的整体信息, 是一种概念, 而不是一种产品。财务数据仓库对于企业的贡献在于效果, 能适时地提供高级主管最需要的决策支持信息, 利用该支持系统, 企业可以灵活地分析所有细致深入的数据, 以建立强大的财务管理决策优势。一方面, 数据仓库的数据内容、结构、粒度和其他物理设计需要根据用户的反馈信息不断地调整完善;另一方面, 应用环境发生重大变化或者新技术出现都有可能导致用户的应用需求发生重大变化, 使现有系统不能满足用户要求, 需要重新设计系统, 开始一个新的生命周期。

(一) 数据仓库的相关概念具体包括: (1) 事实表。事实表中的

一条记录代表一个度量, 一个度量事件也总是会产生一条事实表记录。每个事实表都包含与特定业务过程相关的度量, 例如接受一个订单, 显示一个网页, 打印预订单或者处理一个顾客的服务请求。 (2) 维表。维度是维表的基础, 用来描述业务的对象, 每个维度表联系着所有参与其中的业务过程, 维表的主键组成了事实表的外键。根据财务分析事实表设计的维表有时间维表、公司维表、行业维表和指标维表。 (3) 粒度。事实表中包含信息的详细程度称为粒度。粒度级越低, 细化程度越高, 一般在设计事实表的时候可以对于近期的财务数据选取细化到月的数据, 对于比较久远的历史财务数据选取细化到年的数据。 (4) 多维数据库。多维数据库就是以多维方式来组织数据, 以多维方式来显示数据。多维数据库可以直观地表现现实世界中的“一对多”和“多对多”关系, 可以通过多维视图来观察数据, 与关系数据库相比, 其优势在于可以提高数据处理速度, 加快反应时间, 提高查询效率。 (5) 多维数据立方体。OLAP中的多维数据模型将数据看作数据立方体 (data cube) 形式。数据立方体允许以多维对数据建模和观察, 多维数据模型由维和事实定义, 数据立方体结构由维表和事实表组成。多维数据立方体通常作为主要的逻辑层结构用来描述多维数据库, 是实现OLAP分析的数据对象。比如由“时间”、“上市公司”、“盈利能力”可以组成一个三维的盈利能力立方体。时间轴由每个具体的年度组成, 上市公司轴由具体的上市公司名称组成, 盈利能力由选取的指标总资产收益率、净资产收益率、销售净利率、营业利润率组成, 具体如图1所示。多维数据集是一种结构, 包含了一个或者多个度量, 还包含了由维度层次结构形成的聚合, 以及一个或者多个维度从层次结构中提取出来时所形成的聚合。在图1所示的多维数据集内, 每个度量都是三个维度的成员交叉, 比如A点描述了江西铜业在2008年的净资产收益率的值。

(二) 财务数据仓库的创建

上市公司财务数据分析系统中包括一个事实表和四个维表, 分别由指标维表、时间维表、公司维表和行业维表组成。根据指标选取的系统性、敏感性、可度量性原则选取了财务指标。指标维表由指标编号和表1中所选取的14个财务比率组成, 时间维表由时间编号、年度、半年度和季度组成。公司维表由上证50指数中选取的37家数据较齐全的上市公司编号、公司代码和公司简称组成。行业维表由行业编号和行业名称组成。

(三) OLAP技术查看财务数据方式

OLAP系统围绕构造度量、维度、层次结构和多维数据集的数据进行创建, 这样可以使用户很容易地按照需要分割组合信息, 使用多种方式查看数据。具体包括: (1) 切片和切块。在多维数据结构中, 按二维进行切片, 按三维进行切块, 可查询到所需数据, 例如, 特定年份的盈利能力构成多年数据的一个切片, 多个切片叠合起来即为切块。 (2) 旋转。旋转是改变页面显示的维方向, 比如行和列之间的交换。 (3) 钻取。钻取是改变维的层次, 变换分析的粒度, 包括向上钻取和向下钻取, 向上钻取是指由低层次向高层级数据的查看, 即维度的减少, 例如从半年度数据向年度数据的汇总;向下钻取是由高层次数据向低层次数据的查看, 即维度的增加, 例如从季度数据向半年度数据的深入。

二、利用财务数据仓库进行OLAP分析

SQL Server 2005在商业智能方面提供了三大服务和一个工具来实现系统的整合。SSAS是从数据中产生智能的关键, 通过这种服务, 可以构建数据立方 (Cube) , 也就是多维数据集, 然后进行OLAP分析。首先对OLAP的多维数据结构进行设计, 包括维度和多维数据集的设计, 然后创建维度和多维数据集, 系统采用Analysis Service做分析服务器, 最后利用SSRS展示查询数据, 实现对上市公司财务数据的分析。

(一) 生成多维数据集

多维数据集的创建建立在数据源视图的基础上, 通过设置事实表和维度表, 系统会自动检测层次结构, 这些都是和原始财务数据中的逻辑结构相符合的。完成向导后, 可以查看建立的多维数据集结构, 图2所示为多维数据集的数据源视图, 这里的视图表达出多维数据集的表间关系, 中间是事实表, 箭头所指向的是维度表。

(二) 创建报表和前端展示如果说SSAS对数据进行了相应的

分析, 创建了Cube和OLAP服务所需的数据库, 那么报表和EXCEL展示应该是属于商业智能体系中的前端展现部分, 需要使用SSRS报表服务来实现。例如查询有色金属冶炼行业2007年度盈利能力的财务指标比率, 可先选择数据仓库中的所有企业2007年度~2009年度的净资产收益率、总资产净利率、销售净利率和营业利润率, 然后在查询生成器中设置相应的查询条件, 将查询结果导入到EXCEL 2007中, 显示如图3所示的数据透视表。通过图3可以很清晰地看出, 2007年金钼股份净资产收益率最高, 企业自有资本获取收益的能力最强, 运营效率越好, 并且其他三项财务指标的比率也是最高, 说明金钼股份盈利能力很强, 且具有稳定性和持久性。这只是一个简单的展示过程, 另外财务人员可以通过设置查询条件简单、方便地调用出自己所需要的报表, 利用构造的MDX语句, 实现上钻、下钻、切块、切片、旋转等OLAP运算。在盈利能力的各项指标中, 数据透视表更形象地展示出金钼股份均优于其他公司, 因为数据的实时更新, 这样的图表更能支持财务决策的产生, 充分体现了商业智能辅助有效决策的目标。

随着国家颁布XBRL企业会计准则分类标准, 商业智能将更为广泛地应用于财务分析工作中, 另外如何将XBRL于现有的商业智能技术相结合也是会计信息化发展所需要探讨的问题。借助计算机的力量财务工作会逐步实现智能化, 实现对财务数据的整合, 实现数据的即时反馈, 从而更有效地利用现有数据资源, 为经营者的决策提供现实依据, 提高上市公司的运作效率。

参考文献

[1]张明、陈乃激:《基于财务数据分析的数据仓库模型》, 《中国管理信息化》2007年第5期。

[2]关德君:《数据仓库和OLAP技术在教学管理中的应用》, 《电脑知识与技术》2008年第7期。

数据分析中OLAP应用心得 篇3

1.什么时候用多维度OLAP?

多维度OLAP在让数据透彻的同时,也会造成数据碎片的风险。因此,使用OLAP时一定要有目的的使用,比如在验证或推翻假设检验时对比项(控制组)的选取,抑或探求某一维度下具体指标值。OLAP可以增加数据的分辨率,但也会使数据碎片化。在数据贪心心理的作祟下,谨记在明确目标下再使用多维度OLAP。

在没有明确目的,但要探索数据时进行OLAP,一定要先在目前计算性能允许下,设定好数据的分辨率(如一层维度)。通过这样来利用OLAP对数据进行探索。

OLAP大多数时是供整个团队来自助查询的,这部分功能不宜过分延伸,因为数据计算成本很难让团队成员充分理解,

一言以蔽之:OLAP要么在有明确目的下,要么在明确限定下使用。

2.OLAP的目的:

随之而来的问题是OLAP的明确目的是什么? 如果说数据分析的目的是为判断决策提供逻辑依据,那么OLAP即是为这些逻辑依据提供分析用的原材料。一个指标值突然的显著变化,我们的目的绝不是说看遍所有维度,所有水平的指标表现,这是一种低效的方法。而宜用相关性高的维度中可能影响的水平下之数据,去推翻或支撑备择假设。如A指标在过去30天内环比波动在3%以内,但最近2天波动却达到10%,对这种异常首先进行假设,而后利用OLAP所呈现的更细粒度数据对假设进行论证或推翻。

OLAP分析 篇4

长期以来关系数据库作为数据管理的主要手段在各个行业都取得了辉煌的成果,其作用主要用于进行事务处理。随着时间的推移,企业信息系统产生了大量的数据,数据是信息的载体,如何从这些海量数据中提取对企业决策分析有用的信息成为企业决策管理人员所面临的重要难题。于是人们开始尝试对传统数据库中的数据进行再加工,致力于形成一个综合的、面向分析的环境,从而更好地支持决策分析。这些众多的尝试促使数据仓库思想的逐渐形成。联机分析技术作为数据仓库中最为典型的应用,其最初的概念是由关系数据库之父E.F.Codd于1993年提出。

E.F.Codd认为联机事务处理(OLTP)已不能满足终端用户对数据库查询分析的要求,SQL对数据库的简单查询也不能满足用户分析的需求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此,E.F.Codd提出了多维数据库和多维分析的概念即

本文针对在钻井数据仓库基础上,如何构建合理的OLAP多维模型做了有益探讨,并设计实现了关于钻井时效主题的OLAP多维系统。

1 OLAP体系结构

1.1 传统C S结构

OLAP传统的实现方案通常采用三层结构,如图1所示。

第一层:数据仓库服务器,它实现与基层数据库系统的连接,完成企事业级数据一致和数据共享的工作。

第二层:OLAP服务器,它根据最终客户的请求实现分解成OLAP分析的各种分析动作,并使用数据仓库中的数据完成这些动作。

第三层:前端的展现工具,用于将OLAP服务器处理得到的结果用直观的方式,如多维报表、饼图、柱状图等形式展现给最终用户

1.2 基于Web的B S结构

与C S架构比较而言,B S系统架构所具有的优势是非常明显的,它提供了一种以Web为基本渠道进行数据交换的方法,使企业数据和应用程序能够被任何与Web相连的计算机获取。由于近年来人们在商业和娱乐方面使用Internet的经验越来越丰富,这就使得Web浏览器作为一种使用简单、用户界面友好的信息获取工具而被不同计算机水平的用户所接受。

图2是B S结构的OLAP典型系统架构,它在传统架构上增加了Web服务器,并用浏览器取代了OLAP前段工具。从功能上来说,可分为如下三部分。

OLAP服务器:和数据仓库服务器同时作为数据源向Web服务器层提供数据访问服务,其中OLAP服务器完成对数据仓库中原始数据的分析处理,数据仓库服务器实现对数据库中数据的管理,并直接向OLAP服务器提供原始数据的访问服务。

Web服务器:同时与Web浏览器和OLAP服务器连接,对Web客户端访问数据库起到桥梁作用。Web服务器一方面接收Web客户端请求,并把该请求转换成对OLAP服务器的数据访问请求;另一方面,它负责将OLAP服务器返回的数据集按照预定格式返回到客户端。

Web浏览器:直接与最终用户交互,根据用户操作形成客户端访问请求,同时它也将服务器端返回的数据呈现给最终用户。

2 OLAP多维模型设计

2.1 主题需求分析

作为一个钻井公司,掌握了解其下面各个井队的钻井工作时间构成及其利用状况,对于提高管理水平和调整组织结构起着相当大的指导作用。而了解这些情况的主要方式就是对井队的钻井时效进行查看和分析。管理者分析问题的角度会从井队、井出发查看不同时间的生产情况、非生产情况,所以得出参与分析需要的信息应该有:井信息,井队信息,时间信息,生产时间信息,非生产时间信息。

2.2 逻辑模型设计

2.2.1 确定维度和事实表

事实表和维表是整个数据模型的基础,因此事实表和维表的划分一定要合理。通过需求分析,可以初步确定需要的维度有:时间维、井队维、井维、生产时间维、非生产时间维。至于度量值,采用了每天的生产时间总数和非生产时间总数。这两个度量值是是采用冗余技术引入的两个导出字段,它们是在从数据仓库提取数据时,将井每天的生产时间和非生产时间分别进行汇总得到。

本文给出时效分析汇总和计算公式:

钻井工作总时间=生产时间+非生产时间

生产时间=测井时间+进尺工作时间+辅助时间+固井时间

非生产时间=事故时间+组织停工时间+修理时间+复杂情况时间+其他非生产时间

各项钻井工作时效=(各项钻井工作时间钻井工作总时间)×100%

注:以上时间单位均为小时。

至此,可以大致设计出该模型的星型结构图,如图3所示。

2.2.2 维层次和分类划分

在进行聚集运算时往往需要在维的不同层次上进行,所以维层次的划分对于聚集运算起着很关键的作用,通过需求分析,结合数据实际情况,对井队基本生产情况主题的各个维层次划分如下:

时间维:在此设计了年、季度、月、日几个层次。

井维:根据不同的目的,井可以有很多种分类方法该主题中以井别和井型分类

上文层次概念结构如图4所示。

3 OLAP系统实现

3.1 OLAP多维分析引擎

OLAP分析引擎位于数据仓库层与用户交互层之间,它负责分析用户的输入,把用户的输入转化成SQL语句,对数据仓库中的多维视图进行各种操作,然后把结果集返回给用户。

OLAP引擎工作流程如下:首先把用户的输入命令转化成各种参数,然后再把参数输入到多维处理模块,多维处理模块接收到参数后,对其进行分析,然后生成相应的SQL语句,从数据仓库中获取所需数据,得到多维结果集,再将结果集按照用户选择方式进行处理,包括生成表格和图像两种方式,最后返回给用户,如图5所示。

3.2 多维数据集输出

本文系统采用了OLAP存储体系,因此,从OLAP引擎返回给用户的多维数据集,物理上还是2维的。其形式如表1所示。如何将这些2维的数据以多维的方式显示给用户是一个需要考虑的问题。

一种可使用的方法就是将维度进行嵌套,设计默认的一种嵌套方式是将维度作为嵌套维度维度2作为被嵌套维度,组成多维信息输出方式如下表2所示。

3.3 信息可视化

虽然提供给用户的是经过处理的多维数据集,然而它依旧是以数据表格为展现形式,主体依然是抽象的数据,要用户在各种复杂的数据表格中找到各种事物之间的关系,也并非是一件易事。因此,如果在OLAP中引入信息可视化技术,将会极大地帮助用户理清各种关系。

本文系统采用ActiveX组件技术,将符合用户分析条件的数据经过多维处理后,输入到图形生成器当中,由服务器端生成图像,然后传输给客户端。选择OWC(Office Web Components)统计报表组件来实现前端可视化展示,实现了使用柱状图、饼图和曲线图来表示不同信息,在此给出一个曲线可视化图例,如图6所示。

4 结束语

结合油田具体情况,对OLAP模型设计做了深入的学习和研究,构建了基于钻井数据仓库的时效主题分析多维模型,并实现了分析结果的多维输出以及OLAP分析结果的信息可视化,对油田管理者起到了一定的辅助决策作用

参考文献

[1]王彦龙.企业级数据仓库(EDW)原理、设计和实践[M].北京:电子工业出版社,2006.

[2]Erik Thomsen.OLAP Solutions:Building Multidimensional InformationSystems[M].Second Edition:电子工业出版社,2004.

[3]于宗民,刘义宁,祁国辉.数据仓库项目管理实践[M].北京:人民邮电出版社,2006.

[4]林宇.数据仓库原理与实践[M].北京:人民邮电出版社,2003.

[5]林杰斌,刘明德-陈湘.数据挖掘与OLAP理论与实务[M].北京:清华大学出版社,2003.

OLAP分析 篇5

基于关键词的信息交互方法在搜索引擎中的应用获得了广泛认可, 应用关键词进行记录查询在关系型数据库研究领域也引起了一定的兴趣, 主要包括BANKS[1]、DBXplore[2]、DISCOVER[3]、IR-Style[4]、Object Rank[5]等。其基本思路是将数据库中的数据看作是由行通过主键-外键连接而成的图, 当用户给出关键词查询时, 通过全文索引从图中找出包含全部关键词的最小子图作为结果反馈给用户。

在商业智能领域, 相关研究主要包括基于关键词查询结果提供多维视图展现和分析的方法[6,7], 关注满足条件的对象的多维特征展现, 不涉及如何汇总。Wu等人[8]提出基于关键词的OLAP查询框架, 通过关键词检索特定数据立方体中的维度和事实, 对检索结果进行连接后按照Multiple Fact方法呈现结果。其基于Fact的后续处理方式无法处理多立方体的情况, 也未就如何将其查询结果与现有OLAP系统结合给出解决方法。

立方体模型是数据仓库的基本结构。在该模型中, 一部分是数值度量值 (如销售量、投资额、收入等) , 它们依赖于一组维度, 而所有维提供了度量值的上下文关系。度量值及其依赖的维度形成的所有立方体的集合构成了数据仓库的主要内容。这种多立方场景使得构建基于关键词的统一交互需要处理跨立方体的结果连接问题。

本文提出支持多立方体的OLAP关键词查询方法, 基本框架部分给出构建基于关键词的OLAP查询方法的工作原理和流程, Key Graph算法解决跨立方体的结果连接问题。该方法首先根据数据仓库模式构建维度索引, 对用户输入的查询进行全文匹配, 获得按关键词划分的命中集, 对命中集进行组合连接并排序后将产生的候选结果提供给用户。通过条件判定和剪枝算法, 解决了多立方体条件下命中集产生效率问题。

1、问题定义

通过关键词进行联机分析可概括为三类:单立方体单关键词、单立方体多关键词、多立方体多关键词, 由下述引例1、2、3分别给出。引例均基于SQL Serve示例数据仓库Adventure Works DW, 涉及财务和销售, 包括财务、货币汇率、分销商销售、销售汇总、Internet销售、配额共六个数据立方体。

引例1:用户输入关键词Chainring;Internet Sales Amount进行检索, 命中结果:

(1) 产品Chainring

(2) 产品Chainring Bolts

(3) 产品Chainring Nut

(4) 度量Internet Sales Amount

可判断用户的检索意图为:

(1) 产品Chainring网上销售总额?

(2) 产品Chainring Bolts网上销售总额?

(3) 产品Chainring Nut网上销售总额?

引例2:用户输入关键词Chainring;Touring-3000 Promotion;Internet Sales Amount进行检索, 命中结果:

(1) 产品Chainring

(2) 产品Chainring Bolts

(3) 产品Chainring Nut

(4) 度量Internet Sales Amount

(5) 促销活动Touring-3000 Promotion

可判断用户的检索意图为:

(1) Touring-3000 Promotion促销活动中产品Chainring的网上销售总额?

(2) Touring-3000 Promotion促销活动中产品Chainring Bolts的网上销售总额?

(3) Touring-3000 Nut促销活动中产品Chainring Bolts的网上销售总额?

引例3:用户输入关键词Chainring;Touring-3000 Promotion进行检索, 命中结果:

(1) 产品Chainring

(2) 产品Chainring Bolts

(3) 产品Chainring Nut

(4) 促销活动Touring-3000 Promotion

可判断用户的检索意图为:

(1) Touring-3000 Promotion促销活动中产品Chainring的网上销售总额?

(2) Touring-3000 Promotion促销活动中产品Chainring Bolts的网上销售总额?

(3) Touring-3000 Promotion促销活动中产品Chainring Nut的网上销售总额?

(4) Touring-3000 Promotion促销活动中产品Chainring的分销商销售总额?

(5) Touring-3000 Promotion促销活动中产品Chainring Bolts的分销商销售总额?

(6) Touring-3000 Promotion促销活动中产品Chainring Nut的分销商销售总额?

引例3涉及到分销商销售与Internet销售两个立方体。

下面给出问题定义:

给定用户查询Query (k1, k2, …, kn) , 产生在多维数据空间DS (F1, F2, …, Fn, D1, D2, …, Dn) 的命中集组:Hits (Hk1, Hk2, …, Hkn) , 构造数据空间DS的子空间集合{DS' (Fi, D1', D2', …, Dn') |i∈1..n}。其主要问题是从关键词集合映射到数据子空间的过程。其中k1-kn表示用户输入关键词, F1-Fn表示事实表, Fh表示关键词命中的事实表, D1-Dn表示维度, 以下用Dij表示维度Di的第j个属性, Dij.name和Dij.value分别表示该属性的名称和值。

2、基本框架

OLAP关键词查询流程如图1所示, 首先需对数据仓库中的数据建立索引, 当用户输入关键词后, 为每个关键词产生命中集, 然后对这些命中集进行连接, 最后对连接结果进行排序并反馈给用户, 由用户选择符合其真实意图的项, 生成多维查询结果反馈给用户。

2.1 索引创建

数据空间DS中包含以维度形式存储的历史数据, DS由维度表和事实表组成, 一般按星型模式或雪花模式进行组织。由于星型模型应用更加普遍, 本文使用星型模型。

事实表包含最细粒度的历史数据, 维度表包含事实数据的不同方面。本文的方法仅对维度表建立索引, 因为: (1) 用户对数据的操作, 可由切片、透视、钻取等OLAP操作来表示, 这些操作均在维度以及维度层次上进行; (2) 事实表的列主要包括关联到维度表的外键和度量属性, 外键通常是采用代理主键的方式生成, 不具有语义, 一般不会被用户作为关键词进行查询; (3) 事实表通常包含海量明细数据行, OLAP用户一般不关心单一的明细数据, 因此不需把事实表的行添加到索引中。

索引项结构:索引项是索引中所存储的内容的基本单位, 可采用两种基本的索引项结构之一, 一是以维度表行为单位;二是以维度表列为单位。前者适合关系型数据库场景, 用户期望通过关键词找到关联的对象 (行) ;后者则更适合于OLAP场景, 用户期望通过选择列 (维度属性) 操作对数据进行钻取、切片等操作。索引项组成如下:

<维度、属性、属性L e v e l、属性值>

其中属性Level代表该属性在维度层次中的级别, 后续将作为命中计算的参数。

创建索引:按前文所述, 本文提出方法采用列方式的索引项结构, 创建索引的伪代码如下:

2.2 检索与排序

OLAP与OLTP用户的主要差别在于前者更关注数据的概要性特征[11], OLAP用户通常需对数据按维度或维度层次进行汇总;后者则主要关注数据的细节特征。

维度模型对维度层次的设计体现了对度量进行汇总的不同粒度。维度通常包含一个或者多个属性层次, 每个属性层次由多个级别 (Level) 组成层次化的数据汇总方式, 从顶层的All级别开始, 不断细化, 组成层次树, 用户在属性层次的操作对应于OLAP的上钻和下钻操作, 在不同属性层次的转换构成了OLAP切片和透视操作。

属性层次的划分对应数据在不同粒度上的汇总, 从语义上讲, 高的属性层次对应更高粒度的汇总, 数据仓库用户特征使得高的属性层次同等条件下比低的属性层次更可能符合用户意图。

图2给出了FoodMart数据集的维度模式, 从图中可看出, product family层次高于product name层次, 同样命中关键词sony的结果, 用户有可能更关注的是sony品牌而不是产品名称中包含“sony”单词的产品。

维度层次系数 (Dimensional Level Coefficient, DLC) 是根据维度属性层次得到的权重值。Level为0的属性DLC值为0, 其他的属性层次, DLC值随维度层次细化而递减。当然, 关于weight的赋值, 也可由领域专家根据经验估计或由OLAP系统根据用户访问记录动态调整。

在全文检索排序算法基础上进行加权, 得到新的打分公式如下:

其中score和weight分别表示原有的查询输入得分以及维度层次系数。

2.3 连接及结果集生成

连接 (j o i n) 的主要功能是把关键词命中的结果集映射到D1×D2×...×Dn空间, 当没有结果集命中到某个维度时, 对应于该维度默认层次的顶层级别。

算法1给出候选结果产生伪代码。对于Hits计算中出现单个关键词命中同维度同属性的情况, 例如命中item1=, item2=, 则将其合并为Hij=。例如, 用户输入Beverages关键词, 命中结果如下:

Joins需让具有相同维度和属性的命中参与到连接过程, 即多个关键词命中相同维度和属性的情况, 该情况下采用与Hits相同的方法处理。例如, 输入关键词Specialty Dairy, 命中结果如下:

合并之后结果为:

(明显, 采用or的方法, 无论用户意图是关注Dairy和Specialty两个产品分类之一的销售额或者是对两种进行销售额的对比分析, 结果集中都包含用户关注的数据) 。

算法1产生的最大候选结果数不超过。

最后, Joins排序评分采用了参考文献[8]中相似的公式来计算:

其中rank表示命中的属性值相对关键词q的全文匹配度得分。

3、多立方体条件下候选结果计算的不同方法

基本框架部分给出了基本的单一立方体条件下从用户输入关键词至获取排序后的候选结果的全过程。实际的数据仓库往往存在多个数据立方体, 图3给出了示例的多立方体模式定义 (图中长方形图元代表事实表;圆形图元代表维度表) 。不同的事实表及其关联的维度表构成了不同的立方体, 某些维度表则由不同的立方体共享。当用户输入的关键词命中共享维度表时, 最终结果包含多个立方体。例如, 用户输入Touring-3000 Promotion命中Promotion维度表, 而该维度表由Reseller Sales Facts、Internet Sales Fact及Sales Summary Facts三个事实表共享, 因此, 三个立方体都作为最终候选结果。针对此情况, 多立方体条件下基于关键词的查询方法在结果集生成上需要采用不同的方法。本文给出基于模式图的方法及基于立方体划分的方法。

3.1 基于模式图的方法

基于模式图[1,2,3,4,5]的方法是基于关键词的关系数据库查询研究中采用的主要方法之一。其他方法主要包括基于数据图的方法, 文献[9]给出了完整的综述。数据仓库的海量数据特性若采用基于数据图的方法, 其生成和更新数据图的代价过高, 基于模式图的方法更适合本文的场景。但是, 关系型数据库的范式设计使得基于模式图的方法存在许多局限, 范式的存在产生大量规范化关系, 连接过程大量中间关系的存在使得随关键词数量的增长算法复杂度急剧增长。在模式结构上与关系型数据库不同, 数据仓库存在两点差异: (1) 结构相对简单, 关系数量相对较少; (2) 前者是非中心结构, 而后者是有中心结构。图3是典型的数据仓库结构, 显然, 围绕事实关系形成了多个中心结构。基于此, 为提高基于模式图方法的效率, 对于在数据仓库场景下做出如下改进: (1) 模式预处理:预先对模式完全多中心化; (2) 假定:仅事实表可作为关键词查询结果连接的中间节点。改进后完整的方法描述如下:

模式预处理:

预处理是将数据仓库物理模式中心化的过程, 以图2为例, Product与Product Class是两个关联的维度模式, 通过将后者的属性复制到前者, 即可将两个关系合并为一个关系。立方体模型依照事实表和维度表的关系, 通常划分为星形模型和雪花模型, 对于雪花模型或者非完全的星形模型, 通常需进行预处理。

连接图产生:

产生连接图的过程是将关键词在索引中查询的结果映射到所有立方体模式中的维度层次, 对应到维度表的特定属性, 这些命中的元素需要通过立方体中维度表和事实表的关系连接起来并按照立方体进行组合, 以下给出详细描述。

定义1:KW={k1, ..., km}表示用户输入的全部关键词, SH={R1, ..., Rn}表示包含全部立方体的数据仓库物理模型。

定义2:关系iR中匹配用户输入关键词的行集合, 称之为关键词命中集:

以及

Ri{}则表示不包含任何关键词的关系。

对于用户输入的关键词, 首先遍历KW产生所有Rik t, 若存在集合kt1ktm, 则合并为K, 其中K={kt1, ..., ktm};然后为所有事实表建立Rj{}。如果关系iR主键作为关系Rj的外键, 则给出Ri→Rj的有向边, 通过有向边把所有表连接成的有向图, 称之为模式图。如果存在iRK与RjK'且模式图中包含, 则建立有向边RiK→RjK', 基于上述规则形成的图即连接图SG。

候选图产生:

候选图是满足完整性和无冗余性条件的连接图, 完整性是指该图包含用户输入的全部关键词;无冗余是指去掉图中的任何一个结点后的图都是不完整的。生成候选图的伪代码如下:

输入:SG和关键词的集合KW

输出:候选图的集合candidateSet

候选图产生算法先初始化队列和候选图的集合都为空 (第1, 2行) , 从输入关键词的集合中随机选择一个关键词k (第3行) , 遍历SG的所有结点node, 如果node包含关键词k, 则先为node生成单结点的连接图, 然后加入队列中 (第4, 5, 6行) 。如果队列不为空 (第7行) , 从队列中取出队首结点front并从队列中删除队首元素 (第8, 9行) , 如果front满足剪枝条件, 直接丢弃front开始新的循环 (第10, 11行) , 如果front满足了候选图的条件, 直接将front加入候选图集合中, 开始下一次循环 (第12, 13, 14行) , 否则向front加入有效结点node, 将front重新加入队列开始下一次循环 (第15, 16, 17, 18, 19, 20行) , 当队列为空之后, 循环结束, 最后返回候选图集合 (第21行) 。

第10行的通过剪枝条件判定可避免后续无效的候选图计算和生成过程, 剪枝条件主要包括三个方面: (1) 如果图的连接次数超过指定的临界值T, 则丢弃该图; (2) 如果图中的两个结点属于同一关系, 即图中同时存在iRK与iRK', 则该图也应丢弃, 该两结点合并成新结点iR KUK';3) 如果该图包含全部关键词, 但是有一个叶子结点不包含任何关键词, 该图是不合法的, 去掉该叶子结点, 生成更小的候选图。

当图既不满足剪枝条件, 也不满足候选图条件时, 需往图中加入一个有效结点重新进行循环。存在两类有效结点, 一是不包含任何关键词的结点, 作为连接关键词节点的中介点;二是包含关键词的结点, 但必须在原图的基础上加入新的关键词, 如加入一个结点既不能起到连接的作用, 又不能增加关键词的个数, 则不将该结点加入。

从候选图中分离不同的立方体:

3.2 基于立方体拆分的方法

基于立方体拆分的方法是根据数据仓库模式的中心结构特点, 采用将多立方体拆分为独立的单一立方体的方法, 按照2.3节的方法对每个独立立方体中进行计算候选结果, 最后对这些候选结果进行合并操作即可。

4、实验

实验平台在开源Jpivot上扩展实现, 采用Apache Lucene[10]作为全文搜索引擎方案, 根据立方体模式定义获取索引字段信息, 然后通过Java程序调用JDBC接口访问数据集并创建索引。运行时接受用户输入的关键词, 返回给用户排序的候选结果, 用户从候选结果列表中选择命中的候选项时, 候选项序号作为参数一起传入后端, 保存候选项序号计数并返回由Jpivot展现的多维查询结果。所有用户的操作记录作为后续分析的数据。

在Lucene Scoring[11]上增加DLC之后的公式如下:

实验数据分别使用Microsoft SQL Server提供的FoodMart和AdventureWorks示例数据仓库。

用户可在预设的100个应用场景 (表1) 中选择或者由用户自由设定需分析的对象。实验对象由B I课题组成员8人 (深入了解OLAP及相关技术) 以及合作的某电信下属企业商业智能事业部的业务人员6人 (了解业务, 对OLAP技术缺乏了解) 组成, 平均年龄26岁。

图3给出了原型系统的操作示例:

实验分别对不同数据集情况下的各次命中百分比进行了统计比较。定义首次命中率为第一候选结果被用户选中的百分比;第二候选命中率为第二候选结果被用户选中的百分比。从图中可以看出, 首次命中率均达接近90%, 首次命中率与第二候选命中率之和超过90%, 可得出通过关键词的交互方式可满足快速进行OLAP浏览的结论。

实验对基于模式图的算法效率进行了测试, 改进后的算法显著提高运算效率, 表1给出了前后性能对比, 表2给出了不同实验数据集中事实表和维度表的记录总数。

表1中, SG、SG’以及CSB列分别表示基于模式图的方法、改进后基于模式图的方法以及基于立方体拆分三种方法运行时间。采用基于模式图的方法, 在两个数据集的平均执行时间略同, 大约在5000毫秒, 改进后的方法性能均有较大幅度提升, 不超过100毫秒。基于立方体拆分的方法由于减少了不同立方体之间的无效连接步骤, 执行时间相对缩短。

表2给出了实验数据集的数据汇总情况, 第一、二列分别表示数据源对应的维度表和事实表记录行数。本文中实验采用的数据集均属于小规模数据集, 数据规模的因素对上述算法性能的影响将在后续工作继续完成。

用户特质上的差异使得不同用户对不同的立方体有不同的关注度, 在关键词的选取和使用方面也会形成其特定风格。基于个性化的查询以及数据空间个性化的OLAP操作是本文存在的不足, 也是下一步研究的重点。另外, 基于协同决策 (Collaborative Decision Making, CDM) [12]实现关键词推荐, 基于OLAP操作日志为用户提供关键词建议和自动完成, 或基于多维数据特征[13,14,15]发现多维数据中用户感兴趣的模式, 都将有助于用户缩短分析过程。

4、结语

OLAP分析 篇6

随着计算机应用技术的普及和高校教务管理信息化程度的提高, 高校在进行日常的教学管理的过程中积累了大量的数据, 如何从大量的信息中找出有用的信息为教学服务, 提高教学管理水平成为当前必须考虑的问题。而借助于数据仓库技术辅助决策将会使高校的教学管理工作迈上一个新的台阶。目前, 在各高校的信息化建设中, 大都建立了不同的教学管理业务系统, 如:学生基本信息管理系统、学生成绩管理系统、教学管理系统等, 这些系统的应用还停留在简单的日常的事务处理阶段, 普遍存在数据量大信息量小的现象。如何充分发挥这些数据的效用, 迅速、准确、有效地为管理者提供所需的信息支持管理决策, 从而实现数据—>信息一>知识的转变过程, 是我们目前有待解决的问题。应用数据仓库技术, 能够集成现有的各教学业务系统的数据, 建立适合教学管理的数据仓库;在此基础上利用OLAP技术进行联机分析处理并找出隐藏在大量教学信息中的有意义的规律和知识, 可以辅助教学管理人员制定教学管理决策, 有效地解决教学质量管理中的问题。

1数据仓库的概念

随着计算机技术的飞速发展和企业界不断提出新的需求, 数据仓库技术应运而生。传统的数据库技术是以单一的数据资源, 即数据库为中心, 进行事务处理、批处理到决策分析等各种类型的数据处理工作。随着社会需求的发展。用于管理人员的决策分析的分析型处理逐渐从中分离出来, 从而由原来的以单一数据库为中心的数据环境发展为一种新环境:体系化环境。人们逐渐尝试对DB中的数据进行再加工, 形成一个综合的、面向分析的环境, 以更好地支持决策分析, 从而形成了数据仓库技术 (Data Warehousing, 简称DW) 。

2联机分析处理 (OnLine Analytical Procoss) 概述

联机分析处理 (O n l i n e AnalyticalProcessing, 简称OLAP) 的概念是由E.F.Codd于1993年首次提出的。当时, 他认为联机事务处理 (OLTP) 已不能满足终端用户对数据库的分析式查询需求, 因此提出了多维数据库和多维分析的概念, 即OLAP, 并将OLAP定义为针对特定问题的联机数据访问和分析。通过对信息 (这些信息已经从原始的数据进行了转换, 以反映用户所能理解的企业的真实的“维”) 的很多种可能的观察形式进行快速、稳定、一致和交互性的存取, 允许管理决策人员对数据进行深入观察。

3数据仓库的设计

首先可以通过SQLserver2005的企业管理器创建该数据库的关系图如图1:

3.1分析需求, 确定主题域

根据对本校管理人员的交涉和调查后整理出以下几个方面的分析需求:

希望对每个班级做成绩分析。

希望针对同一课程每一届学生作成绩分析。

希望针对每个专业的基础课作成绩分析。

希望对相同课程针对每个教师做成绩分析。

希望对同一教师同一门专业课不同班级的成绩分析。

通过对以上的需求进行归纳, 发现分析的角度可以分为教师、课程、学期和班级四大类, 由此归纳总结出了该数据仓库模型中涉及的主题实际上只有一个——成绩。

根据需求分析对数据库中的数据进行数据筛选。在上述7张表中student表中班级、所在系部和专业都要作成绩分析, 因此要保留, 其他字段排除。Teacher_xm表中的数据对分析不起作用, 因此可以排除整个teacher_xm表。其他表全部保留。

3.2维表和事实表的设计

维表和事实表的设计是数据仓库构建的关键问题, 维表和事实表设计的好坏直接影响到数据仓库的响应时间和分析的效果。维是决策者观察分析对象的角度, 所以维的设计最能反映决策者的分析意图和角度。维的设计必须体现出数据仓库中数据的不同级别, 也就是数据的粒度。数据的粒度越大, 数据的综合程度就越高;数据的粒度越小, 数据就越表现细节。

首先对加载到数据仓库中的6个表中的字段进行分析识别出事实数据和维度数据。首先分析student表中studId、name、sex、class、Specialty、area字段。它们分别是学号、姓名、性别、班级、专业和籍贯, 它们都属于维度数据, 而且属于学生维度。Course表中的4个字段也都是属于维度数据, 属于课程维度。class表中的6个字段也都是维度数据, 属于班级维度。Teacher表中的字段都属于维度数据且属于教师维度。Term表中两个字段都是维度数据, 属于时间维度。Student_score表中score字段是学生的考试成绩, 是不会随着时间而改变的, 所以属于事实数据。其它字段student Id、course Id、class Id、teacherId和termId都属于维度数据, 分别属于学生维、课程维、班级维、教师维和时间维。

其次就是设计事实数据表, 当用户的OLTP系统中拥有大量的数据时, 若将所有的事实数据都存入数据仓库中则计算聚合数据将是一件很大的工程。计算机可能承受不了或者需要很长的时间, 因此可以使用统计采样的方式仅导入部分的事实数据, 因为本例中数据并不多, 所以不需要采样, 可以采取全部导入的方式。本例事实表的结构如表1所示:

最后就是设计维度数据表。维度数据表的数据量比事实表的数据量要少很多。维表确定的关键问题是如何划分维度的层次, 即粒度划分。各维表中的层次关系的确定是非常重要的。层次将维分成多个抽象层, 有利于用户从不同的角度观察数据。同时为提供处理的依据如OLAP中的上卷、下钻、切片、切块等操作都是基于维的层次而言的。我们在确定维的层次关系时主要根据学校组织机构及教学管理系统中与考生成绩生是分别属于各班级的, 而班级本身就具备层次关系每个系都包含了多个专业, 而每个专业又包括多个班级, 这样一来学生维的层次关系可以为:系—>专业—>班级—>学生。同时学生个人基本信息, 例如:性别、籍贯、年龄等也可以作为分析的角度。即作为学生维度中的字段。正确确立学生维度层次关系后, 在分析中就可以按维度的不同字段层次进行分析。在教学管理中, 成绩的分析在时间上一般有按学期、学年、学级等。其中的层次关系由高到低是学级、学年、学期。从而确定时间维。教师维的分析包括教师的性别、职称、部门等。课程维的包括课程名称、课程性质等。下面是本例维度数据表的属性:

学生维表学号, 学生姓名, 性别, 出生年月, 系别, 专业, 班级, 生源地。

课程维表课程编号, 课程名称, 课程性质。

教师维表教师编号, 教师姓名, 性别, 专业, 教师职称, 所属部门, 最高学历, 政治面貌。

时间维表学年学期编号, 学年, 学期

3.3星型模型的设计

在本系统中我们采用星型模型来连接维表和事实表。采用星型模型来设计维表和事实表时就需要将分布在多张表的信息进行转换和整合。提取和分析主题关系密切的属性来形成维表。而有些表中的字段内容和属性就不需要在数据仓库中出现。图2是教学管理系统的维表和事实表的星型结构图。

4物理模型设计

数据仓库的屋里模型就是逻辑模型在数据仓库中的实现模式。在这个阶段主要完成以下任务:

(1) 选择开发工具:SQL Server提供一易行, 易于系统的迅速实施。本系统决定选用SQL Server为数据仓库开发工具。

(2) 创建数据表。首先利用数据库管理系统SQL Server 2005创建目的数据库 (即该系统数据仓库的数据准备区) 。然后在数据库中根据逻辑模型所设计的事实表和维度表由SQL Server2005的数据转换服务 (DTS) 将源数据库中对应表红对应字段转换到目的数据库中对应的事实表和维度表。目的数据库表分别是:学生成绩事实表student_score、课程维度表course、学生维度表student、教师维度表teacher、学年学期维度表term。

(3) 创建索引。由于数据仓库的数据量巨大, 并且数据稳定, 很少更改, 因此需要创建索引来加快信息的检索速度, 优化查询的响应时间。在创建数据表时, 对于每一个维度表都设置了主键索引, course表主键为course ID, student表主键为student ID, teacher表主键为teacher ID, term表主键为term ID, 而对于事实表则设置了组合主键索引, 对于student_score表的组合主键为studentID、courseID、teacherID和term ID。

五结束语

利用数据仓库和OLAP技术建立的教学管理系统可使教学管理走上系统化、科学化的轨道。该系统可以从积累的海量历史数据中提取出有价值的信息, 为教学部门决策者和管理者提供了多角度、多层次查询分析数据的功能。

摘要:教学管理过程中会产生的大量数据, 建立教学管理数据仓库, 然后利用OLAP (Online Analytical Processing) 技术进行多维分析, 找出教学信息中有用的知识以辅助管理者解决教学质量问题。

关键词:数据仓库,OLAP

参考文献

[l]武彤.高校教学质量分析与评估系统的数据仓库模型[J].贵州工业大学学报.2007 (5) :55.57.

[2]安淑芝.数据仓库与数据挖掘[M].北京:清华大学出版社.2005.

[3]关德君.数据仓库和技术在教学管理系统中的应用.辽宁沈阳:沈阳广播电视大学.200834-1923-02

[4]王小洁.面向CRM系统的数据仓库的设计与实现[J].计算机工程与设计.2007, 28 (21) :5088-5090.

上一篇:正确荣辱观论文下一篇:药理活性化合物