一种支持关系数据库数据自由组合嵌套的统计表述方法技术

技术编号:15260577 阅读:50 留言:0更新日期:2017-05-03 13:28
本发明专利技术公开了一种支持关系数据库数据自由组合嵌套的统计表述方法,其过程包括源表定制、统计表定制和输出定制,采用该表述方法定义统计图表的步骤为:选择数据库,程序显示数据库中包含的所有表及字段,用户选择其需要的表及字段,程序提示用户确认表间关联关系,点击确定即可生成源表;有了源表用户便可以根据自己的需求组织出各种统计表,本表述方法通过对用户统计需求进行分解。本发明专利技术可将其应用于统计图表组件的实现,功能空前强大,几乎任何统计图表都可以采用该统计表述方式得到实现,可将其应用于统计图表系统的实现,统计图表定制过程变成简单清晰的过程,支持用户直接对数据库中的任意相关数据进行统计分析。

A statistical expression method for supporting the free combination nesting of relational database data

The invention discloses a statistical database supporting data free combination of nested representation methods, which include the source table customization, custom and custom output tables, the steps of the formulation of definition of statistical charts: select the database program, display all tables and fields contained in the database, the user select the required table and field program prompts the user table to confirm the relationship between, you can click OK to generate the source table; the source table users can according to their own needs to organize various statistics, the expression method decomposed the user demand statistics. The invention can be applied to realize the statistical chart components, function of unprecedented power, almost any statistical charts can be achieved using the statistical expressions, which can realize its application in statistics system, statistical chart customization process becomes simple and clear, support the user directly to carry on the statistical analysis of any relevant data in the database the.

【技术实现步骤摘要】

