CN101719131B - 一种报表数据的处理方法、装置和系统 - Google Patents
一种报表数据的处理方法、装置和系统 Download PDFInfo
- Publication number
- CN101719131B CN101719131B CN 200910188537 CN200910188537A CN101719131B CN 101719131 B CN101719131 B CN 101719131B CN 200910188537 CN200910188537 CN 200910188537 CN 200910188537 A CN200910188537 A CN 200910188537A CN 101719131 B CN101719131 B CN 101719131B
- Authority
- CN
- China
- Prior art keywords
- report
- data
- formula
- sign
- appointment
- 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.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明适用于数据处理领域,提供了一种报表数据的处理方法、装置和系统,所述方法包括下述步骤:接收输入的报表或修改后的报表,并将接收的报表以二进制流的形式存储至快照表中,所述快照表为数据表,用于以二进制流的形式存储上报的报表;从快照表中指定的报表中读取指定的报表数据;采用预设的汇总公式对读取的报表数据进行汇总处理。本发明实施例通过将上报的报表以二进制流的形式存储至快照表中,采用汇总报表中预设的取数公式从快照表中指定的报表中获取指定的报表数据,并对获取的报表数据进行汇总处理,从而可以实现高效、快速的报表汇总上报,降低报表汇总上报的复杂度和报表数据的维护难度。
Description
技术领域
本发明属于数据处理领域,尤其涉及一种报表数据的处理方法、装置和系统。
背景技术
在现有的数据管理系统,如企业资源管理(Enterprise Resource Planning,ERP)系统,一般都具有强大的数据管理和控制功能。在对数据进行管理和控制过程中,不可避免的涉及到报表的汇总上报,即下级单位的用户填写报表或者对原有报表中的数据进行修改后,上报至上级单位,上级单位对多个下级单位上报的报表的数据进行汇总处理,以实现对报表数据的统计和分析。
在现有的数据管理系统中,为实现报表的汇总上报,一般需要建立与上报的报表对应的数据库表,下级单位的用户填写报表或者对原有报表的数据进行修改后,采用回填机制将这些报表的数据记录与报表对应的数据库表中。上级单位在对报表进行汇总时,读取下级单位保存到数据库表中的报表的数据进行汇总处理。现有的报表的汇总上报方法虽然也可以满足报表的汇总上报需求,但由于不同的报表需要建立对应的数据库表来存储报表的数据,从而当报表的格式比较复杂,如报表中的数据存在主从关系时,数据库表结构会变得比较复杂,同时当上报的报表的格式发生变化时,与该报表对应的数据库表结构也要进行相应的调整,给报表上报带来极大的不便。另外,需要在报表中实现增加、删除、修改、查询等一整套更新机制才能实现对报表中的数据进行维护的目的。由此可见,现有报表汇总上报方法的复杂度高、数据维护难度大,导致报表汇总上报的效率低下。
发明内容
本发明实施例的目的在于提供一种报表数据的处理方法,旨在解决现有的报表数据的处理方法复杂度高、数据维护难度大、效率低的问题。
本发明实施例是这样实现的,一种报表数据的处理方法,所述方法包括下述步骤:
接收输入的报表或修改后的报表,并将接收的报表以二进制流的形式存储至快照表中,所述快照表为数据表,用于以二进制流的形式存储所述接收的报表,所述快照表包括报表标识字段和报表内容字段,所述报表标识字段用于唯一标识数据管理系统中的报表,报表内容字段是指存储至快照表中的报表的数据;
采用汇总报表中预设的取数公式,从快照表中指定的报表中读取指定的报表数据,采用预设的汇总公式对读取的报表数据进行汇总处理,或者,
采用汇总报表中预设的页签生成公式将快照表中指定的报表以页签形式插入至汇总报表中,并采用汇总报表中预设的汇总公式对指定的报表中的指定的报表数据进行汇总处理。
本发明实施例的另一目的在于提供一种报表数据的处理装置,所述装置包括:
存储单元,用于存储快照表,所述快照表为数据表,用于以二进制流的形式存储上报的报表,所述快照表包括报表标识和报表内容字段,所述报表标识字段用于唯一标识数据管理系统中的报表,报表内容是指存储至快照表中的报表的数据;
报表上报单元,用于接收输入的报表或修改后的报表,并将接收的报表以二进制流的形式存储至所述存储单元的快照表中;
报表数据读取单元,用于从所述存储单元的快照表中指定的报表中读取指定的报表数据,所述报表数据读取单元包括指定数据读取模块或者页签生成模块,所述指定数据读取模块用于采用汇总报表中预设的取数公式,从快照表中指定的报表中读取指定的报表数据,所述页签生成模块用于采用汇总报表中预设的页签生成公式将所述存储单元中快照表中的指定的报表以页签的形式插入至汇总报表中;
报表数据汇总单元,用于在所述报表数据读取单元包括指定数据读取模块时,采用预设的汇总公式对所述报表数据读取单元读取的报表数据进行汇总处理,在所述报表数据读取单元包括页签生成模块时,采用汇总报表中预设的汇总公式对指定的报表中的指定的报表数据进行汇总处理。
本发明实施例的另一目的在于提供一种数据管理系统,所述系统包括所述报表数据的处理装置。
在本发明实施例中,接收输入的报表或修改后的报表,并将报表以二进制流的形式存储至快照表中,从快照表中指定的报表中获取指定的报表数据,并对获取的报表数据进行汇总处理,从而高效、快速的实现报表的汇总上报,降低报表汇总上报的复杂度和报表数据的维护难度。
附图说明
图1是本发明第一实施例提供的报表数据的处理方法的实现流程图;
图2是本发明第二实施例提供的报表数据的处理方法的实现流程图;
图3是本发明第三实施例提供的报表数据的处理方法的实现流程图;
图4是本发明第四实施例提供的报表数据的处理方法的实现流程图;
图5是本发明第一实施例提供的报表数据的处理装置的结构框图;
图6是本发明第二实施例提供的报表数据的处理装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,接收输入的报表或修改后的报表,并将报表以二进制流的形式存储至快照表中,从存储在快照表中的指定的报表中获取指定的报表数据,并对获取的报表数据进行汇总处理,由于采用快照表以二进制流的形式存储所有上报的报表,因此,可以高效、快速的实现报表的汇总上报。
本发明提供了一种报表数据的处理方法、装置和数据管理系统:
接收输入的报表或修改后的报表,并将接收的报表以二进制流的形式存储至快照表中,所述快照表为数据表,用于以二进制流的形式存储上报的报表;
从快照表中指定的报表中读取指定的报表数据;
采用预设的汇总公式对读取的报表数据进行汇总处理。
所述装置包括:存储单元,用于存储快照表,所述快照表为数据表,用于以二进制流的形式存储上报的报表;
报表上报单元,用于接收输入的报表或修改后的报表,并将接收的报表以二进制流的形式存储至所述存储单元的快照表中;
报表数据读取单元,用于从所述存储单元的快照表中指定的报表中读取指定的报表数据;
报表数据汇总单元,用于采用预设的汇总公式对所述报表数据读取单元读取的报表数据进行汇总处理。
所述数据管理系统包括所述报表数据的处理装置。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
图1示出了本发明第一实施例提供的报表数据的处理方法的实现流程,详述如下:
在步骤S101中,接收输入的报表或修改后的报表,并将接收的报表以二进制流的形式存储至快照表中。
在本发明实施例中,下级单位的用户通过运行上报报表,填写报表,或者对报表中的数据进行调整并发送保存指令后,将上报的报表存储至快照表中。
其中,快照表为数据表,用于以二进制流的形式存储上报的报表,其包括但不限于报表标识和报表内容字段。
报表标识字段用于唯一标识数据管理系统中的报表。在本发明实施例中,该报表标识字段可以包括上报时间信息、上报单位信息和报表名称信息。其中上报时间信息是指报表上报到快照表中的时间信息。上报单位信息是指将报表上报到快照表的单位信息。报表名称是上报到快照表中的报表的名称信息。
报表内容是指存储至快照表中的报表的数据。在本发明实施例中,该报表的数据是以二进制流的形式存储至快照表的报表内容字段中。举例说明如下:
假设A公司2009年6月上报的岗位学历结构表如表1.1所示,B公司2009年6月上报的岗位学历结构表如表1.2所示:
表1.1
博士 | 研究生 | 本科 | 大专 | 中专及以下 | |
总经理 | 0 | 0 | 1 | 0 | 0 |
副总经理 | 0 | 2 | 0 | 0 | 0 |
部门经理 | 1 | 1 | 2 | 0 | 0 |
项目经理 | 0 | 1 | 6 | 6 | 0 |
工程师 | 3 | 5 | 52 | 29 | 6 |
表1.2
博士 | 研究生 | 本科 | 大专 | 中专 | 小学 | |
总经理 | 0 | 0 | 1 | 0 | 0 | 0 |
副总经理 | 0 | 2 | 0 | 0 | 0 | 1 |
部门经理 | 1 | 2 | 2 | 0 | 0 | 0 |
项目经理 | 0 | 1 | 6 | 6 | 0 | 0 |
工程师 | 3 | 10 | 60 | 29 | 6 | 0 |
则将表1所示的报表和表2所示的报表上报,存储至快照表后,快照表如表1.3所示:
表1.3
在本发明实施例中,由于采用快照表存储各下级单位上报的报表,在快照表中,采用二进制流的形式将各下级单位上报的报表的数据存储至快照表的报表内容字段中,从而避免了为每个上报的报表建立相应的数据库表,屏蔽了报表之间的差异,不同格式、不同填报内容的报表都可以保存到数据库的快照表中,从而可以适应报表格式和内容的任意变化。
在本发明实施例中,在以二进制流的形式在快照表中存储上报的报表的数据时,将该报表的数据存储为Excel文件格式,以便读取具体的数据。
在步骤S102中,采用汇总报表中预设的取数公式从快照表中指定的报表中读取指定的报表数据。
在本发明实施例中,当上级单位需要对上报的报表进行汇总处理时,运行汇总报表,通过汇总报表中预设的取数公式从快照表中指定的报表中读取指定的报表数据。
其中,预设的取数公式如下:
Array(AllSheet(报表标识,数据位置标识));或者
Array(AllSheet((“*”,标识范围),数据位置标识));
其中,报表标识是指需要从中读取数据的报表的标识,数据位置标识用于标识报表数据所在的位置。在本发明实施例中,当报表数据是以Excel文件格式的二进制流形式存储在快照表的报表内容字段时,该数据位置标识为Excel中的具体单元格。标识范围为报表标识的范围,其是汇总报表中的系统参数,可由用户选择或外部传入。“*”为该取数公式中的标识范围。
取数公式Array(AllSheet(报表标识,数据位置标识))通过AllSheet(报表标识,数据位置标识)从该报表标识对应的报表中读取该数据位置标识对应的报表数据到内存,再通过Array()函数将读取到内存的报表数据生成报表数据数组。举例说明如下:
取数公式Array(AllSheet(“报表标识1;报表标识2...报表标识N”,数据位置标识1))用于分别从报表标识1、2...N对应的报表中读取数据位置标识1对应的报表数据到内存,再将读取到内存的报表数据生成报表数据数组。
取数公式Array(AllSheet((“*”,标识范围),数据位置标识))通过AllSheet((“*”,标识范围),数据位置标识)从该标识范围内的报表标识对应的报表中读取该数据位置标识对应的报表数据到内存,再通过Array()函数将读取到内存的报表数据生成报表数据数组。举例说明如下:
Array(AllSheet((“*”,1-M),数据位置标识2))
该取数公式用于分别从报表标识1-N对应的报表中读取数据位置标识2对应的报表数据到内存,再将读取到内存的报表数据生成报表数据数组。
在本发明实施例中,当报表标识包括上报时间、报表名称、上报单位时,则预设的取数公式如下:
Array(AllSheet(上报时间,报表名称,上报单位,数据位置标识));或者
Array(AllSheet((“上报时间,报表名称,*”,单位范围),数据位置标识)),其中单位范围是汇总报表中的系统参数,可由用户选择或外部传入;
例如取数公式Array(AllSheet(上报时间,报表名称,“单位1;单位2”,数据位置标识)用于从快照表中读取报表上报时间为该取数公式中指定的上报时间、上报单位为单位1、报表名称为该取数公式中指定的报表名称的报表中读取该取数公式指定的数据位置标识对应的报表数据,以及报表上报时间为该取数公式中指定的上报时间、上报单位为单位2、报表名称为该取数公式中指定的报表名称的报表中读取该取数公式指定的数据位置标识对应的报表数据到内存,再通过“array()”函数将读取到内存的报表数据形成一个数组。举例说明如下:
取数公式Array(AllSheet(2009年6月,岗位学历结构表,“A公司;B公司”,“B2”)用于从2009年6月A公司上报的岗位学历结构表中读取B2单元格内的报表数据,以及从2009年6月B公司上报的岗位学历结构表中读取B2单元格内的报表数据到内存,并将读取到内存的报表数据生成报表数据数组。
例如取数公式Array(AllSheet((“上报时间,报表名称,*”,单位范围),数据位置标识)),其中单位范围是汇总报表中的系统参数,可由用户选择或外部传入。则该取数公式用于从快照表中读取报表上报时间为该取数公式中指定的时间、上报单位为该取数公式指定的单位范围内的单位、报表名称为该取数公式中指定的报表名称对应的报表中读取该取数公式指定的数据位置标识对应的报表数据到内存,再通过“array()”函数将读取到内存的报表数据形成一个数组。举例说明如下:
取数公式Array(AllSheet((“2009年6月,岗位学历结构表,*”,单位范围),“B2”)),其中外部传入的单位范围为A公司和B公司,则该取数公式用于从2009年6月A公司上报的岗位学历结构表中读取B2单元格内的报表数据,以及从2009年6月B公司上报的岗位学历结构表中读取B2单元格内的报表数据到内存,并将读取到内存的报表数据生成报表数据数组。
具体实现时,在运行汇总报表后,输出过滤界面,以使用户通过该过滤界面输入报表标识,当报表标识包括上报时间、上报单位和报表名称时,以使用户输入上报时间、上报单位和报表名称后,将输入的上述参数传输至预设的取数公式,以通过预设的取数公式从指定的报表中读取指定的报表数据。
在步骤S103中,采用预设的汇总公式对读取的报表数据进行汇总处理。
其中预设的汇总公式为数据求和公式,如Sum()。采用Sum()对读取的报表数据进行汇总处理具体如下:
Sum(Array(AllSheet(报表标识,数据位置标识)))或者
Sum(Array(AllSheet((“*”,标识范围),数据位置标识)))。
当报表标识包括上报时间、报表名称、上报单位时,采用Sum()对读取的报表数据进行汇总处理具体如下:
Sum(Array(AllSheet(上报时间,报表名称,上报单位,数据位置标识)))或者
Sum(Array(AllSheet((“上报时间,报表名称,*”,单位范围),数据位置标识)))。
请参阅表1.4,以汇总报表采用Excel报表为例进行说明如下:
表1.4
经上述步骤后,在无需增加新的数据库表的情况下,也可以快速、高效地实现报表的汇总上报,而且可以满足复杂报表的上报需求。
实施例二:
当报表的格式发生变化时,为了适应报表格式变化,实现报表的准确汇总上报,图2示出了本发明第二实施例提供的报表数据的处理方法的实现流程,该报表数据的处理方法中的步骤S201、S202以及S203分别与图1所示的报表数据的处理方法中的步骤S101、S102以及S103相同,不同之处仅在于:增加了步骤S204。
在步骤S204中,当报表的格式发生变化时,根据变化后的报表的格式,修改汇总报表中预设的取数公式。其中报表的格式发生变化包括但不限于报表的字段发生变化等。对于根据变化后的报表的格式,修改预设的取数公式的步骤,举例说明如下:
假设原有的报表如表1.1所示,格式变化后的报表如表1.6所示。
表1.6
博士 | 本科 | 大专 | 中专 | 小学 | |
总经理 | 0 | 1 | 0 | 0 | 0 |
副总经理 | 0 | 0 | 0 | 0 | 1 |
部门经理 | 1 | 2 | 0 | 0 | 0 |
项目经理 | 0 | 6 | 6 | 0 | 0 |
工程师 | 3 | 52 | 29 | 6 | 0 |
在汇总报表中对表1.1所示的原有的报表进行汇总处理时,针对总经理的学历为本科进行汇总时,其取数公式为Array(AllSheet(2009年6月,“A公司;B公司”,岗位学历结构表),“D2”),而在汇总报表中对表1.6所示的格式变化后的报表进行汇总处理时,针对总经理的学历为本科进行汇总时,其取数公式为Array(AllSheet(2009年6月,“A公司;B公司”,岗位学历结构表),“C2”)。
根据以上举例说明,当报表的格式发生变化时,只需要根据变化后的报表的格式,修改预设的取数公式,即可高效、快速地的实现报表的汇总上报,因此,给用户带来极大的方便。
实施例三:
图3示出了本发明第三实施例提供的报表数据的处理方法的实现流程,详述如下:
在步骤S301中,接收输入的报表或修改后的报表,并将接收的报表以二进制流的形式存储至快照表中。
报表标识和报表内容字段。其中报表标识字段用于唯一标识数据管理系统中的报表。在本发明实施例中,该报表标识字段可以包括上报时间、上报单位和报表名称。其中上报时间是指报表上报到快照表中的时间。上报单位是指将报表上报到快照表的单位。报表名称是上报到快照表中的报表的名称。报表内容是指存储至快照表中的报表的数据。在本发明实施例中,该报表的数据是以二进制流的形式存储至快照表的报表内容字段中。在以二进制流的形式在快照表中存储上报的报表的数据时,将该报表的数据存储为Excel文件格式,以便读取具体的数据。
在步骤S302中,采用汇总报表中预设的页签生成公式将快照表中指定的报表以页签形式插入至汇总报表中。其中汇总报表为单页签报表,预设的页签生成公式如下:
GenSheet(报表标识);或者
GenSheet(ref(“*”,标识范围));
其中页签生成公式GenSheet(报表标识)用于将快照表中该报表标识对应的报表以页签的形式插入至汇总报表中。页签公式GenSheet(ref(“*”,标识范围))用于将快照表中该标识范围包括的报表标识对应的报表以页签形式插入至汇总报表中。其中标识范围为报表标识的范围,其是汇总报表中的系统参数,可由用户选择或外部传入。举例说明如下:
GenSheet(“报表标识1;报表标识2...报表标识N”)用于分别将快照表中该报表标识1、报表标识2...报表标识N对应的报表以页签形式插入至汇总报表中。
GenSheet(ref(“*”,1-M))用于分别将快照表中该报表标识为1-M对应的报表以页签形式插入至汇总报表中。
在本发明实施例中,当报表标识包括上报时间、报表名称、上报单位时,则预设的页签生成公式如下:
GenSheet(上报时间,报表名称,上报单位);或者
GenSheet(ref((“上报时间,报表名称,*”),单位范围)),其中单位范围是汇总报表中的系统参数,可由用户选择或外部传入。
如页签生成公式GenSheet(上报时间,报表名称,“单位1;单位2”)用于将快照表中上报时间为该取数公式中指定的上报时间、上报单位为单位1、报表名称为该取数公式中指定的报表名称的报表以页签形式插入至汇总报表中,并将上报时间为该取数公式中指定的上报时间、上报单位为单位2、报表名称为该取数公式中指定的报表名称的报表以页签形式插入至汇总报表中。举例说明如下:
GenSheet(2009年6月,岗位学历结构表,“A公司;B公司”)用于将快照表中2009年6月A公司上报的岗位学历结构表以及2009年6月B公司上报的岗位学历结构表分别以页签的形式插入至汇总报表中。
如页签生成公式GenSheet(ref((“上报时间,报表名称,*”),标识范围)),其中标识范围为A公司和B公司,则该页签生成公式用于将快照表中上报时间为该取数公式中指定的上报时间、上报单位为A公司、报表名称为该取数公式中指定的报表名称的报表以页签形式插入至汇总报表中,并将上报时间为该取数公式中指定的上报时间、上报单位为B公司、报表名称为该取数公式中指定的报表名称的报表以页签形式插入至汇总报表中。举例说明如下:
GenSheet(ref((“2009年6月,岗位学历结构表,*”,标识范围)),其中标识范围为A公司和B公司,则该页签生成公式用于将快照表中2009年6月A公司上报的岗位学历结构表以及2009年6月B公司上报的岗位学历结构表分别以页签的形式插入至汇总报表中。
具体实现时,在运行汇总报表后,输出过滤界面,以使用户通过该过滤界面输入报表标识,当报表标识包括上报时间、上报单位和报表名称时,用户输入上报时间、上报单位和报表名称后,将输入的上述参数传输至预设的页签生成公式,以通过预设的页签生成公式将快照表中指定的报表以页签的形式插入至汇总报表中。在将报表以页签的形式插入至汇总报表时,可以顺次插入,也可以按任意顺序插入。插入完成后,快照表中的每条记录对应汇总报表中的一个页签。
在步骤S303中,采用预设的汇总公式对指定的报表中的指定的报表数据进行汇总处理。
其中预设的汇总公式为数据求和公式,如Sum()。采用Sum()对读取的报表数据进行汇总处理具体如下:
Sum(页签标识,数据位置标识)
其中页签标识是汇总报表中用于唯一标识每个页签的标识。数据位置标识是数据所在位置的标识,如在Excel文件格式中,数据位置标识可以为具体的单元格。其中汇总公式举例说明如下:
Sum(Sheet1:SheetN,A4),该汇总公式用于分别读取页签1到N中A4单元格中的报表数据,并对读取的报表数据进行求和处理。
经上述步骤后,在无需增加新的数据库表的情况下,也可以快速、高效地实现报表的汇总上报,而且可以满足复杂报表的上报需求。
实施例四:
当报表的格式发生变化时,为了适应报表格式变化,实现报表的准确汇总上报,图4示出了本发明第四实施例提供的报表数据的处理方法的实现流程,该报表数据的处理方法中的步骤S401、S402以及S403分别与图3所示的报表数据的处理方法中的步骤S301、S302以及S303相同,不同之处仅在于:增加了步骤S404。
在步骤S404中,当报表的格式发生变化时,根据变化后的报表的格式,修改预设的汇总公式。其中报表的格式发生变化包括但不限于报表的字段发生变化等。
实施例五:
图5示出了本发明第一实施例提供的报表数据的处理装置的结构。为了便于说明,仅示出了与本发明实施例相关的部分。
该报表数据的处理装置可以是数据管理系统中的软件单元、硬件单元或者软硬件相结合的单元,或者作为独立的挂件集成到数据管理系统或数据管理系统的应用系统中。其中:
存储单元1存储快照表,该快照表为数据表,用于以二进制流的形式存储上报的报表。该快照表包括但不限于报表标识和报表内容字段。在本发明实施例中,该报表标识字段可以包括上报时间、上报单位和报表名称。在本发明实施例中,该报表的数据是以二进制流的形式存储至快照表的报表内容字段中。
报表上报单元2接收输入的报表或修改后的报表,并将接收的报表以二进制流的形式存储至存储单元1中的快照表中。
报表数据读取单元3从存储单元1的快照表中指定的报表中读取指定的报表数据。该报表数据读取单元3包括指定数据读取模块31,该指定数据读取模块31采用汇总报表中预设的取数公式,从快照表中指定的报表中读取指定的报表数据。
其中预设的取数公式为:
Array(AllSheet(报表标识,数据位置标识));或者
Array(AllSheet((“*”,标识范围),数据位置标识));
其中报表标识是指需要从中读取数据的报表的标识,数据位置标识是指需要读取的报表数据在报表中的位置。在本发明实施例中,当报表数据是以Excel文件格式的二进制流形式存储在快照表的报表内容字段时,该数据位置标识为Excel中的具体单元格。标识范围为报表标识的范围,其是汇总报表中的系统参数,可由用户选择或外部传入。
在本发明实施例中,当报表标识包括上报时间、报表名称、上报单位时,则预设的取数公式如下:
Array(AllSheet(上报时间,报表名称,上报单位,数据位置标识));或者
Array(AllSheet((“上报时间,报表名称,*”,单位范围),数据位置标识)),其中单位范围是汇总报表中的系统参数,可由用户选择或外部传入。
报表汇总处理单元4采用汇总报表中预设的汇总公式对报表数据读取单元3读取的报表数据进行汇总处理。
其中预设的汇总公式为数据求和公式,如Sum()。采用Sum()对读取的报表数据进行汇总处理具体如下:
Sum(Array(AllSheet(报表标识,数据位置标识)))或者
Sum(Array(AllSheet((“*”,标识范围),数据位置标识)))。
当报表标识包括上报时间、报表名称、上报单位时,采用Sum()对读取的报表数据进行汇总处理具体如下:
Sum(Array(AllSheet(上报时间,报表名称,上报单位,数据位置标识)))或者
Sum(Array(AllSheet((“上报时间,报表名称,*”,单位范围),数据位置标识)))。
当报表的格式发生变化时,为了适应报表格式变化,实现报表的准确汇总上报,在本发明另一实施例中,该装置还包括取数公式更新单元5。该取数公式更新单元5在报表的格式发生变化时,根据变化后的报表的格式,修改预设的取数公式。其中报表的格式发生变化包括但不限于报表的字段发生变化等。
实施例六:
图6示出了本发明第二实施例提供的报表数据的处理装置的结构。为了便于说明,仅示出了与本发明实施例相关的部分。
该报表数据的处理装置可以是数据管理系统中的软件单元、硬件单元或者软硬件相结合的单元,或者作为独立的挂件集成到数据管理系统或数据管理系统的应用系统中。其中:
存储单元1存储快照表,该快照表为数据表,用于以二进制流的形式存储上报的报表。该快照表包括但不限于报表标识和报表内容字段。在本发明实施例中,该报表标识字段可以包括上报时间、上报单位和报表名称。在本发明实施例中,该报表的数据是以二进制流的形式存储至快照表的报表内容字段中。
报表上报单元2接收输入的报表或修改后的报表,并将接收的报表以二进制流的形式存储至存储单元1中的快照表中。
报表数据读取单元3从存储单元1的快照表中指定的报表中读取指定的报表数据。该报表数据读取单元3包括页签生成模块32,该页签生成模块32采用汇总报表中预设的页签生成公式将快照表中的指定的报表以页签的形式插入至汇总报表。其中页签生成公式为:
GenSheet(报表标识);或者
GenSheet(ref(“*”,标识范围));
其中页签生成公式GenSheet(报表标识)用于将快照表中该报表标识对应的报表以页签的形式插入至汇总报表中。页签公式GenSheet(ref(“*”,标识范围))用于将快照表中该标识范围包括的报表标识对应的报表以页签形式插入至汇总报表中。其中标识范围为报表标识的范围,其是汇总报表中的系统参数,可由用户选择或外部传入。
在本发明实施例中,当报表标识包括上报时间、报表名称、上报单位时,则预设的页签生成公式如下:
GenSheet(上报时间,报表名称,上报单位);或者
GenSheet(ref((“上报时间,报表名称,*”),单位范围)),其中单位范围是汇总报表中的系统参数,可由用户选择或外部传入。
此时,报表汇总处理单元4采用汇总报表中预设的汇总公式对指定的报表中的指定的报表数据进行汇总处理。
其中预设的汇总公式为数据求和公式,如Sum()。采用Sum()对读取的报表数据进行汇总处理具体如下:
Sum(页签标识,数据位置标识)。其中页签标识是汇总报表中用于唯一标识每个页签的标识。数据位置标识是数据所在位置的标识
当报表的格式发生变化时,为了适应报表格式变化,实现报表的准确汇总上报,在本发明另一实施例中,该装置还包括汇总公式更新单元6。该汇总公式更新单元6在报表的格式发生变化时,根据变化后的报表的格式,修改汇总报表中预设的汇总公式。其中报表的格式发生变化包括但不限于报表的字段发生变化等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
在本发明实施例中,通过采用二进制流的形式将各下级单位上报的报表存储至快照表中,从而避免了为每个上报的报表建立相应的数据库表,屏蔽了报表之间的差异,不同格式、不同填报内容的报表都可以保存到数据库的快照表中,可以适应报表格式和内容的任意变化,从而在无需增加新的数据库表的情况下,也可以快速、高效地实现报表的汇总上报,降低报表汇总上报的复杂度和报表数据的维度难度。通过将上报至快照表中的报表以页签的形式插入至汇总报表中,从而高效、快速的实现报表的汇总上报。当报表的格式发生变化时,只需要修改预设的取数公式或者汇总公式,无需修改数据库表结构,即可实现报表的汇总上报。同时由于采用快照表存储所有上报的报表,从而可直接利用系统报表中心的维护机制对报表进行维护,无需额外的开发工作,降低了报表的汇总上报的开发成本。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种报表数据的处理方法,其特征在于,所述方法包括下述步骤:
接收输入的报表或修改后的报表,并将接收的报表以二进制流的形式存储至快照表中,所述快照表为数据表,用于以二进制流的形式存储所述接收的报表,所述快照表包括报表标识字段和报表内容字段,所述报表标识字段用于唯一标识数据管理系统中的报表,报表内容字段是指存储至快照表中的报表的数据;
采用汇总报表中预设的取数公式,从快照表中指定的报表中读取指定的报表数据,并采用预设的汇总公式对读取的报表数据进行汇总处理,或者,
采用汇总报表中预设的页签生成公式将快照表中指定的报表以页签形式插入至汇总报表中,并采用汇总报表中预设的汇总公式对指定的报表中的指定的报表数据进行汇总处理。
2.如权利要求1所述的方法,其特征在于,所述取数公式为:
Array(AllSheet(报表标识,数据位置标识));或者
Array(AllSheet((“*”,标识范围),数据位置标识));
其中,所述报表标识用于唯一标识报表,所述数据位置标识用于标识报表数据所在的位置,所述标识范围为报表标识的范围,所述“*”代表上述取数公式中的标识范围,所述函数AllSheet()为数据读取函数,所述函数Array()为数组生成函数。
3.如权利要求2所述的方法,其特征在于,当采用汇总报表中预设的取数公式,从快照表中指定的报表中读取指定的报表数据,并采用预设的汇总公式对读取的报表数据进行汇总处理时,所述汇总公式为:
Sum(Array(AllSheet(报表标识,数据位置标识)));
或者Sum(Array(AllSheet((“*”,标识范围),数据位置标识))),所述函数Sum()为数据求和函数。
4.如权利要求1所述的方法,其特征在于,当所述报表标识包括上报时间、报表名称、上报单位时,所述取数公式为:
Array(AllSheet(上报时间,报表名称,上报单位,数据位置标识));或者
Array(AllSheet((“上报时间,报表名称,*”,单位范围),数据位置标识)),所述数据位置标识用于标识报表数据所在的位置,所述单位范围为将报表上报到快照表的上报单位的范围,所述“*”代表上述取数公式中的单位范围,所述函数AllSheet()为数据读取函数,所述函数Array()为数组生成函数。
5.如权利要求4所述的方法,其特征在于,当采用汇总报表中预设的取数公式,从快照表中指定的报表中读取指定的报表数据,并采用预设的汇总公式对读取的报表数据进行汇总处理时,所述汇总公式为:
Sum(Array(AllSheet(报表标识,数据位置标识)));或者
Sum(Array(AllSheet((“*”,标识范围),数据位置标识))),所述函数Sum()为数据求和函数。
6.如权利要求1至5任一权利要求所述的方法,其特征在于,所述方法还包括下述步骤:
当报表的格式发生变化时,根据变化后的报表的格式,修改预设的取数公式。
7.如权利要求1所述的方法,其特征在于,所述页签生成公式为:
GenSheet(报表标识);或者GenSheet(ref(“*”,标识范围)),所述报表标识用于唯一标识报表,所述标识范围为报表标识的范围,所述“*”代表上述页签生成公式中的标识范围,所述函数GenSheet()为页签生成函数,所述函数ref()为引用函数。
8.如权利要求7所述的方法,其特征在于,当采用汇总报表中预设的页签生成公式将快照表中指定的报表以页签形式插入至汇总报表中,并采用汇总报表中预设的汇总公式对指定的报表中的指定的报表数据进行汇总处理时,所述汇总公式为:
Sum(页签标识,数据位置标识),所述页签标识为汇总报表中用于唯一标识每个页签的标识,所述数据位置标识用于标识报表数据所在的位置,所述函数Sum()为数据求和函数。
9.如权利要求7或8所述的方法,其特征在于,所述方法还包括下述步骤:
当报表的格式发生变化时,根据变化后的报表的格式,修改预设的汇总公式。
10.一种报表数据的处理装置,其特征在于,所述装置包括:
存储单元,用于存储快照表,所述快照表为数据表,用于以二进制流的形式存储上报的报表,所述快照表包括报表标识和报表内容字段,所述报表标识字段用于唯一标识数据管理系统中的报表,报表内容是指存储至快照表中的报表的数据;
报表上报单元,用于接收输入的报表或修改后的报表,并将接收的报表以二进制流的形式存储至所述存储单元的快照表中;
报表数据读取单元,用于从所述存储单元的快照表中指定的报表中读取指定的报表数据,所述报表数据读取单元包括指定数据读取模块或者页签生成模块,所述指定数据读取模块用于采用汇总报表中预设的取数公式,从快照表中指定的报表中读取指定的报表数据,所述页签生成模块用于采用汇总报表中预设的页签生成公式将所述存储单元中快照表中的指定的报表以页签的形式插入至汇总报表中;
报表数据汇总单元,用于在所述报表数据读取单元包括指定数据读取模块时,采用汇总报表中预设的汇总公式对所述报表数据读取单元读取的报表数据进行汇总处理,在所述报表数据读取单元包括页签生成模块时,采用汇总报表中预设的汇总公式对指定的报表中的指定的报表数据进行汇总处理。
11.如权利要求10所述的装置,其特征在于,所述装置还包括:
取数公式更新单元,用于在报表的格式发生变化时,根据变化后的报表的格式,修改汇总报表中预设的取数公式。
12.如权利要求10所述的装置,其特征在于,所述装置还包括:
汇总公式更新单元,用于在报表的格式发生变化时,根据变化后的报表的格式,修改汇总报表中预设的汇总公式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910188537 CN101719131B (zh) | 2009-12-01 | 2009-12-01 | 一种报表数据的处理方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910188537 CN101719131B (zh) | 2009-12-01 | 2009-12-01 | 一种报表数据的处理方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101719131A CN101719131A (zh) | 2010-06-02 |
CN101719131B true CN101719131B (zh) | 2013-08-07 |
Family
ID=42433705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910188537 Active CN101719131B (zh) | 2009-12-01 | 2009-12-01 | 一种报表数据的处理方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101719131B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104461538B (zh) * | 2014-12-08 | 2018-11-30 | 畅捷通信息技术股份有限公司 | 报表生成方法和报表生成系统 |
CN105302785B (zh) * | 2015-09-24 | 2019-01-01 | 金蝶软件(中国)有限公司 | 数据收集方法和系统 |
CN105843784A (zh) * | 2016-03-18 | 2016-08-10 | 中国银行股份有限公司 | 一种报表生成方法及装置 |
CN105912701A (zh) * | 2016-04-26 | 2016-08-31 | 南京玛锶腾智能科技有限公司 | 一种用于智能机器人的文件处理方法 |
CN107193866A (zh) * | 2017-04-07 | 2017-09-22 | 北京潘达互娱科技有限公司 | 一种数据报表生成方法及装置 |
CN109344380B (zh) * | 2018-09-25 | 2023-04-07 | 浪潮通用软件有限公司 | 一种打开报表的方法及装置 |
CN109829144B (zh) * | 2018-12-28 | 2023-06-06 | 陈德芹 | 一种在线表格跨表引用方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904879A (zh) * | 2005-07-27 | 2007-01-31 | 国际商业机器公司 | 面向变化的电子表格应用 |
CN101183387A (zh) * | 2007-12-14 | 2008-05-21 | 沈阳东软软件股份有限公司 | 一种增量数据捕获方法和系统 |
CN101504641A (zh) * | 2009-03-23 | 2009-08-12 | 金蝶软件(中国)有限公司 | 报表处理方法和服务端设备 |
CN101556579A (zh) * | 2009-05-08 | 2009-10-14 | 用友软件股份有限公司 | 用于动态报表区域的公式处理系统及其方法 |
-
2009
- 2009-12-01 CN CN 200910188537 patent/CN101719131B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904879A (zh) * | 2005-07-27 | 2007-01-31 | 国际商业机器公司 | 面向变化的电子表格应用 |
CN101183387A (zh) * | 2007-12-14 | 2008-05-21 | 沈阳东软软件股份有限公司 | 一种增量数据捕获方法和系统 |
CN101504641A (zh) * | 2009-03-23 | 2009-08-12 | 金蝶软件(中国)有限公司 | 报表处理方法和服务端设备 |
CN101556579A (zh) * | 2009-05-08 | 2009-10-14 | 用友软件股份有限公司 | 用于动态报表区域的公式处理系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101719131A (zh) | 2010-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101719131B (zh) | 一种报表数据的处理方法、装置和系统 | |
CN101499069A (zh) | 内存数据库文件的更新方法及更新装置 | |
CN102725753B (zh) | 优化数据访问的方法及装置、优化数据存储的方法及装置 | |
CN101504672A (zh) | 一种动态配置实体数据表的方法和系统 | |
CN102968373B (zh) | 一种测试系统的维护方法及装置 | |
CN102567399B (zh) | 一种访问数据库的方法和装置 | |
CN101739452A (zh) | 一种数据交换接口及其实现方法 | |
CN101448002A (zh) | 一种数字资源的访问方法及设备 | |
CN109785092A (zh) | 会计凭证生成管理方法、装置及计算机设备、存储介质 | |
CN103489061A (zh) | 批量数据处理装置和批量数据处理方法 | |
CN104102652A (zh) | 一种非结构化数据存储系统及方法 | |
CN100392651C (zh) | 一种实时内存数据库通用约束的实现方法 | |
CN101901262A (zh) | 基于面向对象模型的企业建库和业务数据显示的方法 | |
CN105701251A (zh) | 一种基于对象定义的数据导出导入方法 | |
CN102521332B (zh) | 基于强模拟的图模式匹配方法、装置及系统 | |
CN102479198A (zh) | 一种数据分页方法、装置及系统 | |
CN102945262A (zh) | 一种rnc配置数据对比方法和装置 | |
CN101645062B (zh) | 一种报表生成方法、系统 | |
CN102201082A (zh) | 一种业务对象类型与科目的对应装置和方法 | |
CN102592190A (zh) | 一种电子合同的签订系统 | |
CN107168700B (zh) | 基于sql-select驱动的全自动表单web后台管理系统的基础开发框架 | |
CN104636260A (zh) | 一种用于计费业务的数据管理方法及系统 | |
CN105260266A (zh) | 一种快照卷写方法及依赖快照系统 | |
CN102317942A (zh) | 主题属性信息生成方法及装置 | |
CN102043853A (zh) | 一种存储数据的更新方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |