一种基于SQL语句快速汇总多层事实数据的方法技术

技术编号:10398334 阅读:169 留言:0更新日期:2014-09-07 19:26
本发明专利技术涉及一种基于SQL语句快速汇总多层事实数据的方法,包括在维度表中增加描述维度层次的字段,在维度表中增加记录上层维度数据的字段,根据汇总的要求,对事实表中的数据依据维度表中描述层次的字段、记录上层维度数据的字段,编写数据汇总SQL语句,实现数据汇总。本发明专利技术实现了快速地跨层次数据汇总,能够将下层事实数据一次汇总到目标层次,而不是传统多层事实数据汇总的逐层汇总方法。

【技术实现步骤摘要】
一种基于SQL语句快速汇总多层事实数据的方法
本专利技术涉及计算机领域,具体而言,涉及一种基于SQL语句快速汇总多层事实数据的方法。
技术介绍
事实数据是对现实世界中的事实,进行记录和描述的结果。事实表是用来保存事实数据的数据表。为清晰地记录事实数据,通常会采用各种具有层次结构的维度数据来描述事实数据,比如时间维度、地区维度、以及不同行业中的分类维度信息。因为关联到事实数据的这些维度具有层次结构,并且不同层次之间的维度有上下层的关系,因此构成的事实数据可称之为多层事实数据。比如企业基本信息数据中,包括了地区、行业类型、注册登记类型等维度信息。事实数据只是用来记录现实世界中的事实。事实数据的往往是具体的,零散的。管理人员在使用数据的时候,更重要的是从大量事实数据中提炼出宏观的信息。对事实数据依据各种维度进行汇总,产生了大量有价值的信息,这些信息能够为管理人员提供有效的决策支持依据,能够反映出比事实数据更宏观的信息。所以数据汇总已成为现在信息化建设中的重点方向。在对多层事实数据进行数据汇总操作的时候,传统的方式是采用一种自下而上,逐层向上的汇总方式。具体而言是指首先汇总最下层的数据,然后往上一层汇总,然后再往上一层汇总,最终汇总到最上层为止。这种逐层汇总的方法,虽然可以解决多层事实数据汇总的需要,可是存在运算量大,占用计算机资源过多,功能实现复杂等缺点。在这样的背景下,需要专利技术一种更加快速高效的数据汇总方式来解决上述的问题。
技术实现思路
本专利技术的目的是设计一种简单、实用、高效的多层事实数据汇总方法,能够对事实表中多层事实数据进行数据汇总。通过本专利技术专利的数据汇总方法,能够实现一次性将某维度层次的事实数据汇总到更高的维度层次中,从而实现了快速的数据汇总。本专利技术一种基于SQL语句快速汇总多层事实数据的方法,其具体步骤如下:1.在多层维度表中,增加描述维度层次的字段;所述的多层维度表是一种树形数据结构,层次字段记录了维度数据在维度表树形结构中所在的层次。例如下表中表示了一个5层地区维度数据。其中“层次”能够清晰地定义不同维度数据的层次。所述的层次字段的数据类型为整型。所述的层次字段在维度表中有且只有一个。所述的层次字段的赋值规则是:根据维度树形结构中层次从上至下,层次依次增大。根节点的层次为1,往下层为2,依次直至到最下层叶子节点。上表示例就是按此规则确定了层次的值。2.在维度表中,增加记录上层维度数据的字段。通过增加记录上层维度数据的字段,可清晰地分析出在维度表中,每一个维度数据的上一层维度数据、上二层维度数据,直至最上层维度数据。维度代码上一层维度代码上二层维度代码A0A010A020A030A1A041A051A061A上表描述了一个多层维度表:“02”的上一层维度是“0”,“02”上二层维度是“A”。“0”的上一层是“A”,“0”没有上二层维度。“06”的上一层维度是“1”,上二层维度是“A”。通过这样的关系描述,可快速地分析出不同层次维度之间的上下层关系,通过这个关系可快速地将关联到某层维度的事实数据汇总到目标层次。维度表中记录上层维度数据字段的数量可以是多个。这种字段的数量等于维度最大层数减去1。例如某维度表的最大层数为3层,那么增加用来记录上层维度数据的字段数量为2个。记录上层维度字段的数据类型必须与维度代码字段的数据类型、数据精度完全一致。增加记录上层维度数据字段的命名采用一种有规律的方式。本专利技术中,记录上一层维度数据的字段,命名为p_1,增加记录上二层维度数据的字段,命名为p_2,以此为例类推,直至增加记录最上层维度数据的字段,命名为p_n。3.编写数据汇总的SQL语句并执行。确定数据汇总的起始层次和目标层次。根据起始层次和目标层次,结合维度表中的层次字段和上层维度数据字段,编写数据汇总的SQL语句并执行,将起始层次的事实数据汇总到目标层次。编写并执行的SQL语句如下:本专利技术的优点如下:1、计算量减少,减轻计算机的资源占用,提高汇总执行的效率。本专利技术专利中汇总方法与传统逐层汇总方法最显著的区别在于,本方法中的数据汇总不需要采用循环的机制来运行。因为本方法中可以直接将下层的事实数据直接汇总到上层,而不需要逐层进行汇总。比如在汇总省级的数据的时候,可直接将区县级的数据汇总到省级,而不是从区县汇总到市州,再汇总到省这样复杂的步骤。通过这种灵活的跨层汇总方式,可减少程序执行的中间环节,从而降低了计算机资源的占用,同时又大大提高了数据汇总的效率。2.纯SQL语句的方式实现,减少程序实现复杂度。通过SQL语句的方式,能够改变传统数据汇总实现中,编写大量循环代码的麻烦,减少程序员的工作量,又能减少代码的出错几率。在功能实现的过程中,只需要将核心的汇总SQL语句封装成存储过程,然后调用执行存储过程即可。3.充分利用数据库机制。通过SQL语句的方式,不仅大大减少了程序代码的编写,同时还减轻了客户端运行的压力。传统的逐层汇总方式,需要在客户端执行大量复杂的循环代码,才能得到汇总结果。而且在执行循环汇总的过程中,每汇总一个层次的数据,都需要将从数据库获取的数据反馈给客户端,处理后再向服务器发送请求,这样增加了服务器和客户端的I/O交互压力和网络流量的压力。通过本专利技术专利的汇总方法,将执行汇总的SQL语句封装到存储过程以后,客户端只用向存储过程提交参数,然后提出汇总的请求,服务器即可完成数据汇总的执行功能。这样做充分利用了服务器的高性能,减少客户端的压力,提高了数据汇总操作的效能。通过存储过程的执行,只需一次性接受服务器反馈的汇总结果,而无需频繁地产生服务器与客户端之间的数据交互,不会对网络流量产生压力。附图说明图1为本专利技术一种基于SQL语句快速汇总多层事实数据的方法的数据汇总流程图。图2为图1中步骤3详细流程图。具体实施方式下面通过具体的实例,来讲解一下本专利技术专利的具体实施方法。此处描述的例子用于解释本专利技术专利的实施步骤。1.名词解释首先介绍几个本专利技术中用到的专业名词,通过这些名词的解释能够更加清楚地了解本专利。维度:以一种参数作为描述和表达变量的度量尺度。例如地区维度,可用来记录度量数据描述的地区属性。度量:用于描述一种事实数据的表示方法,也可称为指标。度量有具体的计量单位,通过维度能够对度量数据进行进一步的分类描述。维度表:在关系数据库中,用来保存维度数据的数据表。一般维度表的数据结构包括维度代码和维度名称两个字段。其中维度代码是具有唯一性的字符,可以采用字母、数字等多种方式进行描述。计算机通过对维度代码的识别,可以很好的构建事实表。本专利技术专利中,对维度表进行了改造,在原有维度代码和维度名称的基础上,增加了维度层次字段和记录上层维度数据的字段,更加清晰明了地描述了维度之间的关联关系。事实表:在关系数据库中用来保存事实数据的数据表。事实表的数据由两部分组成,一部分是维度字段,采用维度来对事实数据进行分类的描述。另一部分是度量,用来保存事实数据的内容。只有将维度和度量结合在一起,才能够说明客观世界中某一存在的事实。比如将维度“武汉市”与度量“人口数”进行结合才有实际的意义,表示保存了武汉市人口数的数据。如果只单纯的提“武汉市”或者“人口数”,这样的说法是没有实际意义的。2.实施用例背景介绍本专利技术实施用例的内本文档来自技高网...
一种基于SQL语句快速汇总多层事实数据的方法

