充值信息

赞助信息

推荐给好友 上一篇 | 下一篇

联机分析处理前台工具设计技术的研究



1 引 言

    随着数据库领域研究的不断深入,OLTP已经不能满足终端用户对数据库查询分析的需要。多维数据库和多维分析的概念(即OLAP-On-Line Analytical Processing,联机分析处理)应运而生。OLAP的概念最早是由关系数据库之父E.F.Codd于1993年提出的,它能够利用存储在数据库或数据仓库中的数据完成各种分析操作,并以直观易懂的形式将分析结果返回给决策分析人员。多年来,OLAP理论方面的研究有了很大的进步,已经出现了很多研究成果。这些成果被成功地应用到了许多实际应用领域中。在OLAP的设计过程中,系统必须提供对数据的多维视图和分析。因此,设计人员需要解决的一个重要问题是:如何实现多维数据的显示。将数据的多维显示方式采用表格的显示形式,称为多维表。OLAP对多维表有两方面的重要要求:(1)能以多维方式显示数据。(2)能实现OLAP 分析操作。在上述两个要求基础上,联机分析操作从后台获取数据,将结果数据集以多维表形式显示给用户。

2 现有的联机分析处理中多维数据集浏览界面的不足

    目前市场上主流数据仓库产品有:Oracle、Sybase、Microsoft等。有些数据仓库产品提供了比较完善的数据显示和数据分析功能,如Microsoft公司SQL Server 2000的Analysis Services 8.0。Analysis Services 8.0提供一种“多维数据集浏览器”的工具来查看多维数据集。该多维数据集浏览器特点之一在于:参与分析的维将分别以水平和垂直两个方向来显示,度量值数据显示在两个方向的交界处。利用多维数据集浏览器来浏览多维数据集的优点是,多维数据集将更简洁,也更易于分析。另外,多维数据集浏览器提供了多维分析操作过程的实现,使得用户能够直观地、便捷地进行多维分析操作。

    上述显示方式也有不足之处。多维浏览器界面的特点决定了这种多维浏览形式将要求决策者分别从垂直方向和水平方向查找两个维的交界单元位置。当垂直和水平两个方向上的维均被展开多个级别的时候,为了能够找到两个方向相互交界的单元位置,用户将自己视觉跨过已经展开的多个级别,分别从水平方向和垂直方向来确定所需分析的级别属性信息,之后查找到它们交界位置上的度量值。这将会给用户带来很大的视觉麻烦。

3 多维数据集浏览界面的新设计

    针对多维数据集浏览器的不足之处,本文提出了一种新的多维数据集浏览界面设计方法- 基于维列的多维表显示(Multi-dimension Table Display based on Dimension Row,MDTD-DR)。在MDTD-DR 中,多维表(即多维数据显示区域)将被分为三个组成部分:维的垂直显示区,度量名显示区和数据区。多维表的结构图参见图1所示,颜色较深的区域为维显示区,颜色较浅的区域为度量名显示区,白色的区域为数据区。


图1 多维表的结构图


    下面介绍一下新的多维数据集浏览界面的各个组成部分。

    (1)度量值名显示区。它包括两部分。第一部分是显示定内容,即“Measure Level”,它处于第一行上。该内容用于提醒用户:该区域显示的是度量值名的内容。第二部分是显示度量值名,它处于第二行上。根据需要显示的度量值个数,第二行将被划分成相同个数的列,每个列所显示的信息是各个度量值的名称。

    (2)数据显示区。在该区中,每个单元所展示的内容是对应着多维多级别的某个度量值数据信息。单元值所属的度量是该值所对应的度量名显示区内相应列的度量名。

    (3)维显示区。该区包含三部分,分别是维名显示区、级别名显示区和级别值显示区。其中,维名显示区和级别名显示区分别处于维显示区的第一行和第二行,从第三行开始显示各个维的一些级别中需要分析的级别值。

    与多维数据集浏览器,上述设计模式优点在于:(1)充分利用了多维数据集浏览器左上方的空白区,节省了显示空间占用量,提高了空间利用率。在新的设计模式中,用维名来填充这个区域,使得用户能够直观地了解到下面显示内容所属的维。(2)适用于多个度量值的显示。通过新的多维数据浏览界面,用户能够同时观察到多个度量值的数据状况。本模式将度量值的名称显示在度量名显示区的第二行上。(3)极大地方便了用户查找多维多级别的数据信息。本模式将只按照垂直方向来显示每个维及其各个级别值;这样,用户只需按照同一个方向(即水平方向)就可以找到自己想要了解的多维多级别的度量值所在的位置,及时地查找到单元的取值状况,快捷地获取信息。这也是新设计模式的最重要优点。

    针对维i而言,维显示区将显示以下三个方面的内容:维i的名称(第一行),维i包含的级别名称(第二行),以及每个级别所包含的所有级别值。根据上述设计思想,本文引进如下定义。

    定义1 将维i 所占用的整个列空间统称为维列(Dimension Row,DR)。
    定义2 将级别名显示区(第二行上)和级别值显示区共同占用的显示空间统称为级别列(Level Row,LR)。

    依据上述定义,新的多维数据集浏览界面的维显示区由若干个维列组成。每个维列由若干个级别列组成。因此,三个显示区及其功能可以重新说明如下:

    (1)维名显示区:根据用户需要显示的维个数,新设计模式将维名显示区划分成相同个数的维列,在第一行上分别填上各个维的名称。另外,在下文的界面实现过程中,用户可以向多维表进行维的手动添加。

    (2)级别名显示区:对于维名显示区中的每个维,根据用户需要观察这个维的级别个数;相应地,在下面划分出若干个级别列;每个级别名处于该列的第一行上,根据级别的高低次序,依次地填上级别名。自该列的第二行开始,将每个级别所包含的级别值填到该级别名的下面。

    (3)级别值显示区:设两个级别i和i+1;级别包含n个级别值,它们分别是级别值i1,…,级别值in;级别i+1包含k个级别值,它们分别是级别值(i+1)1,…,级别值(i+1)k。另外,这两个级别i和i+1可以属于同一个维,也可以分别属于不同的两个维。如果这两个级别属于同一个维,那么级别i 的级别次序要高于级别i+1。在级别名显示区内,级别i位于级别i+1的前面。对于这两个级别的各自级别值在显示区内的位置关系见图2深色部分所示。在具体设计实现过程中,对于级别i,新模式在每个级别值的后面加上k+1行,从第一行开始依次加上该级别值的total信息和级别i+1的所有级别值。


图2 级别列的结构图(a图为i=1,b图为i>1)


    根据新的多维数据浏览界面设计思想,本文将在下面的OLAP系统客户端的界面设计中的数据显示区中表格显示方式来实现上述新的具体多维表浏览界面设计。该实现过程能够证明,该设计方式不仅充分利用了有限的界面空间;而且为用户带来极大的观察方便,如:明了的显示方式,便捷的查找过程等。

21/212>


 

评分:0

我来说两句