www.T1soft.com

 

首页 | 关于我们 | 软件产品与服务 | 解决方案 | 技术理论基础 | 成功案例和科研成果 | 动态和评述 | 联系我们 | 留言簿 

 

 

基于OLAP数据库的电力营销统计报表生成新方法

作者:陈秀寓 关守平 王伟 摘自:《大连理工大学信息与控制研究中心、东北大学信息学院

 

 

  摘  要 随着我国各行各业的信息化建设的开展,电力信息化工程也取得了很大进展。其中电力营销的信息化是指电子信息技术在电力营销中的应用,主要目的是用来实现电力营销系统无笔化、全自动、无人工干预的业务运行。作为其中重要的一环——电力营销统计报表,不但可以为营销业务层提供基本的数据,而且更为营销决策提供了必要的支持。本文提出了一种基于OLAP数据库的电力营销统计报表生成新方法,改善了现有基于sql语句的电力营销统计报表生成方法的弊端,提高了运行效率。
  关键词 电力营销 电力营销统计报表 OLAP

 

  1、前言
  随着我国各行各业的信息化建设的开展,电力信息化工程也取得了很大进展。其中电力营销的信息化是指电子信息技术在电力营销中的应用,其主要目的是用来实现电力营销系统无笔化、全自动、无人工干预的业务运行。作为其中重要的一环——电力营销统计报表的生成,不但可以为营销业务层提供基本的数据,而且更为营销决策层提供了必要的支持。目前应用的电力营销统计报表主要是基于SQL语句在传统数据库上的操作,这种方法虽然可以完成生成统计报表的功能,但因为每次报表生成的时候都要完成大量重复的SQL语句的处理工作,所以在数据量较大的时候,整个报表的生成需要较长的时间,从而降低了整个系统的运行效率。
    因此,从本质上看,如果我们希望实现大量数据的分析或查询任务,就需要一种不同于以往的数据库应用系统的设计方案,这样才能满足更有普遍意义的、探索性的查询要求,这种设计方案通常可以归类为OLAP数据库[1]的应用。这里所说的OLAP领域,也可以称为联机分析处理。这种数据库系统能够在运行时从数据中抽取信息,并将数据按照不同种类进行整理汇总,从而使数据成为查询和决策支持分析的更加有效的工具。本文提出了一种基于OLAP数据库的报表生成新方法,提高了系统运行效率,减少了报表生成时间。
  2、OLAP数据库技术与传统数据库技术比较

  传统的数据库技术主要的利用Microsoft SQL Server的表、视图、存储过程等对象,实现数据的存储和处理。而OLAP数据库与传统的关系型数据库最主要的区别在于:它主是被设计用来完成探索性的查询,而不是更新操作,通过将数据存储在以分析为目标的优化过的结构中,OLAP方案较传统环境的其他产品提供了更为快速直观的分析能力。
    从上述可见,OLAP数据库的两个特征为:
    1)以多维数据结构规范存储数据;
    2)在查询之前,OLAP数据库可以实现预先的汇总计算。
    3、SQL Server 2000中的OLAP数据库技术
    在Microsoft SQL Server 2000系统中,提供了大量的OLAP数据库设计、建立、数据加载、数据使用、数据挖掘的工具。如:用于采集和分析数据仓库中数据的Analysis Services;用于定制操作多维数据的客户端接口—PivotTable等。
    (1)Analysis Services
    当我们分析一个问题的时候,提出的往往是一个形如“什么指标(what)、什么时间(地点)(when、where)、总量是多少(how many or how much)”的问题。Analysis Services把这里的指标数据称为度量,时间或地点称为维,而把感兴趣的总量数据称为聚合。并按照这种方式设计了多维数据集。通常在选择了合适的维度和度量后,就需要继续创建其物理结构。在SQL Server 2000中,有3种用于存储这种物理结构的方法,每一种方法都随其数据存储要求和其数据检索速度而变化。
    1)MOALP:多维OLAP的合计存储方式。
    2)ROALP:关系型OLAP在关系型数据表中存储合计。ROLAP针对关系型数据库的应用允许其利用已有的数据库资源,并且允许ROLAP应用程序很好的伸缩。
    3)HOLAP:混合型OLAP,介于MOLAP和ROLAP之间[2]。
    从上述可以看出,ROLAP方案具有良好的伸缩性——聚合生成的合计数据存储在关系型数据表中,因此很适合用于生成各种统计报表。本文正是基于数据仓库中的这种ROLAP存储方式来快速的生成电力营销的统计报表。
    (2)PivotTable  Service(数据透视表)
    PivotTable Service是Microsoft OLAP体系结构中一个基本的客户端组件,它和Analysis Services一起为用户提供客户端对OLAP数据的存取。PiovtTable可以利用Visual Basic或其他语言开发用户程序,来使用Analysis Services中的OLAP数据。本文采用这种方式来预览和分析统计报表数据[3]。