【技术保护点】
一种基于SQL语句快速汇总多层事实数据的方法,其特征在于:其步骤如下:(1)在维度表中增加描述维度层次的字段;这个字段用来描述每个维度数据在维度表中的层次,数据类型为整型;层次的定义规则:最上层维度数据的层次为1,每增加一层,维度层次加1,直至最下层维度数据的层次为n;(2)在维度表中增加记录上层维度数据的字段;增加记录上一层维度数据的字段,命名为p_1;增加记录上二层维度数据的字段,命名为p_2;以此类推循环,直至记录最上层维度数据的字段,命名为p_n;(3)根据数据汇总层次的需求,对事实表中的数据,依据维度表中新增的描述维度层次的字段、记录上层维度数据的字段,编制汇总事实数据的SQL语句并执行,得到多层事实数据的汇总结果;①确定数据汇总的起始层次和目标层次,目标层次必须高于起始层次;②根据起始层次和目标层次,结合维度表中的层次字段和上层维度数据字段,编写数据汇总的SQL语句并执行,将起始层次的事实数据汇总到目标层次。

【技术特征摘要】
1.一种基于SQL语句快速汇总多层事实数据的方法,其特征在于:其步骤如下:(1)在维度表中增加描述维度层次的字段;这个字段用来描述每个维度数据在维度表中的层次,数据类型为整型;层次的定义规则:最上层维度数据的层次为1,每增加一层,维度层次加1,直至最下层维度数据的层次为n;(2)在维度表中增加记录上层维度数据的字段;增加记录上一层维度数据的字段,命名为p_1;增加记录上二层维度数据的字段,命名为p_2;以此类推循环,直至记录最上层维度数据的字段,命名为p_n;(3)根据数据汇总层次的需求,对事实表中的数据,依据维度表中新增的描述维...

【专利技术属性】
技术研发人员:陈瀚李裕伦陈双曹良林
申请(专利权)人:武汉天量数据技术有限公司
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1