数据仓库的多维分析展现技术研究与应用--毕业设计论文.doc_第1页
数据仓库的多维分析展现技术研究与应用--毕业设计论文.doc_第2页
数据仓库的多维分析展现技术研究与应用--毕业设计论文.doc_第3页
数据仓库的多维分析展现技术研究与应用--毕业设计论文.doc_第4页
数据仓库的多维分析展现技术研究与应用--毕业设计论文.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

密 级学 号院、(系)计算机科学与工程学院题目:数据仓库的多维分析展现技术研究与应用 学位申请人:指导教师:学科专业:软件工程学位类别:工学学士 年 06月本科毕业设计(论文)题目:数据仓库的多维分析展现技术研究与应用院 (系): 计算机科学与工程学院 专 业: 软件工程 班 级: 学 生: 学 号: 指导教师 : 年 6月西安工业大学毕业设计(论文)任务书院(系)计算机科学与工程学院专业软件工程班姓名学号1.毕业设计(论文)题目: 数据仓库的多维分析展现技术研究与应用 2.题目背景和意义: 计算机网络与数据库技术的迅猛发展和广泛应用,各种类型、各行业的公司为适应激烈的市场竞争以及新经济的发展形式,纷纷利用互联网武装自己,不断地寻求企业的自我发展与壮大。随着企业拥有的数据源不断的增多,如何对这些复杂的事务型数据进行在线分析处理,从中得到面向各个主题的统计信息和决策信息,并将查询分析结果以一种简单易懂的方式展现给管理人员,使得管理人员及时掌握企业运营情况制定出正确的决策,是企业迫切需要解决的问题。 随着中国电子商务的启动,电子商务己经成为企业加强资源整合和开拓国内外市场的重要手段。目前国内具有商务智能分析的电子商务平台还为数不多,大多数的商务智能产品和解决方案多是由国外企业提供的。按照国外大企业提供的解决方案和方法开发商务智能分析电子商务产品需要投入大量资金和人力资源,由于源代码是封装好的,无法实现与现有电子商务系统的按需改造和整合。为了节约购买昂贵的国外商务智能分析产品的资金,更为了开发适合国内具体商业需求的多维分析产品,结合企业的具体商业应用需求,我们提出了电子商务平台下的多维分析理论和应用研究。 3.设计(论文)的主要内容(理工科含技术指标): (1)结合实际项目的具体业务需求,提出从建立多维数据集进行数据多维分析到前端数据展现的一套OLAP管理及应用开发的解决方案,并开发和实现基于连锁超市的多维分析展现系统。基于连锁超市的多维分析展现系统提供了完善的多维分析功能,基于Web环境下,用户可完成旋转、上卷/下钻、切片/切块等OLAP操作,并将结果以统计图表的形式展现,支持导出PDF、EXCEL等文件。决策人员能够方便及时地对数据做查询分析处理,既实现了商务智能需求,也达到了为企业制定决策分析提供量化依据和数据支持的目的。 (2)书写1.5万字的论文,要求书写整齐规范,无从错误有创见。 (3)完成与专业相关的3000字以上的外文资料的翻译,翻译应与原文意思相一致,语通顺。 设计的基本要求及进度安排(含起始时间、设计地点): 基本要求:(1) 要求学生每周与指导教师联系一次,及时反映问题,及时解决。 (2) 在校设计期间,遵守校纪校规,外出要请假。 (3) 保持实验室卫生整洁,爱护设备。 _ 进度安排: _ 第14周:搜集有关资料,通过对课题的论证,分析,确定总体设计方案。 _ 第57周:学习相关技术。 _ 第8-14周:完成基于连锁超市的多维分析展现系统。 第15-17周:编写毕业论文。 第18周:毕业论文答辩。 5.毕业设计(论文)的工作量要求 实验(时数)*或实习(天数): 图纸(幅面和张数)*: 其他要求: 指导教师签名: 年 月 日 学生签名: 年 月 日 系(教研室)主任审批: 年 月 日说明:1本表一式二份,一份由学生装订入附件册,一份教师自留。毕I-2 2 带*项可根据学科特点选填。数据仓库的多维分析展现技术研究与应用摘要由于信息技术的迅速发展和企业管理决策支持的迫切需要,基于Web的电子商务环境下的多维分析展现系统成为电子商务系统的重要组成部分。如何设计出满足企业实际需求的电子商务多维分析展现系统,成为分析人员要解决的重要问题。通过对数据仓库和联机分析处理(On Line Analysis processing,OLAP)技术的学习,提高在Web条件下OLAP分析的效率,增加系统的交互性、高效性、可维护性具有重大的现实意义。由于企业数据量的增加,为了方便于企业决策人员制定方案,本课题主要采用数据仓库和联机分析处理技术,对企业数据进行分析;并通过Mondrian这个开源工具来实现web上的多维数据展现。利用该方案设计实现多维分析展现系统,实现Web环境下联机分析处理,满足旋转、钻取、切片、切块等OLAP分析操作,提高多维分析展现系统的查询分析效率,并与现有办公自动化软件的无缝结合。本课题主要研究OLAP联机分析处理技术,以及MDX多维查询语言,并学习开源的Mondrian前端展现技术。本课题利用数据仓库和联机分析处理技术,结合商业的具体需求,设计了主题数据仓库,创建了用于多维分析的多维数据集。重点对多维数据的展现做了研究,并通过平面以及三维图形展现了结果,为企业决策人员制定方案提供了依据。关键词:数据仓库;多维分析;联机分析处理 The Research and Applications on Multidimensional Analysis spreadtechnology of Data WarehouseAbstractAn urgent need for the rapid development of IT and business management decision support,become an important part of e-commerce systems based on the multi-dimensional analysis to show the system environment of e-commerce Web.It become an important problem needed to be solved that how to design the multi-dimensional analysis display system to satisfy enterprises practical requirements. Through the study of the basic theory of data warehouse, online analytical processing(OLAP),to improve the efficiency of OLAP analysis Under the conditions of web, to increase the of the Interactive of the system、Efficiency、Maintainability is of great practical significance.For the increasment in the amount of enterprise data,In order to facilitate corporate decision-makers to develop programs,The main subject of data warehousing and online analytical processing, and analysis of enterprise data;By Mondrian open source tools to achieve multi-dimensional data is presented on the web.The data warehouse system of multi-.dimensional analysis show is implemented based on the previous solution, which can achieve online analytical processing to conduct, rotation, drill down.slice, scroller and other operations based on Web. The system improved the efficiency of query and integrated with office automation software seamlessly. The main subject of online analytical processing(OLAP) technology, MDX,and Learning the open source Mondrian front-end display technology.Based on date warehouse, on-line analytical processing technology and specificbusiness requirements, designing the data warehouse, creating the cube of multi-dimensional analysis. This thesis mainly studied multi-dimensional data show.And through the 2D and 3D graphic presentation of the multi-dimensional analysis operation results, the system provides the support for enterprise decision makers.Keywords:Data Warehouse;Multidimensional Analysis ;OLAPI 目录摘要IAbstractII1绪论11.1课题设计的背景11.2课题设计的目的和意义11.3课题的主要研究工作22课题中涉及的关键技术32.1 数据仓库的介绍32.1.1数据仓库的概念及特点32.1.2数据仓库的体系结构32.1.3数据仓库的数据模型42.2 联机分析处理技术52.2.1 OLAP概念及特点52.2.2 OLAP的数据结构62.2.3 OLAP操作62.3 Schema72.4多维表达式102.5 Mondrian102.6 Jpivot112.7 jsp技术简介113.连锁超市的多维分析展现系统设计与实现133.1系统的需求分析133.2系统的总体设计133.2.1系统的功能模块设计133.2.2数据仓库模型设计143.2.3体系结构设计143.2.4 多维数据模型的设计153.2.5 多维数据集的设计153.3 系统实现过程193.3.1建立数据仓库193.3.2创建多维数据集193.3.3建立模式文件203.3.4创建MDX查询文件213.3.5系统界面223.4 系统展现243.4.1 OLAP导航243.4.2 MDX编辑器展现253.4.3 OLAP操作展现263.4.4多维图形展现284结论31参考文献32致谢33毕业设计(论文)知识产权声明34毕业设计(论文)独创性声明35附 录361绪论1绪论1.1课题设计的背景信息技术和数据库技术的迅猛发展,推动了数据仓库技术在电子商务中的广泛应用,使得企业管理进入了崭新的时代。然而,越来越多的企业认识到,只有充分利用挖掘现有的数据,才能最大的实现企业效益。大多数企业并不缺乏数据,而是受阻于数据冗余和不一致。因此,各个企业为了在竞争日益激烈的市场环境下保持自己的竞争优势,纷纷利用互联网武装自己,不断地寻求企业的自我发展与壮大。数据仓库技术在电子商务中便获得了大的发展空间。数据仓库技术的发展将我们从简单的批处理、联机事务处理的信息处理时代带入了联机分析处理、数据仓库和数据挖掘的信息分析时代。联机分析处理(On Line Analysis processing,OLAP)等应用推动了数据仓库技术更好的发展,反过来,数据仓库技术的发展又促进了OLAP的发展。由于企业拥有的数据源不断的增多,如何对这些复杂的数据进行在线分析处理,并从中得到面向各个主题的统计信息和决策信息,最终将查询分析结果以简单易懂方式展现给决策人员,使得决策人员及时掌握企业运营情况,以便制定出正确的决策。传统的联机事物处理(On-lineTransaction Processing, OLTP)不能满足管理决策人员的这种需求,在这种情况下,联机分析处理(OLAP)技术发展起来了。OLAP是针对特定问题的联机数据访问和数据分析而产生的一种技术,具有快速性、可分析性、多维性、信息性等特点。OLAP侧重于数据仓库中数据分析,并将其转化成辅助决策新信息,满足决策支持以及多维环境的特定查询和报表需求,因此,OLAP既可以说是一种软件技术也可以说是多维数据分析工具的集合。OLAP在数据仓库基础上进行的数据分析处理,它与数据仓库结合为解决从数据到信息这个难题提供了理论支持,使用户能够从多维度、多层次深入理解数据,实现了对决策人员的决策支持。1.2课题设计的目的和意义数据仓库的目的是为了更好的支持决策过程,建立一个体系化的数据存储环境,将分析决策的大量数据从传统的操作环境中分离出来,是分散的、不一致的操作数据转换成集成的、统一的信息,存储在数据仓库中。OLAP具有广阔的市场前景,各企业纷纷利用OLAP技术对各种业务进行数据多维分析。OLAP可以根据分析人员的要求,迅速、灵活地对大量数据进行复杂的查询处理,并以直观的、容易理解的形式将查询结果提供给各种决策人员,使他们能够迅速、准确地掌握企业的运营情况,了解市场的需求。从系统结构上说,目前比较流行的是B/S结构的应用系统。B/S结构的应用系统不需要预先安装客户端软件,不同语言编1西安工业大学毕业设计(论文)写的程序、运行在不同平台上的应用程序都可以直接从Web上访问数据,具有高效的系统可维护性。因此,对于构建一个基于Web环境的电子商务多维分析展现系统,解决在Web条件下OLAP分析的效率,增加系统的交互性、高效性、可维护性的应用与研究具有重大的现实意义。1.3课题的主要研究工作本课题结合实际项目的具体业务需求,提出从建立多维数据集进行数据多维分析到前段数据展现一套OLAP管理及应用开发的解决方案,并开发和实现基于连锁超市的多维分析展现系统。本课题主要研究数据仓库的多维分析展现技术,使用sql 2008作为数据库服务器,采用开源的Mondrian作为OLAP引擎,并且使用Jpivot前端展现技术进行数据的多维展现,对企业进行多角度的分析决策。系统的应用层采用B/S结构,主要结合OLAP(联机分析处理)技术以及OLAP中的上卷、下钻、旋转、切片、切块等操作。362课题中涉及的关键技术2课题中涉及的关键技术2.1 数据仓库的介绍2.1.1数据仓库的概念及特点数据仓库是决策支持系统(dss)和联机分析应用数据源的结构化数据环境。数据仓库研究和解决从数据库中获取信息的问题。数据仓库的特征在于面向主题、集成性、稳定性和时变性。 数据仓库之父William H. Inmon在1991年出版的“Building the Data Warehouse”一书中所提出的定义被广泛接受数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、随时间变化的(Time Variant)、非易失性(Non-Volatile)的数据集合,用于支持管理层的决策(Decision Making Support)过程。从William H. Inmon关于数据仓库的定义中可以发现,数据仓库具有这样一些重要的特征:面向主题性、数据集成性、数据的时变性、数据的非易失性、数据的集合性和支持决策作用。面向主题性表示了数据仓库中数据组织的基本原则,数据仓库中的所有数据都是围绕着某一个主题组织展开的。由于数据仓库的用户大多是企业的管理决策者,这些人所面对的往往是一些比较抽象的、层次较高的管理分析对象。数据仓库的集成性是指根据决策分析的要求,将分散于各个处的源数据进行抽取、筛选、清理、综合等工作,使数据仓库中的数据具有集成性。数据仓库中的数据通常包含历史信息,系统记录了企业从过去某一时点(如开始应用数据仓库的时点)到目前的各个阶段的信息,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。数据仓库的数据主要供企业决策分析之用,所涉及的数据操作主要是数据查询,一旦某个数据进入数据仓库以后,一般情况下将被长期保留,也就是数据仓库中一般有大量的查询操作,但修改和删除操作很少,通常只需要定期的加载、刷新。2.1.2数据仓库的体系结构数据仓库的不同部分组合在一起就组成了数据仓库的体系结构。体系结构提供了开发和部署数据仓库的整体框架结构;它是一个全面的蓝图。体系结构定义了标准、衡量指标、通用设计和支持的技术。从数据仓库的概念结构来看,应该包含:数据源、数据准备区、数据仓库数据库、数据集市/知识挖掘库以及各种西安工业大学毕业设计(论文)管理工具和应用工具,如图2.1所示。数据仓库创建以后,首先要从数据源中抽取所需要的数据到数据准备区,在数据准备区中经过数据的净化处理,再加载到数据仓库数据库中,最后再根据用户的需求将数据发布到数据集市/知识挖掘中。当用户使用数据仓库时,可以通过OLAP等数据仓库应用工具向数据集市/知识挖掘库或数据仓库进行决策查询分析或知识挖掘。图2.1 数据仓库的概念结构2.1.3数据仓库的数据模型数据仓库模型在数据仓库中,你可以在两种基本的数据建模方式中选择一种:关系型的或者多维型的。关系模型能够满足数据仓库给定的所有主要需求,最适合用于反映企业的业务规则。关系模型可以被构造成面向主题的,并且能提供支持未来集成的结构。同时,还可以将“时间”这一元素添加到实体键中,从而轻松地处理历史信息。而且,关系型结构能够中立地为所有类型的数据集市提供数据源,而不仅仅是支持OLAP数据集市。而多维型降低了范式化,通过维模型开发分析主题并以分析主题作为框架组织数据,系统实施过程短,取得投资回报快,还可以在取得实际效果的基础上,继续增加应用主题,逐步建立起企业级数据仓库。多维数据模型包括星型模型和雪花模型。星型模型是最常用的数据仓库设计结构的实现模式。使数据仓库形成了一个集成系统,为用户提供分析服务对象。核心是事实表,围绕事实表的是维度表。通过事实表将各种不同的维度表连接起来,各个维度表都连接到中央事实表,如图2.2所示。雪花模型是对星型模型的扩展,每一个维度都可以向外连接到多个详细类别表。在这种模式中,如图2.3所示,维度表除了具有星型模型中维表的功能外,还连接上对事实表进行详细描述的详细类别表,详细类别表通过对事实表在有关维上的详细描述达到了缩小事实表、提高查询效率的目的。雪花模型对星型模型的维度表进一步标准化,对星型模型中的维度表进行了规范化处理。图 2.2 星型模型的结构示意图图 2.3 雪花模型的结构示意图2.2 联机分析处理技术2.2.1 OLAP概念及特点在线分析处理或联机分析处理 (线分析的处理上的OLAP) 是一个应用广泛的数据仓库使用技术。它可以根据分析人员的要求,迅速、灵活地对大量数据进行复杂的查询处理,并以直观的、容易理解的形式将查询结果提供给各种决策人员,是他们能够迅速、准确地掌握企业的运营情况,了解市场的需求。OLAP技术主要有两个特点:一是在线性(On-Line),表现为对用户请求的快速响应和交互式操作,它的实现是由客户机/服务器体系结构完成的;二是多维分析(Multi_Analysis),这也是OLAP技术的核心所在。系统能够提供对数据分析的多维视图和多维分析,包括对层次维和多重层次维的支持。事实上,多维分析是分析企业数据最有效的方法,是OLAP的灵魂。此外OLAP还具有快速性、可分析性、信息性的特点。因为用户对OLAP的快速反应能力有很高的要求,需求系统能在数秒内对用户的多数分析要求作出反应。因此快速性也是OLAP的一个重要特点。此外OLAP还具有良好的可分析性,OLAP系统能处理与应用有关的逻辑及统计分析。而不论数据量有多大,也不管数据存储在何处,OLAP系统应能及时获得信息,并且管理大量信息。2.2.2 OLAP的数据结构OLAP的具体实现方案通常采用三层客户/服务器结构如图2.4所示。第一层是数据仓库服务器,它实现与基层运营的数据库系统的连接,完成企业级数据一致和数据共享的工作;第二层是OLAP服务器,它根据最终客户的请求实现分解成OLAP分析的各种分析动作,并使用数据仓库中的数据完成这些动作;第三层是前端的展现工具,用于将OLAP服务器处理得到的结果用直观的方式,如多位报表、饼图、柱状图、三维图形等展现给最终用户。图 2.4 OLAP的三层客户/服务器结构图这种三层体系结构使用数据、应用逻辑和客户应用分离开,有利于系统的维护和升级。当系统需要修改功能或者增加功能时,可以只修改三层中的某些部分,而不需要向两层的客户/服务器体系那样做整体的改动。2.2.3 OLAP操作OLAP的操作是指对多维数据集中的数据用切片、切块和旋转、上卷、下钻等方式分析数据,使用户能够多角度、多侧面地去观察数据仓库中的数据。这样才能深入地了解数据仓库中数据所蕴含的信息,才能使用户深入地挖掘隐藏在数据背后的商业模式。在多维分析过程中,如果对多维数据集的某一个维选定一位成员,这种选择操作,就可以称为切片(slice)。也就是说如果有多维数据集,对维i选定了某个维成员,那么就是多维数据集在维i上的一个切片。这种切片的数量完全取决于维i上维成员的个数,如果维数越多,可以做的切片也就越多。在切片的概念中,有两个重要的概念必须掌握:一个是多维数据集的切片数量的多少是由所选定的那个维的维成员数量的多寡所决定的;另一个是进行切片操作的目的是使人们能够更好地了解多维数据集,通过切片的操作可以降低多维数据集的维度,使人们能够将注意力集中在较少的维度上进行观察,也就是说能够将注意力集中在经营管理中所感兴趣的影响因素上对经营管理中的问题进行分析。与切片类似,如果在一个多维数据集上对两个及两个以上的维选定为成员的操作可以成为切块。切块操作也可以看成是进行了多次切片操作之后,将每次切片操作所得到的切片重叠在一起形成的。在对数据仓库中的多维数据集进行显示操作过程中,用户常常希望能够对多维数据集改变其显示的维方向,也就是说进行多维数据集的旋转(rotate)操作。在OLAP分析中,还有“上卷”(roll_up)、“下钻”(drill_down)、“钻过”(drill_across)和“钻透”(drill_through)等钻取操作。“上卷”是指沿某一个维的概念分层向上归约;“下钻”是上卷的逆操作,它是沿某一个维的概念分层向下或引入新的维来实现;“钻过”是指对多个事实表进行查询;“钻透”是指对立方体操作时,利用数据库关系,钻透立方体的底层,进入后端的关系表。2.3 SchemaSchema 定义了一个多维数据库。包含了一个逻辑模型,而这个逻辑模型的目的是为了书写 MDX 语言的查询语句。这个逻辑模型实际上提供了这几个概念: Cubes (立方体)、维度( Dimensions )、层次( Hierarchies )、级别( Levels )、和成员( Members )。而一个 schema 文件就是编辑这个 schema 的一个 xml 文件。在这个文件中形成逻辑模型和数据库物理模型的对应。 Cubes:一个 Cube 是一系列维度 (Dimension) 和度量 (Measure) 的集合区域。在 Cube 中, Dimension 和 Measure 的共同地方就是共用一个事实表。 Cube 中的有以下几个属性: 属性名 含义 nameCube 的名字 caption 标题 , 在表示层显示的 cache 是否对 Cube 对应的实表用 mondrian 进行存储 , 默认为 true enabled 是布尔型的 , 如果是被激活 ,Cubes 就执行 , 否则就不予理 睬,默认为 true Cube 里面有一个全局的标签定义了所用的事实表的表名。 Dimensions:他是一个层次( Hierarchies )的集合 , 维度一般有其相对应的维度表,他的组成是由层次( Hierarchies )而层次( Hierarchies )又是由级别( Level )组成 。其属性如下: 属性名 含义 name Dimension 的名称 type 类型,有两个可选的类型: StandarDimension 和 TimeDimension ,默认为 StandardDimension caption 标题 , 在表示层显示的 UsagePrefix 加前缀 , 消除歧义 foreignKey 外键,对应事实表中的一个列,它通过 元素中的主键属性连接起来。 Hierarchy:你一定要指定其中的各种关系,如果没有指定,就默认 Hierarchy 里面装的是来自立方体中的真实表。属性如下: 属性名 含义 name Hierarchy 的名称,该值可以为空,为空时表示 Hirearchy 的名字和 Dimension 的名字相同。当一个 Dimension 有多个 Hierarchy 时,注意 name 值要唯一。 hasAll 布尔型的 , 决定是否包含全部的成员 member allMemberName 所有成员的名字 , 也就是总的标题 , 例如: allMemberName= “全部产品” allLevelName 所有级别的名字,它会覆盖其下所有的 Member 的 name 和所有的 Level 的 name 属性的值。 allMemberCaption 例如 : allMemberCaption= “全部产品”这个是在表示层显示的内容 PrimaryKey 通过主键来确定成员,该主键指的是成员表中的主键,该主键同时要与 Dimension 里设置的 foreignKey 属性对应的字段形成外键对应关系 primaryKeyTable 如果成员表不只一个,而是多个表通过 join 关系形成的,那么就要通过这个属性来指明 join 的这些表中,哪一个与 Dimension 里设置的 foreignKey 属性形成外键关系。通过该属性来指明主表 caption 标题 , 在表示层显示的 defaultMember memberReaderClass 设定一个成员读取器,默认情况下 Hierarchy 都是从关系型数据库里读取的,如果你的数据不在 RDBMS 里面的话,你可以通过自定义一个 member reader 来表现一个 Hierarchy 。 Level:级别,他是组成 Hierarchy 的部分。属性很多,并且是 schema 编写的关键,使用它可以构成一个结构树, Level 的先后顺序决定了 Level 在这棵树上的的位置,最顶层的 Level 位于树的第一级,依次类推。 Level 的属性如下: 属性名 含义 name 名称 table 该 Level 要使用的表名 column 用上面指定的表中某一列作为该 Level 的关键字 nameColumn 用来显示的时候使用,如果不定义,那么就采用上面的 column 的值来进行显示。 oridinalColumn 定义该 Level 上的成员的显示顺序,如果不指定,那么采用 column 的值。 parentColumn 在一个有父 - 子关系的 Hierarchy 当中,当前 Level 引用的是其父成员的列名。好比是一张部门表,在一张表里表现部门的上下级关系,一个是主键,肯定还有一个字段为连接到该主键的外键的列名,这里的 parentColumn 指的就是这个列名。 nullParentValue 如果当前的 Level 是有上下级关系(设置了 parentColumn 属性),如果该 Level 又处于顶级,我们需要将顶级的数据取出来,这里指的是位于顶级的父成员的值,有些数据库不支持 null, 那么也可以使用 0 或 -1 等,这就表示顶级的成员的父 ID 为 0 或为 -1 。 type 数据类型,默认值为 string 。当然还可以是 Numeric 、 Integer 、 Boolean 、 Date 等。 uniqueMembers 该属性用于优化产生的 SQL ,如果你知道这个级别和其父级别交叉后的值或者是维度表中给定的级别所有的值是唯一的,那么就可以设置该值为 true ,否则为 false 。 levelType 该 Level 的类型,默认为 regular (正常的),如果你在其 Dimension 属性 type 里选择了 TimeDimension 那么这里就可以选择 TimeYears 、 TimeQuarters 、 TimeMonth 、 TimeWeeds 、 TimeDays 。 hideMemberIf 在什么时候不隐藏该成员,可选的值有三个: Never 、 IfBlankName 、 IfParentName approxRowCount 该属性可以用来提高性能,可以通过指定一个数值以减少判断级别、层次、维度基数的时间,该属性在通过使用 XMLA 连接 Mondrian 很有用处。 caption 标题 , 在表示层显示的 captionColumn 用来显示标题的列 formatter 该属性定义了 Member.getCaption() 方法返回的动作值,这里需要是一个实现了 mondrian.olap.MemberFormatter 接口的类,用来对 Caption 地值进行格式化。 Measure 就是我们要计算的数值,操作的核心。它的属性如下: 属性名 含义 name 名称 aggregator 要采用的计算函数 column 要计算的列名 formatString 计算结果的显示格式。 visible 是否可见 datatype 数据类型,默认为 Numeric formatter 采用类来对该 Measure 的值进行格式,具体参考 Level 的 formatter 属性。 caption 标题,用来显示时使用。 2.4多维表达式MDX(multi-dimensional expressions多维表达式)是一种语法,支持多维对象与数据的定义和操作。MDX在很多方面与结构化查询语言 (SQL) 语法相似,但它不是 SQL 语言的扩展;事实上,MDX 所提供的一些功能也可由SQL提供,尽管不是那么有效或直观。如同SQL查询一样,每个MDX查询都要求有数据请求(SELECT子句)、起始点(FROM 子句)和筛选(WHERE 子句)。这些关键字以及其它关键字提供了各种工具,用来从多维数据集析取数据的特定部分。多维表达式 (MDX) 的用途是使对多个维度的数据的访问更为简单和直观。它的主要概念如下:维度(Dimensions)、级别(Levels)、成员(Members)和度量值(Measures);单元(Cells)、元组(Tuples)和集合(Sets);轴维度和切片器维度(Axis and Slicer Dimensions)。在传统的关系数据库中,用于数据定义和操作的大多数语言(如 SQL)都设计为在两个维度中检索数据:列维度和行维度。而对于多维数据,则可以用具有两个以上维度(Dimensions)的结构来表示。这些称作多维数据集的结构具有多个维度。在多维数据集中维度的交集处,可能有不止一个数据元素,这些数据元素称为度量值(Mensures)。2.5 MondrianMondrian是一个开源项目。一个用Java写成的OLAP(在线分析性处理)引擎。它用MDX语言实现查询,从关系数据库(RDBMS)中读取数据。然后经过Java API用多维的方式对结果进行展示。一个mondrian模式文件定义了一个多维数据库. 它包含一个逻辑模型(logical model)、一组数据立方(consisting of cubes)、层次(hierarchies)、和成员(members), 并映射到物理模型上。Mondrian 从架构上可以分为四个层次:表现层、计算层、聚集层、存储层。(1)表现层指最终呈现在用户显示器上的以及与用户之间的交互,有许多方法来展现多维数据,包括数据透视表、饼、柱、线状图。(2)计算层分析、验证、执行 MDX 查询。(3) 聚集层一个聚集指内存中一组计算值(cell),这些值通过维列来限制。计算层发送单元请求,如果请求不在缓存中,或者不能通过旋转聚集导出的话,那么聚集层向存储层发送请求。聚合层是一个数据缓冲层,从数据库来的单元数据,聚合后提供给计算层。聚合层的主 要作用是提高系统的性能。(4) 存储层提供聚集单元数据和维表的成员。包括三种需要存储的数据,分别是事实数据、聚集和维。Mondrian 应用中 mondrian.olap.*是比较重要的包,也是比较常用的包,它包含 Mondrian 多维数据库的 olap 模型的相关描述和实现。 Mondrian 为客户端应用程序提供了 API 接口进行查询。这些 API 与 JDBC 类似,主要的不同点是查询语言不同;Mondrian 用的是 MDX,而 JDBC 用的是 SQL。和JDBC一样, 也要经过建立连接,形成查询语言,执行查询得到结果集等几个步骤。2.6 JpivotJPivot 是一套基于 Mondrian 的OLAP 前端展现工具,它提供了一套标签库来解决的 OLAP 的展现层问题。JPivot 是一个自定义的 JSP 的标签库,可以用来在 JSP 页面中嵌入 OLAP 表格和图表。 用户可以执行典型的 OLAP 导航, 如下钻、切片和切块。 使用 Mondrian 作为 OLAP 服务器。 JPivot 根据 olap.model和olap.navi 定义了自己的 olap 模型,如果与 Mondrian 协同工作就必须实现该接口。JPivot己经实现了该接口。JPivot的 Model 部分处理 olap 的模型定义,查询及结果集; JPivot 自己定义了一个 olap 模型,然后分别提供 Mondrian 及XML/A 的JPivot model实现,这两个实现又通过 Adapter 与 Mondrian 系统及 XML/A 系统交互。2.7 jsp技术简介JSP(Java Server Pages)是由Sun 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP与JavaServlet一样,是在服务器端执行的,通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。3连锁超市的多维分析展现系统设计与实现3.连锁超市的多维分析展现系统设计与实现3.1系统的需求分析目前连锁超市遍布各地,随着超市的发展壮大,市场竞争也越来越激烈;但随着数据量的高速增长,大量的数据资源被浪费,还没有转换为有价值的信息,要想进一步提升竞争力,取得更好的经济效益,需要从长远利益出发,创建一个高效的数据仓库,充分利用业务产生的大量数据,通过数据抽取、转换、整合、分析、优化,针对决策者的需求,对这些数据进行重组,按照更方便的决策分析的角度去设计,并且充分考虑今后的扩展性与外部数据的接口,是企业的宝贵资源数据,实现真正的价值。超市最高层管理所关注的是如何通过商品的采购、储存与销售,最大限度地获取利润。需要通过加强对每种商品的管理,降低商品的采购成本和管理费用,吸引尽可能多的客户。其中最重要的是关于商品促销的管理决策。需要依靠合适的促销活动,应用适当的促销策略针对合适的客户,以增加超市的销售利润,是超市数据仓库建设的基本需求。超市不同商品的销售利润是有差别的。希望在数据仓库中通过对商品的赢利分析,了解不同商品的销售赢利状态,以确定企业的销售重点,对那些可以为企业带来较大赢利的商品加大促销力度。3.2系统的总体设计3.2.1系统的功能模块设计本系统主要包含的功能模块有:管理员注册登录模块、产品OLAP分析、产品类别与客户性别分析、产品销售季节OLAP分析。管理员注册登录模块:只有登录到本系统之后才能操作其他功能。产品OLAP分析:总体上通过web界面将数据多维的展现出来,这些数据是通过商品维、时间维、超市地域维、客户维这四个维度来展现给高层管理人员的,然后管理员能够对这些数据进行OLAP的各种操作(上卷、下钻、切片等),方便于观察数据的变化形势。产品类别与客户性别分析:这个模块只涉及到了商品维和客户维,展现了客户性别对商品销售的影响,从而使管理员做出合适的营销策略。产品销售季节OLAP分析:这个模块涉及到了商品维和时间维,展现了各类西安工业大学毕业设计(论文)商品在每个季节的销售情况,更方便于对比各个季度的销售情况。3.2.2数据仓库模型设计数据仓库设计中就首先考虑营销主题的设计,确定超市营销主题模型采用了星型模型,没有采用雪花模型。因为雪花模型通过对维表的分类细化描述,对于主题的分类详细查询具有良好的响应能力。但是雪花模型的构造在本质上是一种数据模型的规范化处理,会给数据仓库操作带来不同表的连接困难。但是在对维度表进行维护时,可能需要对大量重复值进行修改。星型模型通过对维表的冗余应用,以牺牲维表空间来换取数据仓库的高性能与易使用的优势。因此本系统采用星型模型,围绕商品营销这个主题设计了星型模型结构,如图3.1所示。图3.1商品的营销主题3.2.3体系结构设计本系统在数据仓库基础上以OLAP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论