CN112115683A - 一种基于二维报表转换的数据统计方法、装置及终端设备 - Google Patents
一种基于二维报表转换的数据统计方法、装置及终端设备 Download PDFInfo
- Publication number
- CN112115683A CN112115683A CN202011051902.XA CN202011051902A CN112115683A CN 112115683 A CN112115683 A CN 112115683A CN 202011051902 A CN202011051902 A CN 202011051902A CN 112115683 A CN112115683 A CN 112115683A
- Authority
- CN
- China
- Prior art keywords
- dimensional report
- initial
- column
- header
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims abstract description 13
- 230000008569 process Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 238000003860 storage Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 4
- 238000004519 manufacturing process Methods 0.000 claims description 4
- 238000007619 statistical method Methods 0.000 claims description 4
- 230000002776 aggregation Effects 0.000 abstract description 13
- 238000004220 aggregation Methods 0.000 abstract description 13
- 238000012935 Averaging Methods 0.000 abstract description 10
- 238000012360 testing method Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/183—Tabulation, i.e. one-dimensional positioning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于计算机技术领域,提供了一种基于二维报表转换的数据统计方法、装置及终端设备,方法包括通过编辑第一SQL语句指定初始一维报表中固定的列,通过编辑第二SQL语句指定初始一维报表中需要转换的列;通过编辑SUBTOTAL语句,对需要转换的列和固定的列进行统计计算;执行编辑后的第一SQL语句、第二SQL语句和SUBTOTAL语句,将初始一维报表转换为二维报表;基于初始一维报表进行分组查询,获得结果集;根据分组查询的分组结果遍历结果集,并根据表头在二维报表中写入数据,以通过第一统计结果、第二统计结果和第三统计结果重新统计初始成绩信息。通过本发明可以将求和、平均等聚合运算结果直接加入转换后的二维报表中,从而快速统计初始成绩信息。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于二维报表转换的数据统计方法、装置及终端设备。
背景技术
深入分析的学生考试成绩,是对学生的学习成果和教师的教学效果进行客观定性与定位的有效依据。大多数高校使用的分析方式,还是基于成绩统计表的数据分析来实现。在制作成绩统计表的过程中,首先,会通过一维表来存储学生的考试数据,作为数据分析的源数据,数据处理起来也方便。然后,使用二维表详细的对学生的考试数据进行展示。也就是说,在制作成绩统计表的过程中,一般会使用一维表保存原始的考试数据作为源表,再将一维表转换成二维表,基于二维表实现源表中多行和多列数据的聚合运算,且当需要从多个不同的侧重点对学生的考试数据进行分析时,将按不同的需求和侧重点,从而生成按需的二维报表。
目前,针对数据库,使用SQL语句将每列都是独立属性的一维表转换为二维表的技术有:
1、利用SQL语句以及excel的数据透视表的方式
利用类似的case when等语句,把保持不动的行和需要进行sum、avg等聚合运算的列进行分组,在case when的条件中,把对列的约束条件简单的拼接到条件中,得到每个单元格相关联的多个条件的所有数据,最后把数据贴到execl中,通过数据透视表的方式进行处理。
2、只利用SQL语句的方式
把需要转换的列通过行列转换方式,然后通过纵轴的列,即保持不动的行,进行分组,再进行求和、平均等聚合运算。
可见,在上述的将一维表转换为二维表的技术中,均需要在转换后再进行求和、平均等聚合运算,而学生的考试成绩数据量通常比较大,则在进行聚合运算时,会对已转换的二维表造成较大改动,且操作步骤也较多。
发明内容
本发明的主要目的在于提出一种基于二维报表转换的数据统计方法、装置及终端设备,以解决现有技术中,对学生考试成绩进行分析时,需要将一维表转换为二维表后,再进行求和、平均等聚合运算,对已转换的二维表改动较大、操作步骤较多的问题。
为实现上述目的,本发明实施例第一方面提供一种基于二维报表转换的数据统计方法,包括:
获取包括初始成绩信息的初始一维报表;
通过编辑第一SQL语句指定所述初始一维报表中固定的列,通过编辑第二SQL语句指定所述初始一维报表中需要转换的列;
通过编辑SUBTOTAL语句,对所述需要转换的列和所述固定的列进行统计计算;
执行编辑后的所述第一SQL语句、所述第二SQL语句和所述SUBTOTAL语句,将所述初始一维报表转换为二维报表;
在将所述初始一维报表转换为二维报表的过程中,根据所述需要转换的列,获得N个一级标题和M个二级标题,其中任意一个一级标题包括k个二级标题,M=N×k,N、M、k为正整数,并根据所述一级标题、所述二级标题和所述固定的列制作表头;
在所述表头中,第m个所述二级标题的最后一列,表示第m个所述二级标题中,前k-1列的第一统计结果,其中,k为第m个所述二级标题的总列数,m为小于或者等于M的正整数;
第N个所述一级标题的所在列之后还包括数据统计列,所述数据统计列,表示属于第N个所述一级标题的二级标题中,前k-1列的第二统计结果;
所述固定的列的最后一行之后还包括数据统计行,所述数据统计行,表示M个所述二级标题所在列的第三统计结果;
基于所述初始一维报表进行分组查询,获得结果集;
根据分组查询的分组结果遍历所述结果集,并根据所述表头在所述二维报表中写入数据,以通过所述第一统计结果、所述第二统计结果和所述第三统计结果重新统计所述初始成绩信息。
结合本发明第一方面,本发明第一实施方式中,根据所述需要转换的列,获得N个一级标题和M个二级标题,包括:
使用select语句获取所述一级标题和所述二级标题的来源;
用字段组将所述需要转换的列表示为具有所述一级标题的行和具有二级标题的行,所述字段组中的二级标题包括在所述一级标题下;
其中,所述字段组的第一个字段表示一级标题,所述字段组的第二个字段表示二级标题。
结合本发明第一方面,本发明第二实施方式中,基于所述初始一维报表进行分组查询,获得结果集,包括:
根据所述初始一维报表中的行名、列名以及统计函数进行分组查询,获得结果集。
结合本发明第一方面第二实施方式,本发明第三实施方式中,根据分组查询的分组结果遍历所述结果集,并根据所述表头写入数据,包括:
根据分组查询的分组结果遍历所述结果集,获取到第i个数据时,将第i个数据插入到字符串指针中,所述字符串指针表示第i个数据与所述二级标题的位置对应关系;
获取到第j个数据时,若所述字符串指针中的数据完全表示第n个所述一级标题下的k个所述二级标题,则将所述第i个数据至所述第j个数据填入第n个所述一级标题下的k个所述二级标题所表示的列中,其中,i小于j,n为小于或者等于N的正整数,i、j、k、n为正整数。
结合本发明第一方面,本发明第四实施方式中,在将所述初始一维报表转换为二维报表的过程中,根据所述需要转换的列,获得N个一级标题和M个二级标题,并根据所述一级标题、所述二级标题和所述固定的列制作表头之前,包括:
检测所述编辑后的所述第一SQL语句、所述第二SQL语句和所述SUBTOTAL语句是否包括扩展标题信息;
若包括所述扩展标题信息,则根据所述扩展标题信息获得新的标题,并使用新的标题和所述固定的列制作所述新的表头;
所述新的标题包括Pa级标题,Pa=1,2,3,..,A,其中任意一个Pa-1级标题包括k个Pa级标题,A为正整数。
结合本发明第一方面,本发明第五实施方式中,所述二级标题为空时,在所述表头中,第N个所述一级标题的所在列之后还包括数据统计列,所述数据统计列,表示所述一级标题中,前N-1列的第一统计结果。
本发明第二方面提供一种基于二维报表转换的数据统计装置,包括:
初始成绩信息获取模块,用于获取包括初始成绩信息的初始一维报表;
指定模块,用于通过编辑第一SQL语句指定所述初始一维报表中固定的列,通过编辑第二SQL语句指定所述初始一维报表中需要转换的列;
统计计算模块,用于通过编辑SUBTOTAL语句,对所述需要转换的列和所述固定的列进行统计计算;
二维报表转换模块,用于执行编辑后的所述第一SQL语句、所述第二SQL语句和所述SUBTOTAL语句,将所述初始一维报表转换为二维报表;
在将所述初始一维报表转换为二维报表的过程中,根据所述需要转换的列,获得N个一级标题和M个二级标题,其中任意一个一级标题包括k个二级标题,M=N×k,N、M、k为正整数,并根据所述一级标题、所述二级标题和所述固定的列制作表头;
在所述表头中,第m个所述二级标题的最后一列,表示第m个所述二级标题中,前k-1列的第一统计结果,其中,k为第m个所述二级标题的总列数;
第N个所述一级标题的所在列之后还包括数据统计列,所述数据统计列,表示属于第N个所述一级标题的二级标题中,前k-1列的第二统计结果;
所述固定的列的最后一行之后还包括数据统计行,所述数据统计行,表示M个所述二级标题所在列的第三统计结果;
结果集获取模块,用于基于所述初始一维报表进行分组查询,获得结果集;
数据写入模块,用于根据分组查询的分组结果遍历所述结果集,并根据所述表头在所述二维报表中写入数据,以通过所述第一统计结果、所述第二统计结果和所述第三统计结果重新统计所述初始成绩信息。
本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上第一方面所提供的方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上第一方面所提供的方法的步骤。
本发明实施例提出一种基于二维报表转换的数据统计方法,通过第一SQL语句和第二SQL语句指定初始一维报表中固定的列和需要转换的列,并通过编辑SUBTOTAL语句,对需要转换的列和固定的列进行统计计算,以通过第一统计结果、第二统计结果和第三统计结果重新统计初始成绩信息,使得转换后的二维报表包括求和、平均等聚合运算结果,从而避免将一维表转换为二维表后,再进行求和、平均等聚合运算的步骤,也不再对已转换的二维表进行改动,且简化了操作步骤,提高数据统计及分析的效率。
附图说明
图1为本发明实施例提供的基于二维报表转换的数据统计方法的实现流程示意图;
图2为本发明实施例提供的初始一维报表的示意图;
图3为本发明实施例根据图2提供的仅制作了表头的二维报表的示意图;
图4为本发明实施例根据图2提供的结果集的示意图;
图5为本发明实施例根据图3和图4提供的二维报表示意图;
图6为本发明实施例根据图2提供的具有扩展标题信息时的仅制作了表头的二维报表的示意图;
图7为本发明实施例根据图2提供的仅具有一级标题时的仅制作了表头的二维报表的示意图
图8为本发明实施例提供的基于二维报表转换的数据统计装置的组成结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明的是,在本文中,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本文中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
如图1所示,本发明实施例提供了一种基于二维报表转换的数据统计方法,应用于基于学生考试成绩的统计分析场景,能够在将包括初始成绩信息的初始一维报表转换为二维报表时,对转换后的二维报表进行聚合运算,以使转换后的二维报表包括求和、平均等聚合运算结果。
其包括但不限于如下步骤:
S101、获取包括初始成绩信息的初始一维报表。
在上述步骤S101中,初始一维报表的每列都是独立属性,比如姓名、考试科目、成绩等,列和列之间不能归为一类,因此,本发明实施例中用于录入初始成绩信息。
如图2所示,本发明实施例中使用的初始成绩信息为某中学高一学生的成绩,图2中,每列的名称依次为:id、学生名、性别、就读学校、年级、班级、考试科目、考试成绩、考试类型以及考试月份。其每一行记录表示学生的考试科目,考试类型,考试月份和考试成绩。
S102、通过编辑第一SQL语句指定所述初始一维报表中固定的列,通过编辑第二SQL语句指定所述初始一维报表中需要转换的列。
S103、通过编辑SUBTOTAL语句,对所述需要转换的列和所述固定的列进行统计计算。
在上述步骤S102和步骤S103中,SQL(Structured Query Language,结构化查询语言)语句是一种数据库查询和程序设计语言,Subtotal语句实际上为实现求和、平均值、计数和最大值、最小值等数据统计所使用的函数。
在本发明实施例中,数据统计是对数据进行统计,因此,结合上述图2所示的一维报表,上述步骤S102中,通过编辑第一SQL语句指定的初始一维报表中固定的列,为属性不变的列,如名字,而通过编辑第二SQL语句指定的初始一维报表中需要转换的列,为属性变化的列,如考试类型和科目。则上述步骤S103中,通过编辑SUBTOTAL语句,对需要转换的列和固定的列进行统计计算,即为对数值进行统计计算,如基于各类考试成绩的平均分、总分。其中,各类考试成绩包括基于任一考试类型中,所有考试科目的考试成绩。
在实际应用中,上述编辑的第一SQL语句、第二SQL语句和SUBTOTAL语句,可以为transform table rtc_2 row name column testtype,subject statistics avg(score)subtotal sum(name)subtotal avg(testtype)subtotal sum(subject)INTO transform_case2_11;
上述语句中,rtc_2为源表名,transform_case2_11为目标表名,且结合图2所示的初始一维报表,本发明实施例中把名字作为的固定的列,把考试类型和考试科目作为需要转换的列。则在本发明实施例中,如下述图2为rtc_2,如下述图3和下述图5为transform_case2_11。
S104、执行编辑后的所述第一SQL语句、所述第二SQL语句和所述SUBTOTAL语句,将所述初始一维报表转换为二维报表。
在上述步骤S104中,执行的所述第一SQL语句、所述第二SQL语句和所述SUBTOTAL语句,可以为:SUBTOTAL avg(row.x)|sum(col.x);
其中,row表示编辑后的第一SQL语句所指定的固定的列,col表示编辑后的第二SQL语句所指定的需要转换的列,avg(row.x)和sum(col.x)表示编辑后的SUBTOTAL语句,其含义为同时对多个row求平均或总和,以及同时对多个col求平均或总和等聚合运算。
在将所述初始一维报表转换为二维报表的过程中,根据所述需要转换的列,获得N个一级标题和M个二级标题,其中任意一个一级标题包括k个二级标题,M=N×k,N、M、k为正整数,并根据所述一级标题、所述二级标题和所述固定的列制作表头;
在所述表头中,第m个所述二级标题的最后一列,表示第m个所述二级标题中,前k-1列的第一统计结果,其中,k为第m个所述二级标题的总列数;
第N个所述一级标题的所在列之后还包括数据统计列,所述数据统计列,表示属于第N个所述一级标题的二级标题中,前k-1列的第二统计结果;
所述固定的列的最后一行之后还包括数据统计行,所述数据统计行,表示M个所述二级标题所在列的第三统计结果;
在上述的根据所述需要转换的列,获得N个一级标题和M个二级标题中,其详细实现步骤可以为:
使用select语句获取所述一级标题和所述二级标题的来源;
用字段组将所述需要转换的列表示为具有所述一级标题的行和具有二级标题的行,所述字段组中的二级标题包括在所述一级标题下;
其中,所述字段组的第一个字段表示一级标题,所述字段组的第二个字段表示二级标题。
在实际应用中,上述步骤中的select语句可以为:
select testtype,subject from rtc_2 group by testtype,subject order bytesttype,subject;
则上述的一级标题来自于考试类型,上述的二级标题来自于考试科目。
可以理解的是,在属于一个一级标题下的二级标题中,最后一列二级标题表示为第一统计结果,在一级标题最后,还包括数据统计列,表示第二统计结果,因此,在实际应用中,上述的字段组可以为:{一模,数学}、{一模,语文}、{一模,第一统计结果}、{月考,数学}、{月考,文综}、{月考,理综}、{月考,英语}、{月考,语文}、{月考,第一统计结果}、{第二统计结果,-}。
可以理解的是,第一列为上述的固定的列,上述的字段组用于表示第一列以后的列数据。
在具体应用中,通过上述步骤S101至步骤S104,所获得的表头包括一级标题、所述二级标题和所述固定的列,还包括在位于第m个所述二级标题的最后一列,表示第m个所述二级标题中,前k-1列的第一统计结果;以及位于第N个所述一级标题的所在列之后的数据统计列,表示属于第N个所述一级标题的二级标题中,前k-1列的第二统计结果;以及位于所述固定的列的最后一行之后的数据统计行,表示M个所述二级标题所在列的第三统计结果。
结合上述图2所示的初始一维报表,则如图3所示,本发明实施例中的表头,实际上包括由考试类型、考试科目和名字,且还包括在位于第m个所述考试科目的最后一列,表示前k-1个考试科目的第一统计结果,第一统计结果可以是总分也可以是平均分,本发明实施例中此处取总分;以及位于第N个所述考试类型的所在列之后的数据统计列,表示属于第N个所述考试类型的考试科目中,前k-1个考试科目的第二统计结果,第二统计结果可以是总分也可以是平均分,本发明实施例中此处取平均分;以及位于所述名字的最后一行之后的数据统计行,表示M个所述考试科目所在列的第三统计结果,即基于所有人的每个考试科目的第三统计结果,第三统计结果可以是总分也可以是平均分,本发明实施例中此处取总分。
在本发明实施例中,执行上述步骤S101至步骤S104之后,获得的二维报表中仅包括表头,并未写入数据,因此,本发明实施例还需结合初始一维报表中的数据,完成二维报表的构建。
S105、基于所述初始一维报表进行分组查询,获得结果集。
S106、根据分组查询的分组结果遍历所述结果集,并根据所述表头在所述二维报表中写入数据,以通过所述第一统计结果、所述第二统计结果和所述第三统计结果重新统计所述初始成绩信息。
在本发明实施例中,结合如图2所示的初始一维报表,上述步骤S106中需要写入的数据为各考试科目的成绩,即考试成绩。
在写入数据之前,本发明实施例还通过上述步骤S105对初始一维报表进行处理,便于步骤S106中的数据写入。
在一个实施例中,上述步骤S105的基于所述初始一维报表进行分组查询,获得结果集中,其详细实现步骤可以为:
根据所述初始一维报表中的行名、列名以及统计函数进行分组查询,获得结果集。
在本发明实施例中,结合上述图2所示的初始一维报表,进行分组查询后获得的结果集如图4所示。图4中,结果集仍为一维表,但根据名字进行了分组,第2列至第4列分别为基于第1列所示的名字,进行统计的考试类型、考试科目和考试成绩。
在实际应用中,分组查询也可以用select语句执行,示例性的为:
select name,testtype,subject,avg(score)from rtc_2 group by name,testtype,subject order by name,testtype,subject;
其中,对于各考试科目的考试成绩,本发明实施例中用平均分表示,例如学生A的月考成绩包括十月份的月考成绩和十二月份的月考成绩,则对于月考这一考试类型的数学科目考试成绩,本发明实施例中用平均分表示。
则上述步骤S106的根据分组查询的分组结果遍历所述结果集,并根据所述表头写入数据,包括如下详细实现步骤:
根据分组查询的分组结果遍历所述结果集,获取到第i个数据时,将第i个数据插入到字符串指针中,所述字符串指针表示第i个数据与所述二级标题的位置对应关系;
获取到第j个数据时,若所述字符串指针中的数据完全表示第n个所述一级标题下的k个所述二级标题,则将所述第i个数据至所述第j个数据填入第n个所述一级标题下的k个所述二级标题所表示的列中。
其中,i小于j,n为小于或者等于N的正整数,i、j、k、n为正整数。
本发明实施例中,每读取到一个数据时,就将此数据插入到一个字符串指针中,直至某一行数据读取完毕,然后再填入到仅制作了表头的二维表中。
结合上述图2所示的初始一维报表、上述图3所示的仅制作了表头的二维报表,以及上述图4所示的数据集,如图5所示,本发明实施例还示出了通过第一统计结果、第二统计结果和第三统计结果重新统计初始成绩信息的二维报表,图5中,当名字为A的学生的一模数据,即基于数学、语文两个考试科目的考试成绩,以及基于上述两个考试成绩的第一统计结果均被插入字符串指针中时,上述的三个数据写入第一个一级标题(即考试类型)下的3个二级标题(即考试科目)所表示的列(即考试成绩和第一统计数据)中。
且图5中,第一统计数据为基于一模的考试总成绩,基于月考的考试总成绩,第二统计结果为基于月考的考试平均分,第三统计结果为一模中,学生A和学生B的数学考试总分、学生A和学生B的语文考试总分、学生A和学生B的两科考试总分的总和,以及月考中,学生A和学生B的数学考试总分、学生A和学生B的文综考试总分、学生A和学生B的理综考试总分、学生A和学生B的英语考试总分、学生A和学生B的语文考试总分、学生A和学生B的五科考试总分的总和,以及月考中,学生A和学生B的五科考试平均分的总和。
可见,本发明实施例通过上述步骤S101至步骤S106,通过SUBTOTAL语句实现了使用第一统计结果、第二统计结果和第三统计结果重新统计初始成绩信息的效果,从而避免了将一维表转换为二维表后,再进行求和、平均等聚合运算的步骤,也不再对已转换的二维表进行改动,且简化了操作步骤,提高数据统计效率。
在具体应用中,将所述初始一维报表转换为二维报表的过程中,初始一维报表可能包括相互关联的多类信息,如图2中,考试类型包含了考试科目,考试科目包括考试成绩,且考试科目还根据考试时间进行统计,因此,在生成二维报表时,还可能包括三级标题、四级标题等。
则本发明实施例中,在将所述初始一维报表转换为二维报表的过程中,根据所述需要转换的列,获得N个一级标题和M个二级标题,并根据所述一级标题、所述二级标题和所述固定的列制作表头之前,还包括:
检测所述编辑后的所述第一SQL语句、所述第二SQL语句和所述SUBTOTAL语句是否包括扩展标题信息;
若包括所述扩展标题信息,则根据所述扩展标题信息,获得新的标题,并使用新的标题和所述固定的列制作所述新的表头;
所述新的标题包括Pa级标题,Pa=1,2,3,..,A,其中任意一个Pa-1级标题包括k个Pa级标题,A为正整数。
在具体应用中,扩展标题信息为编辑第一SQL语句、第二SQL语句和SUBTOTAL语句时,所指定的需要转换的列,若需要转换的列中的信息,大于2,则会生成上述的扩展标题信息。
同样以上图2中的数据为例,若编辑的第一SQL语句、第二SQL语句和SUBTOTAL语句为:
transform table rtc_2 row name column testtype,date,subjectstatistics avg(score)subtotal sum(name)subtotal avg(testtype)subtotal sum(subject)INTO transform_case2_11;
其中,“column testtype,date,subject”说明此时还需要将考试日期这一列进行转换,则编辑后的第一SQL语句、第二SQL语句和SUBTOTAL语句包括扩展标题信息,扩展标题信息和原本的一级标题和二级标题相比,考试类型仍为一级标题,考试日期将作为新的二级标题,考试科目为新的三级标题,即本实施例中,根据扩展标题信息、一级标题和二级标题,获得新的标题,新的标题包括一级标题二级标题和三级标题,为考试类型-考试日期-考试科目,制作的新的表头如图6所示。
图6所示新的表头中,由于具有一级标题二级标题和三级标题,因此,Pa为3,根据图5所示的表头,可以想到的是,图6中属于二级标题的三级标题中,其最后一列,表示这个二级标题中,前k3-1列的第一统计结果,其中,k3为这个二级标题中三级标题的总列数。图6中,共有3个二级标题,在第1个二级标题中,k3=3,在第2个二级标题中,k3=5,在第3个二级标题中,k3=5。结合图6所示的表格内容,则第一统计结果可以为某学生在一模这一考试类型中,十月份的考试科目成绩总和,以及某学生在月考这一考试类型中,十月份的考试科目成绩总和,和十月份的考试科目成绩总和。
本发明实施例中,还对二级标题进行统计,则二级标题的所在列之后还包括扩展统计列,扩展统计列,表示属于一级标题的k2个二级标题中,三级标题所在列的第二统计结果,如图6中,共有2个一级标题,在第1个一级标题中,k2=1,且在此1个二级标题中,三级标题所在列为3。在第2个一级标题中,k2=2,且在此2个二级标题中,三级标题所在列均为5。结合图6所示的表格内容,则第二统计结果可以为,基于某学生在月考这一考试类型中,基于十月份的考试科目成绩总和和十月份的考试科目成绩总和这两者的平均值,
根据图5所示的表头,可以想到的是,图6中,最后一个一级标题的所在列之后还包括数据统计列,数据统计列,表示所有三级标题的所在列的第三统计结果。且固定的列的最后一行之后还包括数据统计行,数据统计行,表示三级标题所在列的第四统计结果。结合图6所示的表格内容,则第三统计结果可以为,某学生在月考这一考试类型中,第一统计结果、第二统计结果的平均值,第四统计结果可以为在一模和月考这两种考试类型中,基于每次考试中每类考试科目,所有学生的成绩总和,以及每列第一统计结果、第二统计结果和第三统计结果的总和。
可以想到的是,使用select语句获取新的标题的来源,则可以为:
select testtype,subject from rtc_2 group by testtype,date,subjectorder by testtype,date,subject;
在具体应用中,若需要统计的数据并不需要分类,则二级标题也可以为空,因此,在生成的表头中,仅包括一级标题,此时第N个所述一级标题的所在列之后还包括数据统计列,所述数据统计列,表示所述一级标题中,前N-1列的第一统计结果。如图7所示,本发明实施例还结合上述图2所示的初始一维报表,示出了仅包括一级标题的表头的二维报表,图7中将图2中的第2列作为固定的列,将第7列作为需要转换的列,第7列中的考试科目有重复,但根据上述步骤S106,对于各考试科目的考试成绩,本发明实施例中用平均分表示,因此,可以想到的是,对于重复的考试科目用同一个一级标题表示,且图7中各一级标题下的考试成绩,用平均分表示。
如图8所示,本发明实施例还提供一种基于二维报表转换的数据统计装置80,包括:
初始成绩信息获取模块81,用于获取包括初始成绩信息的初始一维报表;
指定模块82,用于通过编辑第一SQL语句指定初始一维报表中固定的列,通过编辑第二SQL语句指定初始一维报表中需要转换的列;
统计计算模块83,用于通过编辑SUBTOTAL语句,对需要转换的列和固定的列进行统计计算;
二维报表转换模块84,用于执行编辑后的第一SQL语句、第二SQL语句和SUBTOTAL语句,将初始一维报表转换为二维报表;
在将初始一维报表转换为二维报表的过程中,根据需要转换的列,获得N个一级标题和M个二级标题,其中任意一个一级标题包括k个二级标题,M=N×k,N、M、k为正整数,并根据一级标题、二级标题和固定的列制作表头;
在表头中,第m个二级标题的最后一列,表示第m个二级标题中,前k-1列的第一统计结果,其中,k为第m个二级标题的总列数;
第N个一级标题的所在列之后还包括数据统计列,数据统计列,表示属于第N个一级标题的二级标题中,前k-1列的第二统计结果;
固定的列的最后一行之后还包括数据统计行,数据统计行,表示M个二级标题所在列的第三统计结果;
结果集获取模块85,用于基于初始一维报表进行分组查询,获得结果集;
数据写入模块86,用于根据分组查询的分组结果遍历结果集,并根据表头在二维报表中写入数据,以通过第一统计结果、第二统计结果和第三统计结果重新统计初始成绩信息。
本发明实施例还提供一种终端设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述实施例中的基于二维报表转换的数据统计方法中的各个步骤。
本发明实施例还提供一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述实施例中的基于二维报表转换的数据统计方法中的各个步骤。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于二维报表转换的数据统计方法,其特征在于,包括:
获取包括初始成绩信息的初始一维报表;
通过编辑第一SQL语句指定所述初始一维报表中固定的列,通过编辑第二SQL语句指定所述初始一维报表中需要转换的列;
通过编辑SUBTOTAL语句,对所述需要转换的列和所述固定的列进行统计计算;
执行编辑后的所述第一SQL语句、所述第二SQL语句和所述SUBTOTAL语句,将所述初始一维报表转换为二维报表;
在将所述初始一维报表转换为二维报表的过程中,根据所述需要转换的列,获得N个一级标题和M个二级标题,其中任意一个一级标题包括k个二级标题,M=N×k,N、M、k为正整数,并根据所述一级标题、所述二级标题和所述固定的列制作表头;
在所述表头中,第m个所述二级标题的最后一列,表示第m个所述二级标题中,前k-1列的第一统计结果,其中,k为第m个所述二级标题的总列数,m为小于或者等于M的正整数;
第N个所述一级标题的所在列之后还包括数据统计列,所述数据统计列,表示属于第N个所述一级标题的二级标题中,前k-1列的第二统计结果;
所述固定的列的最后一行之后还包括数据统计行,所述数据统计行,表示M个所述二级标题所在列的第三统计结果;
基于所述初始一维报表进行分组查询,获得结果集;
根据分组查询的分组结果遍历所述结果集,并根据所述表头在所述二维报表中写入数据,以通过所述第一统计结果、所述第二统计结果和所述第三统计结果重新统计所述初始成绩信息。
2.如权利要求1所述的基于二维报表转换的数据统计方法,其特征在于,根据所述需要转换的列,获得N个一级标题和M个二级标题,包括:
使用select语句获取所述一级标题和所述二级标题的来源;
用字段组将所述需要转换的列表示为具有所述一级标题的行和具有二级标题的行,所述字段组中的二级标题包括在所述一级标题下;
其中,所述字段组的第一个字段表示一级标题,所述字段组的第二个字段表示二级标题。
3.如权利要求1所述的基于二维报表转换的数据统计方法,其特征在于,基于所述初始一维报表进行分组查询,获得结果集,包括:
根据所述初始一维报表中的行名、列名以及统计函数进行分组查询,获得结果集。
4.权利要求3所述的基于二维报表转换的数据统计方法,其特征在于,根据分组查询的分组结果遍历所述结果集,并根据所述表头写入数据,包括:
根据分组查询的分组结果遍历所述结果集,获取到第i个数据时,将第i个数据插入到字符串指针中,所述字符串指针表示第i个数据与所述二级标题的位置对应关系;
获取到第j个数据时,若所述字符串指针中的数据完全表示第n个所述一级标题下的k个所述二级标题,则将所述第i个数据至所述第j个数据填入第n个所述一级标题下的k个所述二级标题所表示的列中,其中,i小于j,n为小于或者等于N的正整数,i、j、k、n为正整数。
5.如权利要求1所述的基于二维报表转换的数据统计方法,其特征在于,在将所述初始一维报表转换为二维报表的过程中,根据所述需要转换的列,获得N个一级标题和M个二级标题,并根据所述一级标题、所述二级标题和所述固定的列制作表头之前,包括:
检测所述编辑后的所述第一SQL语句、所述第二SQL语句和所述SUBTOTAL语句是否包括扩展标题信息;
若包括所述扩展标题信息,则根据所述扩展标题信息获得新的标题,并使用新的标题和所述固定的列制作所述新的表头;
所述新的标题包括Pa级标题,Pa=1,2,3,..,A,其中任意一个Pa-1级标题包括k个Pa级标题,A为正整数。
6.如权利要求1所述的基于二维报表转换的数据统计方法,其特征在于,所述二级标题为空时,在所述表头中,第N个所述一级标题的所在列之后还包括数据统计列,所述数据统计列,表示所述一级标题中,前N-1列的第一统计结果。
7.一种基于二维报表转换的数据统计装置,其特征在于,包括:
初始成绩信息获取模块,用于获取包括初始成绩信息的初始一维报表;
指定模块,用于通过编辑第一SQL语句指定所述初始一维报表中固定的列,通过编辑第二SQL语句指定所述初始一维报表中需要转换的列;
统计计算模块,用于通过编辑SUBTOTAL语句,对所述需要转换的列和所述固定的列进行统计计算;
二维报表转换模块,用于执行编辑后的所述第一SQL语句、所述第二SQL语句和所述SUBTOTAL语句,将所述初始一维报表转换为二维报表;
在将所述初始一维报表转换为二维报表的过程中,根据所述需要转换的列,获得N个一级标题和M个二级标题,其中任意一个一级标题包括k个二级标题,M=N×k,N、M、k为正整数,并根据所述一级标题、所述二级标题和所述固定的列制作表头;
在所述表头中,第m个所述二级标题的最后一列,表示第m个所述二级标题中,前k-1列的第一统计结果,其中,k为第m个所述二级标题的总列数;
第N个所述一级标题的所在列之后还包括数据统计列,所述数据统计列,表示属于第N个所述一级标题的二级标题中,前k-1列的第二统计结果;
所述固定的列的最后一行之后还包括数据统计行,所述数据统计行,表示M个所述二级标题所在列的第三统计结果;
结果集获取模块,用于基于所述初始一维报表进行分组查询,获得结果集;
数据写入模块,用于根据分组查询的分组结果遍历所述结果集,并根据所述表头在所述二维报表中写入数据,以通过所述第一统计结果、所述第二统计结果和所述第三统计结果重新统计所述初始成绩信息。
8.一种终端设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1至6任一项所述的基于二维报表转换的数据统计方法中的各个步骤。
9.一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至6任一项所述的基于二维报表转换的数据统计方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011051902.XA CN112115683A (zh) | 2020-09-29 | 2020-09-29 | 一种基于二维报表转换的数据统计方法、装置及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011051902.XA CN112115683A (zh) | 2020-09-29 | 2020-09-29 | 一种基于二维报表转换的数据统计方法、装置及终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112115683A true CN112115683A (zh) | 2020-12-22 |
Family
ID=73797372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011051902.XA Pending CN112115683A (zh) | 2020-09-29 | 2020-09-29 | 一种基于二维报表转换的数据统计方法、装置及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112115683A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050010566A1 (en) * | 2003-05-27 | 2005-01-13 | David Cushing | System and method of multidimensional query results processing |
CN102841935A (zh) * | 2012-08-08 | 2012-12-26 | 西北大学 | 一种高维数据管理及关联数据动态对比显示方法 |
CN109213776A (zh) * | 2017-06-30 | 2019-01-15 | 北京神州泰岳软件股份有限公司 | 一种报表展现方法和装置 |
CN109697211A (zh) * | 2018-12-07 | 2019-04-30 | 用友网络科技股份有限公司 | 交叉表导出数据的处理方法及系统、计算机可读存储介质 |
CN110019224A (zh) * | 2017-12-21 | 2019-07-16 | 天津数观科技有限公司 | 一种基于树搜索的交叉表头生成方法 |
-
2020
- 2020-09-29 CN CN202011051902.XA patent/CN112115683A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050010566A1 (en) * | 2003-05-27 | 2005-01-13 | David Cushing | System and method of multidimensional query results processing |
CN102841935A (zh) * | 2012-08-08 | 2012-12-26 | 西北大学 | 一种高维数据管理及关联数据动态对比显示方法 |
CN109213776A (zh) * | 2017-06-30 | 2019-01-15 | 北京神州泰岳软件股份有限公司 | 一种报表展现方法和装置 |
CN110019224A (zh) * | 2017-12-21 | 2019-07-16 | 天津数观科技有限公司 | 一种基于树搜索的交叉表头生成方法 |
CN109697211A (zh) * | 2018-12-07 | 2019-04-30 | 用友网络科技股份有限公司 | 交叉表导出数据的处理方法及系统、计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
MOLRANG: "报表测试系列", Retrieved from the Internet <URL:博客园> * |
郑毅 等: "将纵向数据列表转化为横向数据字段的实现方法", 武汉工程职业技术学院学报, 15 December 2007 (2007-12-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kim et al. | Using the Bollen-Stine bootstrapping method for evaluating approximate fit indices | |
CN106886509B (zh) | 一种学位论文格式自动检测方法 | |
CN102662930B (zh) | 一种语料标注方法及装置 | |
Pollock | An SPSS companion to political analysis | |
CN107220274B (zh) | 一种可视化数据接口集市实现方法 | |
CN110334122A (zh) | 教育数据的查询分析方法及系统 | |
Reiche et al. | Assessment and visualization of metadata quality for open government data | |
US20190272769A1 (en) | Information processing device, information processing method, and non-transitory computer readable medium storing information processing program | |
CN110837471B (zh) | 一种测试方法、装置、服务器及存储介质 | |
CN110334088A (zh) | 教育数据管理系统 | |
Lungo | The reliability and usability of district health information software: case studies from Tanzania | |
CN114417012A (zh) | 一种生成知识图谱的方法和电子设备 | |
CN108665751A (zh) | 一种基于云文档的交互式测评方法及系统 | |
Csernoch | From webtables to datatables | |
CN112115683A (zh) | 一种基于二维报表转换的数据统计方法、装置及终端设备 | |
Lukman et al. | Studying student statistical literacy in statistics lectures on higher education using grounded theory approach | |
Mohler et al. | A survey process quality perspective on documentation | |
Fernández et al. | Overview of available learner corpora | |
CN112989783B (zh) | 一种智能组卷装置及方法 | |
Hembree | Model for meta-analysis of research in education, with a demonstration in mathematics education: Effects of hand-held calculators | |
Zhu et al. | Development and validation of information literacy assessment tool for primary students | |
Poon et al. | Toward more robust automatic analysis of student program outputs for assessment and learning | |
CN110929012A (zh) | 一种从题库自动生成讲义的方法及系统 | |
US20190018825A1 (en) | Automatic claim-writing device | |
Hunter-Thomson | Interdisciplinary Ideas: How Can We Better Move From Data to Meaning? Get Data Ready to Use!(Data Literacy 101) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |