一种多层分组的多维统计分析方法与流程

文档序号:27835156发布日期:2021-12-07 23:21阅读:191来源:国知局
一种多层分组的多维统计分析方法与流程

1.本发明涉及数据分析领域,具体来说,涉及一种多层分组的多维统计分析方法。


背景技术:

2.在数据科技时代,需要对海量数据进行分析,统计分析是一种简单有效的数据分析方式,能够帮助人们直观了解数据分布情况,从而快速产生结论或支持业务决策。
3.普通的统计分析工具仅仅只能够根据不同类型图表,分别进行参数设计和处理流程设计。
4.因此,数据分析业务需要一种灵活的、统一的统计分析方法。
5.针对相关技术中的问题,目前尚未提出有效的解决方案。


技术实现要素:

6.本发明的目的在于提供一种多层分组的多维统计分析方法,以解决上述背景技术中提出的问题。
7.为实现上述目的,本发明提供如下技术方案:
8.一种多层分组的多维统计分析方法,包括下列步骤:
9.s1、根据表格id参数确定待统计的表格;
10.s2、获取上述表格中用于分组和统计的表格数据;
11.s3、根据转换器参数transform,对表格数据进行转换,作为步骤s4的输入;
12.s4、构造一个树节点,作为分组和统计的根节点;
13.s5、从根节点出发,对当前节点数据按照指定的分组器参数的字段,对数据进行分组;
14.s6、对每个分组构造一个树节点,作为当前节点的子节点,添加到树中;
15.s7、通过上述节点的数据,得到基于多层分组的树结构表示的表格数据;
16.s8、对每个叶子节点分组,根据统计器参数中指定的统计函数,对当前分组数据进行统计计算;
17.s9、将整个树结构作为结果输出。
18.进一步的,所述步骤s2中获取上述表格中用于分组和统计的表格数据包括以下步骤:
19.s21、根据过滤器参数query构造查询语句,从表格中进行数据过滤;
20.s22、通过上述过滤的数据,获取用于分组和统计的表格数据。
21.进一步的,所述步骤s7中通过上述节点的数据,得到基于多层分组的树结构表示的表格数据包括以下步骤:
22.s71、对每个节点的数据,按照节点所在层次,根据指定的分组器参数的字段,对数据进行分组;
23.s72、然后进入步骤s6,直到完成全部分组,形成基于多层分组的树结构表示的表
格数据。
24.进一步的,所述步骤s8中,对每个叶子节点分组,根据统计器参数中指定的统计函数,对当前分组数据进行统计计算时,计算结果保存在所在叶子节点上。
25.进一步的,所述步骤s9中将整个树结构作为结果输出,其中输出结果中对于每个节点,移除节点的分组数据,仅保留分组后的分组标识id,用于下一层分组的字段名key和下一层分组结果data;
26.对于根节点,其id为空;
27.对于叶子节点,其key为空,且data表示统计计算结果。
28.与现有技术相比,本发明具有以下有益效果:本发明是对表格数据进行多维度统计,用户可指定表格数据,指定图表类型和图表参数作为输入,统计分析结果作为输出。该方法对二维表格数据进行统计分析,以一种多层级树形结构对统计结果进行统一表示,实现灵活可扩展的统计分析功能,可用于多种统计分析应用中。
附图说明
29.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
30.图1是根据本发明实施例的一种多层分组的多维统计分析方法的流程图之一;
31.图2是根据本发明实施例的一种多层分组的多维统计分析方法的流程图之二;
32.图3是根据本发明实施例的一种多层分组的多维统计分析方法设计参数的说明表格;
33.图4是根据本发明实施例的一种多层分组的多维统计分析方法步骤s9的输出数据结构表格;
34.图5是根据本发明一种多层分组的多维统计分析方法实施例的一组具有3列5行的表格数据实例表。
具体实施方式
35.在对本发明进一步描述之前,先简要对发明中提到的术语进行说明,如下:
36.表格数据
37.一种结构化数据的表示形式,常见的数据库表、excel表单、csv表单均可以作为表格数据进行处理。一张表格具有表名、表头和表行数据,其中表头定义了表的数据结构,表行数据是一组符合表头定义的数据实例的集合。
38.统计分析
39.对一组数据实例进行统计计算、获得概要信息的过程。常见的统计计算有:计数、求和、最大、最小、平均、方差等。
40.过滤器
41.用于对表行数据进行过滤筛选的规则函数。过滤器的输入是行数据,输出为布尔值。
42.转换器
43.用于对表行数据进行转换的函数。转换器的输入是行数据,输出为另一行数据。
44.分组器
45.用于对表行数据进行分组的函数。分组器的输入是一组行数据,输出为若干分组,每个分组为输入数据的子集,分组之间没有交集,且所有分组的并集与输入相同。
46.统计器
47.用于对一组行数据进行统计计算的函数。统计器的输入是一组行数据,输出为统计值。
48.下面,结合附图以及具体实施方式,对发明做出进一步的描述:.
49.请参阅图1

2,根据本发明实施例的一种多层分组的多维统计分析方法,包括下列步骤:
50.步骤s1、根据表格id参数确定待统计的表格;
51.步骤s2、获取上述表格中用于分组和统计的表格数据;
52.s21、根据过滤器参数query构造查询语句,从表格中进行数据过滤;
53.s22、获取用于分组和统计的表格数据
54.步骤s3、根据转换器参数transform,对表格数据进行转换,作为下一步骤的输入
55.步骤s4、构造一个树节点,作为分组和统计的根节点
56.步骤s5、从根节点出发,对当前节点数据按照指定的分组器参数的字段,对数据进行分组
57.步骤s6、对每个分组构造一个树节点,作为当前节点的子节点,添加到树中
58.步骤s7、通过上述节点的数据,得到基于多层分组的树结构表示的表格数据;
59.s71、对每个节点的数据,按照节点所在层次,根据指定的分组器参数的字段,对数据进行分组;
60.s72、然后进入第六步,直到完成全部分组,形成基于多层分组的树结构表示的表格数据
61.步骤s8、对每个叶子节点分组,根据统计器参数中指定的统计函数,对当前分组数据进行统计计算,计算结果保存在所在叶子节点上。
62.步骤s9、将整个树结构作为结果输出。
63.输出结果中对于每个节点,移除节点的分组数据,仅保留分组后的分组标识id、用于下一层分组的字段名key和下一层分组结果data。对于根节点,其id为空;对于叶子节点,其key为空,且data表示统计计算结果。
64.本发明的多层,体现在是利用树结构进行逐层分组。本发明的多维,体现在对于叶子节点,可以从多个维度进行统计分析。
65.为了方便理解本发明的上述技术方案,以下就本发明在实际过程中的工作原理或者操作方式进行详细说明。
66.在实际应用时,上述步骤中的参数设计如图3所示,针对图3中的参数设计复杂数据结构进行解释如下:
67.filter数据结构定义:
68.filter:={//json对象结构
69.(field:match)*
70.}
71.field:=<数据字段名>
72.match:=value|list[match]|operator
[0073]
operator:=simpleoper|complexoper
[0074]
simpleoper:={sop:value}
[0075]
complexoper:={cop:list[operator]}
[0076]
sop:="$lt"|"$gt"|"$eq"|"$lte"|"$gte"|"$regex"
[0077]
cop:="$and"|"$or"|"$not"
[0078]
value:=string

value|number

value
[0079]
string

value:=<json字符串>
[0080]
number

value:=<json数字>
[0081]
transform数据结构定义:
[0082]
transform:={
[0083]
field:<待转换的字段>,
[0084]
transform:<转换函数>,
[0085]
outputfield:<输出字段>
[0086]
支持以下转换函数:
[0087]
针对日期类型
[0088]
year年份
[0089]
month月份
[0090]
day日
[0091]
hour小时
[0092]
minute分数
[0093]
针对字符串类型
[0094]
upper大写
[0095]
lower小写
[0096]
length获取长度
[0097]
capital单次首字母大写
[0098]
针对数字类型
[0099]
round向上取整
[0100]
floor6
[0101]
ceiling
[0102]
abs求绝对值
[0103]
neg求相反值
[0104]
squre求平方值
[0105]
sqrt求平方根值
[0106]
group 数据结构定义:
[0107][0108][0109]
支持以下统计函数:
[0110]
针对所有类型
[0111]
count简单计数返回分组的行数
[0112]
diff唯一计数返回不同值的数目
[0113]
数值类型
[0114]
sum求和
[0115]
min最小值
[0116]
max最大值
[0117]
avg平均
[0118]
median中位数
[0119]
var方差
[0120]
std标准差
[0121]
sort数据结构定义:
[0122]
另外,如图5所示,在一个实施例中,产生了如图5所示的3列5行的表格数据,对示例数据按照x1、x2分组,然后统计每个分组的数据条数,则统计结果如下(json表示):
[0123]
[0124]
[0125][0126]
综上所述:本发明是对表格数据进行多维度统计,用户可指定表格数据,指定图表类型和图表参数作为输入,统计分析结果作为输出。该方法对二维表格数据进行统计分析,以一种多层级树形结构对统计结果进行统一表示,实现灵活可扩展的统计分析功能,可用于多种统计分析应用中。
[0127]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1