本专利技术涉及数据可视化领域,尤其是一种支持关系数据库数据自由组合嵌套的统计表述方法。
技术介绍
当前缺乏一套通用性强、能广泛应用于各种关系数据库的统计组件或软件,大量统计图表都由程序员编写,从SQL语句到程序处理到界面显示等,必须花费大量开发时间和精力。相关各种技术工具,不是艰深难懂就是功能太过简单薄弱,比如SAS和Matlab,它们的确能提供足够强大的统计功能,但是很多时候你必须使用它们的编程语言才能完成你想要的图表,对于完成统计图表这个目的来说,使用这些工具和直接使用其他编程语言开发相比并没有带来多大的便利;而其他低端一点的工具,如Excel等,功能非常薄弱,且表述复杂,难以与其他系统集成。所有这些问题的根本原因在于我们缺乏一套能清晰表达统计需求并进行处理的工具,因为统计需求复杂多样,所以找到一种足够强大的通用的统计表述方法本身是一个很大的难点,而确保程序能够依据这种表述方法进行计算并输出结果更是要考虑很多纷繁复杂的逻辑问题。因此,对于上述问题,有必要构建一套通用而强大的统计表述方式,用户可用它得到各种类型的统计图表,解决了绝大多数的统计需求。
技术实现思路
本专利技术目的是克服现有技术中的不足,提供了一套通用而强大的统计表述方法,在该表述法中大量统计复杂性被封装隐匿起来由程序处理,减少人工错误和操作难度。为了解决上述技术问题,本专利技术是通过以下技术方案实现:一种支持关系数据库数据自由组合嵌套的统计表述方法,包括源表定制、统计表定制、输出定制,所述步骤为:(1)点击新建源表,输入源表名称,并选择数据库,点击下一步;(2)程序显示被选择数据库中包含的所有表及字段供用户选择,用户勾选所需数据,点击下一步;(3)程序提示被选择的表间关联关系供用户确认,若正确则点击下一步,否则用户可修改表间关联关系;(4)最后确认被选择的数据,点击确定完成源表定制;(5)用户可将源表中的列拉入统计表中,通过本表述方法提供的10多个基本概念:一般列、汇总列、聚合计算列、展开列、合并计算列、算法、分段、排序、显示项限制、链接、输出格式化、条件、记录数等,进行高度自由的组合嵌套,表述出各种复杂的统计需求;(6)点击运行,程序生成统计表运行结果,默认以表格形式输出,用户可以选择其他图表输出形式。具体概念解析如下:(1)一般列:在本统计表述方法中,一般列具有键值意义,即一般列中的重复记录会被过滤,除非同样具有键值意义的汇总列不重复,此特性确保统计结果中每一行记录的非计算列都是唯一的;(2)汇总列:在本统计表述方法中,汇总列具有键值意义,即汇总列中的重复记录会被过滤,除非同样具有键值意义的一般列不重复,此特性确保统计结果中每一行记录的非计算列都是唯一的。汇总列可以设置一个或多个汇总算法,每个汇总算法会产生一个汇总行;一个统计表中可以设置多个汇总列,当设置多个汇总列时,用户可以为各汇总列设置不同的汇总级别,程序会从低级别往高级别依次进行汇总计算;如果用户不设置汇总级别,或者汇总级别中存在重复,那么在统计表中次序排后的列会被优先进行汇总;在本统计表述方法中,所有汇总行数据是从已经得到计算的非汇总行数据中计算而来;(3)聚合计算列:在本统计表述方法中,可以给任何列设置聚合算法,程序会将该列的所有值进行聚合计算(需要说明的是,列的数据类型不影响其是否可以设置为聚合计算列,而只影响可供选择的聚合算法),聚合计算列必须设置一个或多个聚合算法,若聚合算法有多个,表格形式输出时会以子列形式显示。若统计表还包含一般列和汇总列,那么程序会以一般列和汇总列的值唯一为依据进行聚合计算,与没有一般列相比,就如同以行的方式切分了计算列的数据;(4)展开列:在本统计表述方法中,展开列将列的内容可作为列名生成多个列显示,展开列可以嵌套展开列或聚合计算列,程序允许用户根据需要任意多层次嵌套列,且每个嵌套列都可以有一个或多个子列,嵌套列分支的深度不必相等,但每一嵌套列分支都必须有且只有一个聚合计算列。假如将以上一般列和汇总列视为以行的方式切分计算列数据,那么展开列则是以列的方式切分了计算列的数据;(5)合并计算列:在本统计表述方法中,可以将2个或多个源表中的列合并为统计表中的一个列,并设置合并算法;(6)算法:在本统计表述方法中,可将以上概念视为相关性数据的组织形式,则组织之后的输出表格的单元格按其存放的数据可以分为三类,一类存放普通值(表头和主键列),一类存放数组(聚合计算列),另一类存放矩阵(合并计算列),算法则是将数组或矩阵变成一个值输出的方法。系统预定义的算法有合计求和(sum)、求方差(var)、求标准差(stand)、求乘积(prod)、取均值(mean)、取最大值(max)、取最小值(min)、取第一个元素(pick1st)、当成字符串并用逗号连接(strcat)、求取值计数(count)等,用户可以选择以上算法,也可以采用公式的方式自定义算法,系统支持以下操作符*(乘以)、+(加上)、-(减去)、/(除以)、^(乘方),并且用户可在公式中调用系统预定义算法(如上sum、var等);(7)分段:在本统计表述方法中,当用户不关心具体准确取值,或者需要依据某种分类来显示数据,则可以对取值进行分段处理,其支持线性分段(即将取值按某些特定点分成几个段),集合分段(即将可能的取值集合划分为几个小集合,比如国家列中选择美国、日本为美日,别的都分为其他国家),日期分段(允许用户对日期信息进行提取,比如用户可选择按日期中的月份分段,或按年分段,或按年月分段),可以形象的看,分段是一个处理函数,它将源表数据变成另一个值看待并将依据它进行统计处理,而不再关心其原值;(8)排序:在本统计表述方法中,允许对统计表所包含的列设置排序。若为汇总列或一般列,则按普通规则进行排序,并遵从如下规则:汇总级别高的排序优先于汇总级别低的排序,所有汇总列排序优先于一般列排序,若多个一般列设置了排序,则排序优先级大的优先排序,若多个一般列设置了排序且优先级存在重复,则先出现的列优先排序;若为聚合计算列设置排序,必须设置其依据的聚合算法,除此之外排序规则可视同一般列的排序规则,另外,不同于一般列的一点是,聚合计算列排序可以改变汇总列的排序,条件是汇总列不设置排序,而且聚合计算列设置排序且设置依据的汇总算法,这样用户可以让汇总列按这个聚合列的汇总行的计算结果进行排序,并且每个汇总级别的汇总列会都遵守这个规则,若有多个聚合计算列排序规则,其规则类同上面提到的多个一般列设置排序的规则;若为展开列设置排序,每一层级的展开列会按其设置进行排序,而不影响其父级展开列的排序也不影响其子级展开列的排序;若为展开计算列设置排序,必须设置其依据的聚合算法,与展开列的排序不同的是,展开计算列的排序会改变其直接父级展开列的排序,这也是展开计算列排序的意义和作用,条件是其直接父级展开列不能设置排序规则。另一点规则是,所有汇总列、一般列、展开列的排序都可以设置排序时依据其值还是依据其显示文本,有些单元格的值和显示文本是一致的,但是很多情况下并不一致;(9)显示项限制:在本统计表述方法中,允许对统计表所包含的列显示项数量限制。若为汇总列设置显示限制数n,那么该列最多只显示n个汇总项;若为一般列或聚合计算列设置显示限制数n本文档来自技高网...

【技术保护点】
一种支持关系数据库数据自由组合嵌套的统计表述方法,其特征在于:源表定制只需勾选数据库中的任意相关数据,并确定被选择的表间关联关系,所述方法步骤为:(1)点击新建源表,选择数据库,点击下一步;(2)程序显示被选择数据库中包含的所有表及字段供用户选择,用户勾选所需数据,点击下一步;(3)程序提示被选择的表间关联关系供用户确认,若正确则点击下一步,否则用户可让程序重新规划表间关联,或手动修改表间关联关系;(4)最后确认已选择的数据,点击确定完成源表定制。