4实现思想
    传统的基于SQL语句的报表,首先要根据用户选择,调用相应的存储过程,并对原数据进行抽取、处理和平衡校验,并将处理结果保存到中间临时表中,然后再由Visual Basic动态生成SQL语句,将中间临时表中的数据提取到客户端。这样必然会造成系统大量重复的消耗,从而使运行速度降低,影响工作效率。针对此种传统报表方案的不足和用户的实际需要,本文提出的基于OLAP数据库的电力营销报表生成新方法,其具有以下特征:
    1)报表模板的定义和修改简单、灵活;
    2)用户能够灵活地根据自己的实际要求对报表进行筛选和过滤式的预览;
    3)提供报表预览和打印功能;
    4)具有较高地报表生成速度和运行效率。
    本文根据这些特征,采用基于Visual Basic和SQL Server 2000的构建方案·VB(为开发工具);
    ·windows NT或windows 2000(为运行环境);
    ·SQL server 2000(建立数据仓库)。
    在新的系统中,由用户使用Visual Basic开发的客户段软件生成所要使用的客户端立方体,并采用ROALP的存储方式存入后台数据服务器中,以生成静态报表模板。此时用户可以使用客户程序调用ADO对象模型连接到 PivotTable,并以概念分层的方式浏览报表。

 
  5、基于OLAP数据库的电力营销统计报表生成步骤
    这种新型统计报表的生成步骤见图1。

 
  5.1、DTS的实现(源数据的导入)
    此功能按照计划自动地从多处异构数据源输入数据(实现数据的互操作技术[2])和对将进入数据仓库的数据进行提取、转换和净化。为了完成此功能,在VB中加入有关DTS的组件:Microsoft DTSPackage Object Lirary和Microsoft DTSDatapump Scripting Object Lirary。
  5.2、创建、聚合立方体
    这一步是实现新型电力营销统计报表方法的关键步骤。通过这个步骤可以把有关一个报表的各种信息分层次聚合为一个立方体。此步骤包含以下几个子过程:
    1)Initialize—用于初始化数据仓库服务器;
    2)ConnectToServer—用于连接到数据仓库服务器上;
    3)CreateDatabase —用于生成新的数据库;
    4)CreateDatasource—用于设置数据源;
    5)CreateDimension—用于创建各种维;
    6)CreateRole—用于创建用户角色;
    7)CreateCube —用于生成立方体;
    8)CreateCalculatedMember —用于生成就算成员;
    9)CreateAggregations —用于设置聚合参数;
    10)ProcessDatabase—用于聚合过程。
    在CreateAggregations过程中,应把数据的存储方式设置为ROLAP,即dsoPartition.OlapMode = olapmodeRolap,这样做是为了采用ROLAP的数据存储方式,此种存储方式可把聚合的数据存入关系型数据库中,从而形成报表模板。
    以建立一个以时间(年、月)、和地域(区域名)为维的电力购售电量立方体为例,给出具体步骤:
    首先把这个立方体的度量设为售电量、购电量。然后进行聚合,而在时间和地域为维的电力购售电量立方体上的聚合就是在这些层次结构上汇总计算各个度量。所以经过聚合操作之后,在原关系型数据库上就增加了一些包含聚合的表。如图2所示。
    打开表格,可以看到关系型数据库中多出了有关各个台区各月、各年的总购电量和售电量的新表。可以利用这些表作为模版来直接生成统计报表(如图3)或利用下一步的PivotTable服务来由客户自主选择生成报表样式。

 

  5.3、PivotTable服务
    数据透视表服务可以使客户应用客户端程序预先访问OLAP数据库,并选择希望的表格式样。如上例所产生的立方体,可以在程序中实现预览。

 

  5.4、统计报表生产
    利用上述立方体聚合产生的聚合表,可以轻松的产生统计报表。上述月报表如图5所示。其条形数据图如图6所示。

 

    综上所述基于OLAP数据库的统计报表生成方法,因为不用连接表格筛选数据和执行select语句,所以较之基于SQL语句在传统数据库上操作的统计报表生成方法有较快的生成速度,这样将使效率大大提高。
    经实验表明,这种优势在1G以上容量的数据库中更为显著。当然,这种速度上的提高是以牺牲硬盘空间的代价换取的,但因为在当今计算机系统中,运行速度为主要指标,而硬盘空间的扩充并非瓶颈问题,所以这种方案是可取的。
6结束语
    本文提出了一种基于OLAP数据库的电力营销统计报表生成方法。在数据增加的情况下,此种方法比传统的方法具有更大的灵活性,和更高的效率。由于数据在生成报表之前就进行的聚合操作,也使得聚合数据更为稳定。并且它能提供分析功能(数据透视表服务),因此具有良好的实用性。

 
  6、参考文献
  1、Mike Cunderloy.Tim SneathSQL Server 2000 开发指南—OLAP(联机分析处理).北京:电子工业出版社,2001.
  2、康博创作室.SQL Server 2000 数据仓库设计和使用指南.北京:清华大学出版社,2001.
  3、Jake Strum著,刘汉宇,郝春明,裴莹,来强等译.Microsft SQL Server 7 数据仓库技术指南.北京:机械工业出版社,2000.

 

 

  

首页[1]末页

 

版权所有 ©2003 中国人民大学统计数据库研究室