一种数据钻取方法和系统技术方案

技术编号:31322828 阅读:11 留言:0更新日期:2021-12-13 00:10
本发明专利技术公开了一种数据钻取方法,包括以下步骤:S1、接收并解析用户请求,生成N层的下钻列表,其中N≥1,且N为正整数;S2、根据下钻列表,从第一层开始,逐层获取并解析每层的下钻数据,直到第N层结束;S3、对获取的数据进行处理,生成满足前端直接展示需要的格式数据返回给用户。本发明专利技术同时还提供一种数据钻取系统,利用分层的下钻列表,逐层钻取数据,有效提升数据钻取效率。数据钻取效率。数据钻取效率。

【技术实现步骤摘要】
一种数据钻取方法和系统


[0001]本专利技术属于数据处理
,更具体地说,涉及一种数据钻取方法和系统。

技术介绍

[0002]钻取是报表中特色功能之一,通过使用钻取功能,能够让用户单击一个报表中的链接来直接打开其他相关的报表。如现在一个联机数据分析的智能系统中,有这么一个结果:30岁到40岁的客户群体购买率最高的产品类别。现在用户还需要知道更加详细的结果,如他们主要购买了哪些产品。用专业术语来说,就是需要知道这个结论是根据哪些数据得到的。此时就可以通过使用报表钻取的来实现。
[0003]在进行大数据分析时,用的最多的操作是钻取,钻取是改变维的层次,变换分析的粒度。它包括向上钻取和向下钻取。向上钻取是在某一维上将低层次的细节数据概括到高层次的汇总数据,或者减少维数;而向下钻取则相反,它从汇总数据深入到细节数据进行观察或增加新维。例如,用户分析“各地区、城市的销售情况”时,可以对某一个城市的销售额细分为各个年度的销售额,对某一年度的销售额,可以继续细分为各个季度的销售额。通过钻取的功能,使用户对数据能更深入了解,更容易发现问题,做出正确的决策。
[0004]如申请公布日为2019年2月22日,申请公布号为CN109376177A,专利名称为一种数据钻取分析方法的中国专利公开了一种技术方案,以解决现有技术中电力业务信息系统明细数据查询无法实现跨库定制化查询的技术问题,包括以下步骤:S1:创建逻辑数据库;S2:创建树状分类节点,并填写节点基础信息;S3:编写SQL查询语句,并进行编译测试;S4:根据查询需求,确定查询参数,配置钻取参数;S5:根据查询需求判断是否需要设置下钻数据集,在判定需要设置下钻节点数据集时,继续步骤S6;S6:配置下钻节点数据集;S7:导出并显示查询结果。
[0005]申请公布日为2020年12月4日,申请公布号为CN112039989A,专利名称为数据钻取方法、代理服务器、服务调用系统及介质的中国专利公开了一种技术方案,包括以下步骤:代理服务器接收请求端发送的json字符串;获取所述json字符串对应的入参的名称和关键字起始下标,并将所述名称和所述关键字起始下标保存为所述json字符串对应的元数据;对所述json字符串进行序列化,得到json格式的数据包;在数据钻取功能触发时,根据所述元数据及所述数据包钻取目标数据。
[0006]但是在使用向下钻取时,存在如下几个问题:首先,在向下钻取的时候,下钻一层的数据只需要不到1秒就能获取到,而继续下钻多层后数据往往需要几十秒甚至几分钟才能获取到。随着下钻的层级越多,每层需要获取的数据越多,获取数据需要的时间呈几何倍数的增加。
[0007]其次,在向下钻取的时候,下钻的每一层都可以设置自己的topN和排序规则,可以以自身或任意其他维度进行升降序。复杂的规则导致很难使用一条SQL语句就获取到需要的数据,所以通常采用分层获取的方法获取数据。例如下钻三层,每层需要的topN和排序规则都不同:
(1)第1层按照规则“以A字段top20降序”,通过一次查询获取到符合条件的20条数据;(2)第2层按照规则“以B字段top30升序”,以第1层获取到的20条数据为条件,通过20次查询获取到600条数据;(3)以此类推,第3层需要600次查询才能获取到第三层完整的数据;为解决下钻层数越多,查询数据库次数指数增长导致获取完整数据耗时过多,现有技术为了解决获取完整数据耗时过多的问题,通常会采用如下方法解决:要么通过限制下钻层数来解决,如一般只能下钻3层;但该种方式影响用户体验和分析数据的效率;要么通过减少查询次数来解决,不展示全部的下钻数据,只展示第一层数据,用户只能选择单条数据后,再触发其继续下钻当前数据;该种方式增加用户操作频次,影响分析数据的效率。

技术实现思路

