一种通过动态构建立方体进行数据查询分析的方法技术

技术编号:38473071 阅读:14 留言:0更新日期:2023-08-11 14:49
本发明专利技术公开了一种通过动态构建立方体进行数据查询分析的方法,涉及数据处理技术领域,本发明专利技术中的方法将用户新增的自定义字段、可以通过转换SQL方式或SQL方式与立方体方式相结合方式构建查询,完成对自定义字段的计算,从而实现基础数据处理,并且还可以通过对维度、度量的拖拽进行多维分析实现行列转换、聚合排序结果,使用起来简单、方便、灵活;多维计算过程是在内存中进行的,可以屏蔽数据库之间的语法差异,并且本发明专利技术通过SQL方式对数据预先处理的方式、避免在组装MDX语句时多个维度直接采用笛卡尔积的方式去组装,提升查询效率。率。率。

【技术实现步骤摘要】
一种通过动态构建立方体进行数据查询分析的方法
[0001]本申请是在原申请(申请号:201911412349.5)基础上提出的分案申请,原申请的申请日是:2019年12月31日,申请号是:201911412349.5,专利技术创造名称是:一种通过动态构建立方体进行数据处理或查询的方法。


[0002]本专利技术涉及数据处理
,尤其涉及一种通过动态构建立方体进行数据查询分析的方法。

技术介绍

[0003]随着社会的飞速发展,分析数据所蕴含规律及变化趋势,并制定一套完整的解决方案,用来将企业中现有的数据进行有效的整合,帮助企业做出明智的业务经营决策,变得越来越重要,构建立方体作为数据分析的基础环节,构建复杂、灵活立方体给数据分析带来了巨大挑战。
[0004]在传统的数据分析系统中,满足复杂、灵活、个性化的数据分析需求主要采用以下方法:通过编写SQL脚本的方式(SQL语句、存储过程)、根据业务预先配置好立方体方式、进行多维分析。
[0005]在传统的数据分析系统中通过SQL脚本的方式(存储过程)、对编写人员要求较高,并且在数据库之间存在着语法的差异、不便于对SQL在数据库间进行移植。
[0006]根据业务预先配置立方体主要的缺点就是与关系模型相比它的灵活性不够,一旦模型构建就非常难再进行相关的更改。

技术实现思路

[0007]本专利技术的目的在于提供一种通过动态构建立方体进行数据处理或查询的方法,从而解决现有技术中存在的前述问题。
[0008]为了实现上述目的,本专利技术采用的技术方案如下:
[0009]一种通过动态构建立方体进行数据处理的方法,包括以下步骤:
[0010]S1,构建模型,新建自定义字段,并通过本地查询语法对自定义字段进行数据处理,并确认是否可以通过SQL方式进行数据处理;
[0011]S2,当新建自定义字段可以通过SQL方式进行数据处理,那么直接通过数据库方式进行数据处理,否则进入步骤S3;
[0012]S3,采用新建的自定义字段构建数据处理立方体;
[0013]S4,针对已构建的数据处理立方体进行数据处理。
[0014]优选地,步骤S1中构建模型具体包括:通过各种文件、关系型数据库、其他数据以及应用接口构建模型;
[0015]确认是否可以通过SQL方式进行数据处理具体包括:判断自定义字段是否存在嵌套关系,若没有嵌套的自定义字段,只需判断该自定义字段是否支持对应数据库的SQL语
法;若存在嵌套使用其它自定义字段,则需要判断所有的自定义字段是否均能通过SQL方式进行数据处理。
[0016]优选地,步骤S2具体包括:
[0017]S21,当没有嵌套自定义字段支持对应数据库的SQL语法,若是,则直接通过数据库方式进行计算,否则,进入步骤S3;
[0018]S22,当有嵌套的自定义字段中所有的自定义字段均能通过SQL方式进行数据处理,则对所有自定义字段计算顺序进行排序处理、优先处理被嵌套的自定义字段,最终采用SQL方式计算所有的自定义字段;否则,进入步骤S3。
[0019]优选地,步骤S3中动态构建立方体具体包括:
[0020]S31,获取自定义字段中所有的基础字段,并对所述基础字段进行处理,获取基础字段列表;
[0021]S32,获取模型的物理表,构建立方体表;如果存在过滤条件,对过滤条件进行转换本地查询语言能识别的语法,构建立方体的查询表;
[0022]对基础字段列表查询模型中对应的基础字段数据类型构建立方体维度,对数字类型构建立方体度量;
[0023]S33,构建计算成员;
[0024]S34,通过上述构建的实体对象,操作XML方式构建立方体。
[0025]优选地,步骤S4中具体包括:
[0026]S41,通过模型的主键构建数据集以用于MDX语句的行数据集,根据自定义字段构建计算表达式;
[0027]S42,根据动态计算表达式及构建的行数据集,构建多维查询语句,通过立方体及MDX语句进行多维计算;
[0028]S43,获取多维计算的结果并将计算结果更新到模型中。
[0029]本专利技术的另一目的是提供一种通过动态构建立方体进行数据查询分析的方法,包括以下步骤:
[0030]A1,构建数据查询分析模型,新建画面图表,对画面图表进行X轴、Y轴或Z轴绑定;
[0031]A2,判断所述图表绑定数轴个数,若只绑定1

