一种数据分析查询中自定义排序实现方法

文档序号:6640985阅读:968来源:国知局
一种数据分析查询中自定义排序实现方法
【专利摘要】本发明提供了一种在数据查询分析统计中用户自定义排序的实现方法,包括:查询结构描述,自定义排序描述及实现。在传统的数据分析和查询中,经常会对查询的数据进行排序,而仅仅提供数据库默认的升序和降序排列,在一些数据查询分析统计中往往是不够的。本发明的有益效果是:能够在数据库提供的默认的排序的基础上,允许按照用户指定的顺序对数据进行排序,操作方便。
【专利说明】一种数据分析查询中自定义排序实现方法

【技术领域】
[0001]本发明属于商业智能领域,尤其是涉及一种数据分析查询中自定义排序实现方法。

【背景技术】
[0002]有顺序的数据才更能符合人们在分析统计展示中的需要。在大部分数据分析中,我们通常会对数据按照指定的列进行升序和降序排列。但是,在某些业务场景下,还需要将数据按照指定的顺序排列。
[0003]比如在人力资源数据分析中,人们常常按照员工的部门、职级来统计总工资情况,并对返回的数据进行指定的排序。如:按照总工资降序,或者按照职级由高到低的指定顺序等,以便使数据更符合统计分析或者阅读等的需要。现有技术在自定义排序的实现上还存在一些不便。


【发明内容】

[0004]本发明要解决的问题是实现用户自定义排序的处理方法,特别适合在数据分析中,按照中文字段的指定顺序对数据进行排序。
[0005]为解决上述技术问题,本发明采用的技术方案是:一种数据分析查询中自定义排序实现方法,包括以下步骤:
[0006]第一步:对查询结构进行语法解析,解析出各个项;
[0007]第二步:判断第一步查询中是否含有自定义排序;
[0008]第三步:如果第二步不包含自定义排序,则将解析出的各个项转换成对应的8^1 ;
[0009]如果第二步包含自定义排序,则将自定义排序字段构造成的排序表达式。
[0010]进一步,所述查询包括对数据的选取、筛选、计算或者排序四种操作。
[0011]进一步,所述查询结构包含:查询项、过滤项、分组项、分组过滤项、排序项、分页项;
[0012]所述查询项用8616(31:10118表示;过滤项用11:61*8表示;分组项用狀0即8表示;分组过滤项用表示;排序项用01^61*8表示;分页项用1111111:表示;
[0013]其中8616(^10118包含选取的列,选取的列为字段或者为基于列运算的函数;
[0014]?111:61~8中包含多个过滤项,各个过滤项之间使用£111(1或者连接;
[0015]81-0111)8中包含多个分组的字段,能够对选取的数据按照指定的字段分成不同的组,使每个分组能够用统计函数求已知统计数值;
[0016]11^11188中包含多个分组过滤项,各个过滤项之间用£111(1或者连接;
[0017]01-(161-8中包含多个排序字段,多个排序字段之间用逗号分割;所述每个排序字段按照升序(£18(3)、降序((168(3)或者自定义排序(111211111211)方式排序;
[0018]limit包含有两个整数类型的参数,表示的是从哪个起始位置开始取多少条数据;其中第一个参数为起始位置,第二个参数为取得的条数。
[0019]本发明具有的优点和积极效果是:由于采用上述技术方案,能够在数据库提供的默认的排序的基础上,允许按照用户指定的顺序对数据进行排序,操作方便。

【专利附图】

【附图说明】
[0020]图1是本发明的流程图。

【具体实施方式】
[0021]如图1所示,本发明提供了一种数据分析查询中自定义排序实现方法,包括以下步骤:
[0022]第一步:对查询结构进行语法解析,解析出各个项;
[0023]第二步:判断第一步查询中是否含有自定义排序;
[0024]第三步:如果第二步不包含自定义排序,则将解析出的各个项转换成对应的sql ;
[0025]如果第二步包含自定义排序,则按照以下方式处理:将自定义排序字段构造成casewhen的排序表达式。
[0026]比如:求工资大于2000并且年龄小于40的各个职级的工资总和,将结果按照职级的给定的顺序:总经理级、总监级、经理级、主管级、专员级、员工级排列,排序之后去前100条数据的实现方法为:
[0027]query ([职级,sum (工资)as职级工资汇总],[工资>2000and年龄〈40],[职级],[],[职级manual [总经理级,总监级,经理级,主管级,专员级,员工级]],[O, 100])。
[0028]以上对本发明的一个实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
【权利要求】
1.一种数据分析查询中自定义排序实现方法,其特征在于:包括以下步骤: 第一步:对查询结构进行语法解析,解析出各个项; 第二步:判断第一步查询中是否含有自定义排序; 第三步:如果第二步不包含自定义排序,则将解析出的各个项转换成对应的sql ; 如果第二步包含自定义排序,则将自定义排序字段构造成casewhen的排序表达式。
2.根据权利要求1所述的数据分析查询中自定义排序实现方法,其特征在于:所述第一步的查询结构包含:查询项、过滤项、分组项、分组过滤项、排序项、分页项; 所述查询项用select1ns表示;过滤项用filters表示;分组项用groups表示;分组过滤项用havings表示;排序项用orders表示;分页项用limit表示; 其中select1ns包含选取的列,所述选取的列为字段或者为基于列运算的函数; Filters中包含多个过滤项,其中,各个过滤项之间用“and”或者“or”连接; groups中包含多个分组的字段,所述每个分组用统计函数求已知统计数值; havings中包含多个分组过滤项,各个过滤项之间用“and”或者“or”连接; orders中包含多个排序字段,所述多个排序字段之间用逗号分割;所述每个排序字段 按照升序、降序或者自定义排序方式排序; limit包含有两个整数类型的参数;其中第一个参数为起始位置,第二个参数为取得的条数。
3.根据权利要求1所述的数据分析查询中自定义排序实现方法,其特征在于:所述查询包括对数据的选取、筛选、计算或者排序四种操作。
【文档编号】G06F17/30GK104504132SQ201410855012
【公开日】2015年4月8日 申请日期:2014年12月31日 优先权日:2014年12月31日
【发明者】杨占福 申请人:天津南大通用数据技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1