[0008]1. 要解决的问题针对现有技术中在数据分析过程中存在的查询数据时耗时过多的问题,本专利技术提供一种数据钻取方法和系统。
[0009]2. 技术方案为了解决上述问题,本专利技术所采用的技术方案如下:一种数据钻取方法,包括以下步骤:S1、接收并解析用户请求,生成N层的下钻列表,其中N≥1,且N为正整数;S2、根据下钻列表,从第一层开始,逐层获取并解析每层的下钻数据,直到第N层结束;S3、对获取的数据进行处理,生成满足前端直接展示需要的格式数据返回给用户。本技术方案利用分层的下钻列表,逐层钻取数据,有效提升数据钻取效率。
[0010]进一步地,所述步骤S2包括:S21、根据下钻的第一层列表信息,获取到以第一层的下钻维度字段进行分组,以用户请求的时间段为过滤条件,以第一层下钻的指标维度字段进行排序的指定数目的维度值数据;S22、对上述数据进行滤重得到第一层下钻维度字段中的唯一值;S23、根据下钻的第一和第二层信息,获取到以第一层和第二层的下钻维度字段进行分组,以用户请求的时间段和步骤S22中的第一层下钻维度字段的唯一值为过滤条件,以第二层下钻的指标维度字段进行排序,给每个第一层维度字段值的第二层分配指定数目的维度值数据;S24、对步骤S23中的数据进行滤重,得到第二层下钻维度字段的唯一值;S25、根据下钻的第一层、第二层和第三层列表信息,获取到以第一层、第二层和第三层的下钻维度字段进行分组,以用户请求的时间段、步骤S22中的第一层维度字段的唯一值和步骤S24中第二层下钻维度字段的唯一值为过滤条件,第三层的下钻指标维度字段进行排序,给每个第二层维度字段值的第三层分配指定数目的维度值数据;S26、对步骤S25中的数据进行滤重,得到第三层下钻维度字段的唯一值;S27、以此类推,直到遍历整个下钻列表。
[0011]本技术方案对数据逐层进行分组、滤重并排序,在第一层之后的每一层数据钻取都从有限的数据量中获取数据,大大提升数据钻取效率、提高用户体验。
[0012]进一步地,所述步骤S3包括:S31、以第一层下钻的维度字段对第二层数据进行分组,生成第二层分组数据;S32、以第一和第二层下钻的维度字段对第三层数据进行分组,生成第三层分组数据;S33、以此类推,以第一层到第N

1层下钻的维度字段对第N层数据进行分组,生成第N层分组数据;S34、从第一层下钻维度值为关键字段开始,以递归的方式,从下一层分组数据中找到对应的数据,并把数据拼接,组成以上层关键字段为父,下层关键字段对应数据为子的树状结构数据反馈给用户。在对数据进行分组、过滤及排序后,得到有限数量的数据,然后从有限数量的数据中逐层获取与每一层的维度字段相关的数据,提升钻取效率。
[0013]进一步地,钻取环比数据包括:获取本期数据和上期数据,然后再分别对本期数据和上期数据进行分组、排序、滤重操作,获取上期数据的N层数据需要以用户请求的时间段和本期数据的前N

1层下钻维度字段的唯一值为过滤条件。
[0014]进一步地,所述生成环比数据的步骤具体为:S51、将第一层的上期数据以第一层的维度字段为连接键,合并到第一层的本期数据中,并计算每个指标维度字段的差值和环比值;S本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据钻取方法,其特征在于:包括以下步骤:S1、接收并解析用户请求,生成N层的下钻列表,其中N≥1,且N为正整数;S2、根据下钻列表,从第一层开始,逐层获取并解析每层的下钻数据,直到第N层结束;S3、对获取的数据进行处理并返回给用户。2.根据权利要求1所述的数据钻取方法,其特征在于:所述步骤S2包括:S21、根据下钻的第一层列表信息,获取到以第一层下钻的维度字段进行分组,以用户请求的时间段为过滤条件,以第一层下钻的指标维度字段进行排序的指定数目的维度值数据;S22、对上述数据进行滤重得到第一层下钻维度字段中的唯一值;S23、根据下钻的第一和第二层信息,获取到以第一层和第二层下钻的维度字段进行分组,以用户请求的时间段和步骤S22中的第一层维度字段的唯一值为过滤条件,以第二层下钻的指标维度字段进行排序,给每个第一层维度字段值的第二层分配指定数目的维度值数据;S24、对步骤S23中的数据进行滤重,得到第二层下钻维度字段的唯一值;S25、根据下钻的第一层、第二层和第三层列表信息,获取到以第一层、第二层和第三层的下钻维度字段进行分组,以用户请求的时间段、步骤S22中的第一层维度字段的唯一值和步骤S24中的第二层下钻维度字段的唯一值为过滤条件,以第三层的下钻指标维度字段进行排序,给每个第二层维度字段值的第三层分配指定数目的维度值数据;S26、对步骤S25中的数据进行滤重,得到第三层下钻维度字段的唯一值;S27、以此类推,直到遍历整个下钻列表。3.根据权利要求2所述的数据钻取方法,其特征在于:所述步骤S3包括:S31、以第一层的下钻维度字段对第二层数据进行分组,生成第二层分组数据;S32、以第一层和第二层下钻的维度字段对第三层数据进行分组,生成第三层分组数据;S33、以此类推,以第一层到第N

1层下钻的维度字段对第N层数据进行分组,生成第N层分组数据;S34、从第一层下钻维度值为关键字段开始,以递归的方式,从下一层分组数据中找到对应的数据,并把数据拼接,组成以上层维度字段为父,下层维度字段对应数据为子的树状结构数据反馈给用户。4.根据权利要求2或3所述的数据钻取方法,其特征在于:钻取环比数据包括:获取本期数据和上期数据,然后再分别对本期数据和上期数据进行分组、排序、滤重操作,获取上期数据的N层数据在步骤S21中需要以用户请求的时间段和本期数据的前N

1层下钻维度字段的唯一值为过滤条件。5.根据权利要求4所述的数据钻取方法,其特征在于:所述钻取环比数据的步骤具体为:S51、将第一层的上期数据以第一层的维度字段为连接键,合并到第...

【专利技术属性】
技术研发人员:张杰徐健任翔袁有雷朱宏峰闵克东曹荣解宇
申请(专利权)人:南京网眼信息技术有限公司
类型:发明
国别省市:

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

1