您现在的位置是:首页 > IT基础架构 > 软件与服务 >
可视化OLAP前端展示工具的设计与实现
2009-09-02 15:37:00作者:赵晶晶 余建桥 王晓明来源:
摘要提出在.Net框架下,以微软的Analysis Service 2005作为OLAP服务器,并结合可视化技术,实现一种可视化OLAP前端展示工具。理论分析和实验结果表明,可视化OLAP前端展示工具有效提高了多维数据的分析展示,加强了系统的交互性。...
OLAP(On-LineAnalyticalProcessing)是近年来兴起的广泛应用于数据仓库中的一种多维数据分析技术。随着商业智能技术的不断发展,以OLAP技术为基础的前端展示工具也成为支持企业信息决策必不可少的工具。
目前大多的OLAP前端展示工具制作单一,没有充分考虑到在多维数据分析展示过程中人的因素,体现的交互性不够。尽管它们包含了一些可视化的特性,但缺乏以完整的可视化技术作为支撑,而在.Net框架下,以可视化技术为基础,针对AnalysisService设计一种前端展示工具可以避免现有的OLAP前端展示工具因强调兼容性而导致效率低的不足,同时可以有效地增强交互性,更好地辅助用户分析多维数据,发现知识的潜在规律。
1可视化OLAP前端展示工具的系统构建
1.1基于商业智能的OLAP工具的系统架构设计
为了增强软件的复用性和扩展性,依据商业智能的思想对OLAP工具进行需求分析,进而设计出B/S,C/S混合模式的体系结构??墒踊疧LAP的前端展示工具主要是将用户的多维分析请求提交给OLAP服务器,并采用可视化方法展现返回数据,它提供给用户快速的分析查询和多维数据展示功能,可以辅助用户从多角度分析多维数据,并发现潜在的知识??墒踊疧LAP前端展示工具架构图。
可视化OLAP的前端展示工具研究重点是多维数据的可视化,包括源数据的可视化和多维数据分析结果的可视化。
源数据可视化的基本思想是把数据仓库中的多维数据按照不同的粒度,如度量值、维度、属性、级别、成员等用不同的图标元素表示,并按照树形结构排列,使用户可以直观地了解多维数据的数据结构和数量。多维数据分析结果的可视化是针对oLAP查询分析结果的可视化过程,其基本思想是将多维数据查询根据不同的度量值、维度、属性映射为几何数据。(如点、段、多边形),再将这些几何数据转换为图像,并按照用户的需求合理安排这些可视对象的位置。同时,可以根据用户需求用视图变换的方法对多维数据进行上卷、下钻、旋转、切片、切块等动作剖析数据,从而能多角度多侧面观察数据,其中:数据上卷是指在某一维度上将低层次的数据概括到高层次的汇总数据;下钻是从汇总数据深入到细节数据进行观察;旋转是改变维度的位置关系,观察不同视角的数据;切片和切块是对维度上某一个或几个取值设定得到的多维数据分析。
1.2系统功能??樯杓?/strong>
系统具体功能由以下5个??橥瓿桑篈dministrationService,DataInterface,DataDiscoverer,ReportsDeveloper和DeveloperToolkit。
AdministrationSerVice??椋褐饕瓿捎没低车锹家约岸杂没ㄏ薜拇?,采用“用户一角色”模型的三级权限保障模型,将数据库的用户角色按照在系统操作中的不同地位分为不同的类别,每个类别对应着权限中的一个角色,保证系统的安全机制。
DataInterface??椋嚎梢愿萦没а≡竦牟煌菰聪蛴没峁┦莶挚庵械脑莶⒁允餍畏绞椒祷兀乙圆煌耐急瓯晔恫煌氖荻韵?。同时,也可以获得用户需要的分析模式及分析动作并将用户、操作OLAP原语(上钻、下钻、旋转、切片等操作)传给DataDiscoverer???。
DataDiscoverer??椋航玂LAP原语翻译成具体数据源的查询语句并提交查询语句,然后将数据源返回的各种形式的数据统一包装成ADO结果集合,同时根据需要在ADO结果集合中加入必要的信息。
ReportsDeveloper模块:以ChartDundas控件为基础,将数据读取模块中分析的多维数据按照用户需求以可视化模型方式展示,便于用户从不同角度对数据进行分析决策,增加系统的交互性。分析结果可以用丰富的图形表示,图形的种类包括:2D/3Dliftchart,Marginchart,Scatterplots,Histograms,Linegraphs等。ReportsDeveloper还可以和MSOffice集成,数据和图表可以通过Excel,Word或PowerPoint访问,内置的树形显示功能使用户可查看树形结构的分析结果。
DeveloperToolkit??椋禾峁┩暾墓ぞ呒杂糜谏桃抵悄艿姆⒉?,这些工具包括:可输出的业务模型(C,C++,Java)、完整的SDK和功能完善的脚本工具。
1.3系统实现
可视化OLAP前端展示工具主要采用AnalysisService服务器进行数据分析,并采用ChartDundas图形控件将返回的分析数据以图形方式显示,整个流程在.Net框架下完成。
1.3.1可视化编程
大多数的属性、事件和通用控制都是用C#对等的语句组成的,便于用户能够利用该产品提供的可视化开发能力完成工作。以AdventureWorksDW作为数据仓库范例:首先,建立与数据仓库的连接;其次,在多维数据查询分析中,根据数据仓库中多维数据的架构,以树形结构建立数据仓库的元数据,即元数据树,并选择不同的图标节点表示多维数据中不同粒度的数据,使用户可以简单明了地了解到数据仓库中多维数据集的构造;最后,根据得到的元数据树,用户可以清楚地了解数据仓库数据库中数据的结构特点及数量,并可采用拖拽的方式或者是自行构造Mdx语句方式查询所需要的数据并看到分析结果,这2种方式的设计可以分别满足专业用户和普通用户的不同需求。在图形显示中,用户还可以选择所关心的观察角度来把握数据变化的整体趋势,可以根据需要选择将所关心的维度、属性和度量值放在不同的轴上观察或在图形上选择上卷、下钻、旋转等动作进一步分析观察并选择不同的图形显示方式。
可视化编程的技术重点是QuickActions的建立。QuickActions是一些预建的子程序,允许开发者以“填充”的方式将一些常用的过程加入到应用程序中。比如,开发者可以点击QuickAction建立元数据树,核心代码如下:
privateVoidTreeView()
{GetCubes();//查找所有的立方体,并加入树的根节点
GetMeasures();//查找所有的度量值,并加入树的根节点
if(CubeName[i].clicked==true)//当某个立方体被点击时
{GetDimensions(CubeName[i]);}//加载被点击立方体的维度,并加入此立方体节点的子节点里
}//如上方法,可生成相应的维度、属性、级别、成员等
privateGetDimensions(stringCubeName)
{DataTabledt=conn.GetSchemaDataSet(AdomdSchemaGuid.Dimensions,strRestriction).Tables[0];//获取维度
for(inti=0;i<dt.rows.count;i++)
{AddTreeNode(Cubename,dt[i]);}//将维度分别加入树形结构节点
…
}
1.3.2与MSAnalysisService实现集成
可视化OLAP前端展示工具进行多维数据分析的前提是与MSAnalysisService的集成。MSAnalysisService是一种分析工具,其用户得到的数据分析只是包含了当前数据的交互式表或OLE对象的多页文档。OLAP前端展示工具通过与MSAnalysisService的有效集成,将多维数据的分析结果以可视化形式展现给用户。此外,.Net开发环境下的OLAP前端工具支持可视开发和事件驱动编程,使用户在无需额外编程的基础上就能运行应用,并对其进行扩展,快速地建立分析系统。
司Intranet和www上执行具有重要商业意义的多维数据分析。它结合了AnalysisService的分析能力和web浏览器的简单性,使用一个普通的网关接口(CGI)就能够与一个Web服务器协同工作。通过使用流行的HTML创作工具,能够方便地在Web页中嵌入动态的、具有数据意识的视图。对于那些需要更先进的oLAP应用的用户而言,工具集成的DeveloperToolkit允许开发人员建立复杂的OLAPWeb站点。这个工具集中既包含了低层次的HTML功能,也有用于OLAP应用开发的高级构造??椤@?,要显示销售数据表格并提供数据深入能力,仅仅需要含有数据维名称的一行Express存储过程语言。
2测试实验
根据系统设计,首先得到AdventureworksDW的数据结构,即元数据树,包括数据仓库数据库中多维数据集的维度、属性层次、级别等,如图3中左边部分所示。
如果想要对AdventureworksDW中的数据进行查询,例如,查看近几年来北美的消费情况,则操作步骤为:首先可以确定度量值包括消费总额(SalesAmount)、税收总额(TaxAmount)以及零售总额(ResellerSalesAmount);其次,确定在行和列上的属性分别是时间维度和地区维度.这样,可以构造出MDX查询语句为:
SELECT{[Measures].[salesAmount],[Measures].[TaxAmount],[Measures].[ResellerSalesAmount]}0N0,
{[Date].[Calendar].[CalendarYear].&[2001],[Date].[Calendar].[CalendarYear].&[2002],[Date].[calendar].[calendarYear].&[2003],[Date].[calendar].[CalendarYear].&[2004]}ON1
FROM[Adventurewbrks]WHERE[SalesTerritory].[SalesTerritory].[Group].&[NorthAmerica]
同样,上面的查询可以采用拖拽方式,直接从元数据树中把相应的行、列上的成员拖放到相应位置。例如,根据上面的OLAP动作,并选择以折线图方式展示,可以得到的结果如图3右部所示。
此外,可以构造更多维度(三维以上)的数据查询分析,并以三维方式展示,也可以在现有分析结果的基础上构造更多的OLAP分析动作,如上卷、下钻、切片、切块口叫等,或选择更多的图形展示方式,如柱状图、条状图、饼图、气泡图等,这里不作详述。
3结束语
在传统的OLAP前端展示工具设计的基础上,加入了可视化技术支撑,实现了.Net框架下基于AnalysisService服务器的可视化oLAP前端展示工具设计,实现了信息的效用最大化,充分考虑到了用户在使用过程中与系统的交互,提高了多维数据分析中的作用和效率,具有直观性、交互性和智能性的特点。今后的研究目标是如何更好的利用可视化技术和理论来提高OLAP前端展示工具多维数据分析的可视化效果,以及如何实现对可视化OLAP前端展示工具的具体应用与推广。
(本文不涉密)
责任编辑:
下一篇:BI 实例体验成功部署要点