表单统计方法和装置制造方法及图纸

技术编号:4041197 阅读:233 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种表单统计方法,包括:步骤102,输入表单;步骤104,根据全局条件和表单的每行的行条件,对每行进行统计,获得对应每行的行数据,根据全局条件和表单的每列的列条件,对每列进行统计,获得对应每列的列数据;步骤106,从行数据和列数据中找到类型相同的行数据和列数据,对所找到的行数据或列数据进行统计处理。本发明专利技术还提供了一种表单统计装置。根据本发明专利技术的技术方案,可以表单统计时的查询次数大幅降低,并能减少对实际业务表的竞争,有利于提高并发度。

【技术实现步骤摘要】

本专利技术涉及一种表单统计方法和装置
技术介绍
对于一般的表单而言,一个维度内属性值是数据库一个字段的枚举,例如表1是 学历和人员类别的投影分析,学历维度的值就是学历字段值的枚举,同样人员类别维度的 值是人员类别字段值的枚举,对这样的表单进行统计可以通过sql语法的group by或者在 内存中分组的方式实现。 表1而有一些表单的一个维度的取值范围来源是通过复杂条件定义的来源于不同的 表、字段的值,由于条件无规律,不能通过sql语法的group by统计,例如表2中列表头混 合了性别、民族、政治面貌、学历等多个维度。由于篇幅限制,隐掉了部分列表头、行表体,实 际的表样的行、列的数量很大,均可以达到60至70。由于涉及的表和字段条件较大,加载到内存分析统计非常消耗内存资源,一般的统计方式就是逐个单元格进行计算,效率很低。 表2对于MXN的二维统计分析报表,通过MXN次数据库sql查询,每条查询语句的格 式如下查询 = Select统计类型(统计主体)from表连接树where全局条件and行条 件 1 and列条件n统计类型可以是 统计主体可以是数据字典中人员,组织或薪酬的任何有意义字段;表连接树是由根据数据字典生成的物理表间的连接关系,一般会形成一个树状结 构;全局条件是用来限定统计分析的范围;行条件m是第m行的限定条件;列条件n是第η行的限定条件。以表2为例,表样中有11列15行,根据上面的算法,要逐个遍历单元格执行 11X15 = 161 次查询第1次查询select count (人员主键)from业务表连接树where内部董事的条 件集合and性别等于女的条件集合;第2次查询select count (人员主键)from业务表连接树where内部董事的条 件集合and少数民族的条件集合;第3次查询select count (人员主键)from业务表连接树where内部董事的条 件集合and政治面貌为党员的的条件集合;......................................................第159次查询select count (人员主键)from业务表连接树where其他党群工 作者的条件集合and学历为大学本科的条件集合;第160次查询select count (人员主键)from业务表连接树where其他党群工 作者的条件集合and学历为大学专科的条件集合;第161次查询select count (人员主键)from业务表连接树where其他党群工 作者的条件集合and学历为中专的条件集合。由于企业统计分析应用不断深化、细化,采用上述方法会使得效率问题凸显。用户 的希望报表详尽细致,统计维度的长度不断增加(即m或η的值),传统的计算方法,已经无 法满足如此巨大的统计区域,计算效率极低,有时一张表甚至要算几个小时。因此,需要一种新的表单统计方式,能够快速有效地对维度长度大、内容复杂的表单进行统计。
技术实现思路
本专利技术所要解决的技术问题在于,需要一种新的表单统计方式,能够快速有效地 对维度长度大、内容复杂的表单进行统计。有鉴于此,本专利技术公开了一种表单统计方法,包括步骤102,输入表单;步骤104, 根据全局条件和所述表单的每行的行条件,对所述每行进行统计,获得对应所述每行的行 数据,根据全局条件和所述表单的每列的列条件,对所述每列进行统计,获得对应所述每列 的列数据;步骤106,从所述行数据和所述列数据中找到类型相同的行数据和列数据,对所 找到的行数据或列数据进行统计处理。在上述技术方案中,优选地,所述步骤104还包括将所述行数据记录在行临时表 中,将所述列数据记录在列临时表中。在上述技术方案中,优选地,所述步骤104包括通过行数据库命令,按所述全局 条件和所述每行的行条件对所述每行进行统计,得到所述行数据,通过列数据库命令,按所 述全局条件和所述每列的列条件对所述每列进行统计,得到所述列数据。在上述技术方案中,优选地,所述步骤104还包括将所有的所述行数据库命令和 所有的所述列数据库命令都存储于存储器中,以对所述表单的所有行和所有列进行批量统 计。在上述技术方案中,优选地,所述行临时表和所述列临时表均从缓冲池中获取。本专利技术还提供了一种表单统计装置,包括输入模块,输入表单;行列统计模块, 根据全局条件和所述表单的每行的行条件,对所述每行进行统计,获得对应所述每行的行 数据,根据全局条件和所述表单的每列的列条件,对所述每列进行统计,获得对应所述每列 的列数据;汇总统计模块,从所述行数据和所述列数据中找到类型相同的行数据和列数据, 对所找到的行数据或列数据进行统计处理。在上述技术方案中,优选地,所述行列统计模块将所述行数据记录在行临时表中, 将所述列数据记录在列临时表中。在上述技术方案中,优选地,所述行列统计模块通过行数据库命令,按所述全局条 件和所述每行的行条件对所述每行进行统计,得到所述行数据,通过列数据库命令,按所述 全局条件和所述每列的列条件对所述每列进行统计,得到所述列数据。在上述技术方案中,优选地,还包括存储器模块,存储所有的所述行数据库命令 和所有的所述列数据库命令,以对所述表单的所有行和所有列进行批量统计。在上述技术方案中,优选地,还包括缓冲池模块,为所述行统计模块提供所述行 临时表,为所述列统计模块提供所述列临时表。根据本专利技术的技术方案,可以实现一种表单统计方法和装置,能够快速有效地对 表单进行统计。附图说明图1是根据本专利技术的表单统计方法的流程图;图2是根据本专利技术的表单统计装置的框图3是根据本专利技术的一个实施例的表单统计方法的流程图。 具体实施例方式以下将参考附图详细描述根据本专利技术的实施例。图1是根据本专利技术的表单统计方法的流程图。如图1所示,本专利技术提供了一种表单统计方法,包括步骤102,输入表单;步骤 104,根据全局条件和所述表单的每行的行条件,对所述每行进行统计,获得对应所述每行 的行数据,根据全局条件和所述表单的每列的列条件,对所述每列进行统计,获得对应所述 每列的列数据;步骤106,从所述行数据和所述列数据中找到类型相同的行数据和列数据, 对所找到的行数据或列数据进行统计处理。在上述技术方案中,所述步骤104还包括将所述行数据记录在行临时表中,将所 述列数据记录在列临时表中。在上述技术方案中,所述步骤104包括通过行数据库命令,按所述全局条件和所 述每行的行条件对所述每行进行统计,得到所述行数据,通过列数据库命令,按所述全局条 件和所述每列的列条件对所述每列进行统计,得到所述列数据。在上述技术方案中,所述步骤104还包括将所有的所述行数据库命令和所有的 所述列数据库命令都存储于存储器中,以对所述表单的所有行和所有列进行批量统计。在上述技术方案中,所述行临时表和所述列临时表均从缓冲池中获取。图2是根据本专利技术的表单统计装置的框图。如图2所示,本专利技术还提供了一种表单统计装置200,包括输入模块202,输入表 单;行列统计模块204,根据全局条件和所述表单的每行的行条件,对所述每行进行统计, 获得对应所述每行的行数据,根据全局条件和所述表单的每列的列条件,对所述每列进行 统计,获得对应所述每列的列数据;汇总统计模块206,从所述本文档来自技高网
...

【技术保护点】
一种表单统计方法,其特征在于,包括:步骤102,输入表单;步骤104,根据全局条件和所述表单的每行的行条件,对所述每行进行统计,获得对应所述每行的行数据,以及根据全局条件和所述表单的每列的列条件,对所述每列进行统计,获得对应所述每列的列数据;步骤106,从所述行数据和所述列数据中找到类型相同的行数据和列数据,对所找到的行数据或列数据进行统计处理。

【技术特征摘要】

【专利技术属性】
技术研发人员:王海
申请(专利权)人:用友软件股份有限公司
类型:发明
国别省市:11[中国|北京]

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

1