【技术特征摘要】
1.一种支持关系数据库数据自由组合嵌套的统计表述方法,其特征在于:源表定制只需勾选数据库中的任意相关数据,并确定被选择的表间关联关系,所述方法步骤为:(1)点击新建源表,选择数据库,点击下一步;(2)程序显示被选择数据库中包含的所有表及字段供用户选择,用户勾选所需数据,点击下一步;(3)程序提示被选择的表间关联关系供用户确认,若正确则点击下一步,否则用户可让程序重新规划表间关联,或手动修改表间关联关系;(4)最后确认已选择的数据,点击确定完成源表定制。2.如权利要求1所述的一种支持关系数据库数据自由组合嵌套的统计表述方法:其特征在于:通过对用户统计需求进行分解,创造整合出10多个基本概念:一般列、汇总列、聚合计算列、展开列、合并计算列、算法、分段、排序、显示项限制、链接、输出格式化、记录数等,这些概念构成了一个强大的基本完整的统计表述体系,通过它们之间高度自由的组合嵌套,可以直观清晰的表述出各种复杂的统计需求,若未来其他同类软件中若包含其中超过80%的重复概念,或者其若出现了分段、链接、自动生成周期这些本表述法中独创的概念所描述的功能设计,应视为侵权。具体概念解析如下:(1)一般列:在本统计表述方法中,一般列具有值意义,即一般列中的重复记录会被过滤,除非同样具有键值意义的汇总列不重复,此特性确保统计结果中每一行记录的非计算列都是唯一的;(2)汇总列:在本统计表述方法中,汇总列具有键值意义,即汇总列中的重复记录会被过滤,除非同样具有键值意义的一般列不重复,此特性确保统计结果中每一行记录的非计算列都是唯一的。汇总列可以设置一个或多个汇总算法,每个汇总算法会产生一个汇总行;一个统计表中可以设置多个汇总列,当设置多个汇总列时,用户可以为各汇总列设置不同的汇总级别,程序会从低级别往高级别依次进行汇总计算;如果用户不设置汇总级别,或者汇总级别中存在重复,那么在统计表中次序排后的列会被优先进行汇总;在本统计表述方法中,所有汇总行数据是从已经得到计算的非汇总行数据中计算而来;(3)聚合计算列:在本统计表述方法中,可以给任何列设置聚合算法,程序会将该列的所有值进行聚合计算(需要说明的是,列的数据类型不影响其是否可以设置为聚合计算列,而只影响可供选择的聚合算法)。聚合计算列必须设置一个或多个聚合算法,若聚合算法有多个,表格形式输出时会以子列形式显示。若统计表还包含一般列和汇总列,那么程序会以一般列和汇总列的值唯一为依据进行聚合计算,与没有一般列相比,就如同以行的方式切分了计算列的数据;(4)展开列:在本统计表述方法中,展开列将列的内容可作为列名生成多个列显示,展开列可以嵌套展开列或聚合计算列,程序允许用户根据需要任意多层次嵌套列,且每个嵌套列都可以有一个或多个子列,嵌套列分支的深度不必相等,但每一嵌套列分支都必须有且只有一个聚合计算列,假如将以上一般列和汇总列视为以行的方式切分计算列数据,那么展开列则是以列的方式切分了计算列的数据;(5)合并计算列:在本统计表述方法中,可以将2个或多个源表中的列合并为统计表中的一个列,并设置合并算法;(6)算法:在本统计表述方法中,可将以上概念视为相关性数据的组织形式,则组织之后的输出表格的单元格按其存放的数据可以分为三类,一类存放普通值(表头和主键列),一类存放数组(聚合计算列),另一类存放矩阵(合并计算列),算法则是将数组或矩阵变成一个值输出的方法。系统预定义的算法有合计求和(sum)、求方差(var)、求标准差(stand)、求乘积(prod)、取均值(mean)、取最大值(max)、取最小值(min)、取第一个元素(pick1st)、当成字符串并用逗号连接(strcat)、求取值计数(count)等,用户可以选择以上算法,也可以采用公式的方式自定义算法,系统支持以下操作符*(乘以)、+(加上)、-(减去)、/(除以)、^(乘方),并且用户可在公式中调用系统预定义算法(如上sum、var等);(7)分段:在本统计表述方法中,当用户不关心具体准确取值,或者需要依据某种分类来显示数据,则可以对取值进行分段处理,其支持线性分段(即将取值按某些特定点分成几个段),集合分段(...

【专利技术属性】
技术研发人员:朱伟统
申请(专利权)人:深圳市睿捷软件技术有限公司
类型:发明
国别省市:广东;44

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

1