2个,并且没有使用动态表达式,则直接通过数据库方式进行查询分析,否则进入步骤A3;
[0032]A3,当使用动态表达式或以三维方式进行展示时,动态构建立方体;
[0033]A4,根据建立的立方体文件,进行数据多维查询分析。
[0034]优选地,步骤A3中具体包括:
[0035]A31,通过绑定基础字段、获取已绑定的基础字段和动态表达式中所有的基础字段;
[0036]A32,对步骤A31中获取的所有基础字段进行去重,获取基础字段列表;
[0037]A33,获取模型信息构建立方体表,将过滤条件、排序条件及展示行数转换为本地查询语言能识别的语法,从而构建立方体的查询视图;
[0038]A34,采用步骤A32中的基础字段列表按数据类型进行处理,构建立方体维度和度量,得到数据查询立方体。;
[0039]优选地,步骤A1中对X轴、Y轴和Z轴绑定具体包括:新建动态表达式或通过拖拽画
面图表进行绑定;
[0040]步骤A1和A2之间还包括:若需要筛选或排序,可以通过拖拽模型字段对已绑定的画面图表进行筛选或排序。
[0041]优选地,步骤A4中具体包括:
[0042]A41,获取已绑定图表的过滤排序信息,构建SQL语句进行查询,得到查询结果进而构建多维行数据集;
[0043]A42,根据绑定数据或者动态表达式对计算成员进行转换、构建多维语句列数据集;
[0044]A43,基于构建的多维行数据集、多维列数据集,以及数据查询立方体,
[0045]通过多维引擎进行查询,从而获取查询结果;
[0046]A44,将查询结果转换为图表能识别的格式进行展现,实现数据分析结果。
[0047]值得注意的是,本专利技术中的创新点在于:
[0048]1、构建的自定义字段,通过计算自定义字段内部字段的嵌套关系,制定了计算优先级,决定计算顺序。
[0049]2、模型的数据处理优先通过SQL方式计算,有助于处理复杂、个性化的需求,当采用SQL方式无法实现数据处理过程时,进而通过动态建立数据立方体的方式,通过多维引擎进行计算。
[0050]3、通过构建数据查询立方体进行多维分析时,排序时优选通过SQL方式对维度进行排序,进而构造MDX语句的axis轴,并且此种方式的排序就支持:聚合方式的排序,包括按照求和、平均值、最大值、最小值、原始值对查询结果进行排序。
[0051]4、构本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种通过动态构建立方体进行数据查询分析的方法,其特征在于,包括以下步骤:A1,构建数据查询分析模型,新建画面图表,对画面图表进行X轴、Y轴或Z轴绑定;A2,判断所述图表绑定数轴个数,若只绑定1

2个,并且没有使用动态表达式,则直接通过数据库方式进行查询分析,否则进入步骤A3;A3,当使用动态表达式或以三维方式进行展示时,动态构建立方体;A4,根据建立的立方体文件,进行数据多维查询分析。2.根据权利要求1所述的通过动态构建立方体进行数据查询分析的方法,其特征在于,步骤A3中具体包括:A31,通过绑定基础字段、获取已绑定的基础字段和动态表达式中所有的基础字段;A32,对步骤A31中获取的所有基础字段进行去重,获取基础字段列表;A33,获取模型信息构建立方体表,将过滤条件、排序条件及展示行数转换为本地查询语言能识别的语法,从而构建立方体的查询视图;A34,采用步骤...

【专利技术属性】
技术研发人员:钱苏晋刘爱军王胜强
申请(专利权)人:北京恒泰实达科技股份有限公司
类型:发明
国别省市:

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

1