CN101727436A - 一种报表数据处理方法、报表系统以及相关装置 - Google Patents
一种报表数据处理方法、报表系统以及相关装置 Download PDFInfo
- Publication number
- CN101727436A CN101727436A CN200810173030A CN200810173030A CN101727436A CN 101727436 A CN101727436 A CN 101727436A CN 200810173030 A CN200810173030 A CN 200810173030A CN 200810173030 A CN200810173030 A CN 200810173030A CN 101727436 A CN101727436 A CN 101727436A
- Authority
- CN
- China
- Prior art keywords
- report
- data table
- table items
- paging
- attribute
- 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
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种报表数据处理方法、报表系统以及相关装置,用于提高用户体验。本发明实施例方法包括:获得报表模板和报表过滤条件,所述报表模板中至少包括分页属性;确定与所述报表过滤条件匹配的数据表项所包含的与所述分页属性关联的分组字段的非重复内容值;根据所述非重复内容值生成不同的分页;在与所述报表过滤条件匹配的数据表项中,将具有相同的分组字段的内容值的数据表项填入对应的分页。本发明实施例还提供一种报表系统以及相关装置。本发明实施例可以有效地提高用户体验。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种报表数据处理方法、报表系统以及相关装置。
背景技术
随着计算机软件的发展,用户对数据处理(包括数据分类,分组,统计等)的要求越来越高,处理的数据量越来越大,因此在报表系统中,当报表的数据量很大时,数据进行分组处理会都全部展示在同一个报表页面,用户在查看数据时可能需要不断地拉动滚动条,从而降低了用户体验。
为了解决这个问题,现有技术中提供了一种报表系统以及报表数据处理方法。
现有技术中的报表系统包括:
报表编辑器,用于供报表开发人员设计定制和测试报表模板。
以及报表服务器,用于提供网页(Web)服务,供最终用户生成实际的报表。
当报表开发人员开发好模板后便可将模板上传到报表服务器,最终用户访问报表Web服务时便可以选择该模板以生成所需的报表。
现有技术提供的报表数据处理方法中,开发人员在模板编辑器中对数据展现的定义通常只基于一个模板分页(Sheet)页面,如果开发人员想将不同的分类/分组数据展现在不同的报表页面,则需要在报表编辑器中定义每个分类/分组的数据源,并将数据源关联到所创建的相应模板Sheet分页。
发明人在实现本发明的过程中发现现有技术有如下缺点:
由于现有技术中,如果开发人员想将不同的分类/分组数据展现在不同的报表页面,必须在报表编辑器中定义每个分类/分组的数据源,并将数据源关联到所创建的相应模板Sheet分页,该现有技术方案下,模板中的Sheet分页的定义是固定的,而在实际应用中,当原始数据库数据增加时相应的分类/分组也会发生变化(增加或减少),因此现有技术中生成的报表无法根据数据源分类/分组的增减动态调整Sheet分页的个数,即生成报表无法满足最终用户的动态扩展要求,从而降低了用户体验。
发明内容
本发明实施例提供了一种报表数据处理方法、报表系统以及相关装置,以实现生成的报表能动态分页展现报表数据,从而提高用户体验。
本发明实施例提供的报表数据处理方法,包括:获得报表模板和报表过滤条件,所述报表模板中至少包括分页属性;确定与所述报表过滤条件匹配的数据表项所包含的与所述分页属性关联的分组字段的非重复内容值;根据所述非重复内容值生成不同的分页;在与所述报表过滤条件匹配的数据表项中,将具有相同的分组字段的内容值的数据表项填入对应的分页。
本发明实施例提供的报表数据处理方法,包括:接收用户输入的分类模式,所述分类模式至少包括分页属性;设置报表模板,所述报表模板包括所述分页属性,所述分页属性与数据表项的分组字段相关联;向报表生成引擎输出所述报表模板。
本发明实施例提供的报表系统,包括:报表服务器和报表生成引擎;其中,所述报表服务器用于接收用户的报表查询请求,所述报表查询请求包含报表过滤条件,根据所述报表查询请求指示所述报表生成引擎执行相应操作;所述报表生成引擎用于获得报表模板和报表过滤条件,所述报表模板中至少包括分页属性,确定与所述报表过滤条件匹配的数据表项所包含的与所述分页属性关联的分组字段的非重复内容值,根据所述非重复内容值生成不同的分页,在与所述报表过滤条件匹配的数据表项中,将具有相同的分组字段的内容值的数据表项填入对应的分页,由所述报表服务器输出包含至少两个分页的报表。
本发明实施例提供的报表服务器,包括:第一接口单元,用于获得报表模板,所述报表模板中至少包括分页属性;第二接口单元,用于接收用户的报表查询请求,所述报表查询请求包含报表过滤条件,并向所述用户输出包含至少两个分页的报表,所述每个分页中包含具有相同的分组字段的内容值的数据表项;解析单元,用于确定与所述报表过滤条件匹配的数据表项所包含的与所述分页属性关联的分组字段的非重复内容值;创建单元,用于根据该非重复内容值生成不同的分页;填充单元,用于在与所述报表过滤条件匹配的数据表项中,将具有相同的分组字段的内容值的数据表项填入对应的分页。
本发明实施例提供的报表编辑器,包括:用户输入单元,用于接收用户输入的分类模式,所述分类模式至少包括分页属性;模板设置单元,用于设置报表模板,所述报表模板包括所述分页属性,所述分页属性与数据表项的分组字段相关联,所述分页属性用于指示动态创建分页;模板输出单元,向报表生成引擎输出所述报表模板。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,由于接收到的报表模板中至少包含有分页属性,因此可以针对数据源中与所述报表过滤条件匹配的数据表项,根据该分页属性关联的数据表项的分组字段的非重复内容值动态生成不同的分页,并将具有相同分组字段的内容值的数据表项填入对应的分页中,以实现生成的报表能动态分页展现报表数据,从而提高了报表生成过程的灵活性,提高了用户体验。
附图说明
图1为本发明实施例中报表数据处理方法第一实施例流程图;
图2为本发明实施例中报表数据处理方法第二实施例流程图;
图3为本发明实施例中报表数据处理方法第三实施例流程图;
图4为本发明实施例中报表生成结果示意图;
图5为本发明实施例中报表系统实施例示意图;
图6为本发明实施例中报表服务器实施例示意图;
图7为本发明实施例中报表编辑器实施例示意图。
具体实施方式
本发明实施例提供了一种报表数据处理方法、报表系统以及相关装置,用于根据数据表项的内容动态创建分页,从而提高用户体验。
请参阅图1,本发明实施例中报表数据处理方法第一实施例包括:
101、获得报表模板和报表过滤条件,该报表模板中至少包括分页属性;
本实施例中,报表生成引擎(本实施例中以报表生成引擎为例进行说明,可以理解的是,同样可以为集成有报表生成引擎的报表服务器)可以包含两个接口。
其中一个接口从报表编辑器接收报表模板,该报表模板中至少包含有分页属性,该分页属性用于指示分组的依据,分页属性的填充值为报表数据源的分组字段,例如“年份”,则表示按“年份”分组;
另外一个接口可以从报表服务器接收用户输入的报表过滤条件,该报表过滤条件用于指示在哪些范围内选取数据表项用以生成报表,例如报表过滤条件可以为“2000年至2002年”。
在一种实现下,所述报表模板包括一个分页,所述分页与一数据源相关联,所述分页包含分页属性,所述分页属性与所述数据源的分组字段相关联;换句话说,分组字段为该分页属性关联的数据源字段。
102、确定与所述报表过滤条件匹配的数据表项所包含的与所述分页属性关联的分组字段的非重复内容值;
报表生成引擎从报表服务器接收到报表过滤条件之后,首先可以根据该报表过滤条件筛选出与该报表过滤条件匹配的数据表项。
数据表项筛选完成之后,报表生成引擎根据从报表编辑器接收到报表模板,从该报表模板中读取分页属性,确定筛选出的数据表项所包含的与该分页属性对应的分组字段的内容值,例如分组字段具体的内容值可以为“2000”,用于指示该数据表项的“年份”字段信息。
103、根据该非重复内容值生成不同的分页;
确定了筛选出的数据表项所包含的分组字段的非重复内容值之后,即可按照该非重复内容值创建不同的分页,每一个分页对应一个不同的分组字段的内容值,即有多少个不重复的分组字段的内容值,就应当有多少个分页。
需要说明的是,一个报表中可以包含若干个分页,这些分页均属于同一张报表。
104、将具有相同的分组字段的内容值的数据表项填入对应的分页。
分页创建完成之后,即可按照筛选出的数据表项的分组字段的内容值将数据表项填入对应的分页中。
可以理解的是,为了能够进一步提高用户体验,还可以对数据表项进行排序以便用户查找,具体可以为:
在报表模板中还另外包含有排序属性,该排序属性用于指示按照何种方式对数据表项进行排序,该排序属性和数据表项所包含的排序字段相关联;
则报表生成引擎可以根据该排序属性关联的排序字段的内容值,对分页中的数据表项进行排序。
需要说明的是,此处描述的报表模板中还可以进一步包括分页排序属性,该分页排序属性用于指示对不同的分页进行先后排序,该分页排序属性具体可以与数据表项中的分组字段的内容值相关联。
每个分页中所包含的数据表项的分组字段都具有相同的内容值,即每个分页对应一个不同的内容值,则该分页排序属性可以指示按照该内容值从小到大的顺序对不同的分页进行排序。
本实施例中,由于接收到的报表模板中至少包含有分页属性,因此可以针对数据源中与所述报表过滤条件匹配的数据表项,根据该分页属性关联的数据表项的分组字段的非重复内容值动态生成不同的分页,并将具有相同分组字段的内容值的数据表项填入对应的分页中,实现生成的报表能动态分页展现报表数据,从而提高了报表生成过程的灵活性,提高了用户体验;
其次,由于报表模板中还可以进一步包括排序属性,因此报表生成引擎可以根据该排序属性相关联的数据表项的排序字段的内容值对数据表项进行排序,方便用户查找,从而能够进一步提高用户体验。
请参阅图2,本发明实施例中报表数据处理方法第二实施例包括:
201、接收用户输入的分类模式;
报表编辑器从用户接口接收开发人员输入的分类模式,该分类模式至少包括分页属性。
202、根据分类模式设置报表模板;
本实施例中,报表模板至少包括上述分页属性,该分页属性用于指示动态创建分页。
在一种实现下,所述报表模板包括一个分页,所述分页与一数据源相关联,所述分页包含分页属性,所述分页属性与所述数据源的分组字段相关联;换句话说,分组字段为该分页属性关联的数据源字段。
203、向报表生成引擎(或集成有报表生成引擎的报表服务器)发送报表模板。
可以理解的是,与报表生成引擎所执行的功能相对应,本实施例中,报表编辑器接收到的分类模式中还可以进一步包括排序属性,该排序属性用于指示如何对数据表项和/或分页进行排序,则报表编辑器设置的报表模板中同样可以包含该排序属性。
本实施例中,由于报表编辑器可以向报表生成引擎输出包含有分页属性的报表模板,因此报表生成引擎可以针对数据源中与所述报表过滤条件匹配的数据表项,根据该分页属性关联的数据表项的分组字段的非重复内容值动态生成不同的分页,并将具有相同分组字段的内容值的数据表项填入对应的分页中,以实现生成的报表能动态分页展现报表数据,因此本发明实施例可以根据获取到的数据表项动态创建分页,从而提高了报表生成过程的灵活性,提高了用户体验;
其次,由于报表模板中还可以进一步包括排序属性,因此报表生成引擎可以根据该排序属性相关联的数据表项的排序字段的内容值对数据表项进行排序,方便用户查找,从而能够进一步提高用户体验。
下面对本发明实施例中的报表数据处理方法进行详细描述:
本实施例中,报表生成引擎(本实施例中以报表生成引擎为例进行说明,可以理解的是,同样可以为集成有报表生成引擎的报表服务器)根据分页属性对数据表项进行分组,将所有数据表项都分组完成之后,再根据分组的结果创建对应的分页,具体请参阅图3,本发明实施例中报表数据处理方法第三实施例包括:
301、接收用户输入的分页属性以及排序属性;
本实施例中,报表编辑器从用户接口接收用户输入的分页属性和排序属性,需要说明的是,本实施例以及后续实施例中均以包含分页属性以及排序属性为例进行说明,可以理解的是,在实际应用中同样可以只包含分页属性。
302、根据分页属性以及排序属性设置报表模板;
报表编辑器接收到用户输入的分页属性以及排序属性之后,即可结合其他生成报表所需的参数,例如生成报表的类型(超文本标记语言(HTML,Hyper Texture Markup Language)格式或者EXCEL模式)等,即生成报表模板。
303、向报表生成引擎输出报表模板;
在生成报表模板之后,报表编辑器向报表生成引擎输出报表模板,该报表模板中包含分页属性以及排序属性。
304、报表生成引擎接收报表模板以及报表过滤条件;
本实施例中,报表生成引擎可以包含两个接口,其中一个接口从报表编辑器接收报表模板;另外一个接口可以从报表服务器接收用户输入的报表过滤条件,该报表过滤条件用于指示在哪些范围内选取数据表项用以生成报表。
305、确定与所述报表过滤条件匹配的数据表项所包含的与所述分页属性关联的分组字段的非重复内容值;
报表生成引擎从报表服务器接收到报表过滤条件之后,首先可以根据该报表过滤条件筛选出与该报表过滤条件匹配的数据表项。
数据表项筛选完成之后,报表生成引擎根据从报表编辑器接收到报表模板,从该报表模板中读取分页属性,并获取筛选出的数据表项所包含的与该分页属性关联的分组字段的内容值,例如分组字段具体的内容值可以为“2000”,用于指示该数据表项的“年份”信息。
306、根据该非重复内容值对数据表项进行分组;
由于数据表项的分组字段与分页属性对应,因此报表生成引擎能够根据该分组字段的内容值对各个数据表项进行分组,将具有同样的分组字段的内容值的数据表项分为一组。
307、根据排序属性相关联的数据表项的排序字段的内容值对每个分组内的数据表项进行排序;
分组完成之后,报表生成引擎还可以对每个分组内的数据表项按照排序属性进行排序。
308、根据分组的数目创建相同数目的分页;
分组完成之后,报表生成引擎可以获取具体的分组的数目,并且按照该数据创建相同数目个分页,每个分页与该分组的分组字段的内容值相对应。
需要说明的是,步骤307与步骤308之间没有固定的执行顺序,可以先执行步骤307,再执行步骤308,也可以先执行步骤308,再执行步骤307,还可以同时执行步骤307和步骤308,具体方式此处不作限定。
309、将具有相同的分组字段的内容值的数据表项填入对应的分页中。
分页创建完成之后,即可将不同的分组(即数据表项)按照不同的分组字段的内容值分别存入对应的分页。
本实施例中的数据表项排序方式为:先对数据表项进行排序,之后将排序完成的数据表项填入分页中,即先执行步骤307,之后执行步骤309,可以理解的是,在实际应用中,同样可以先将数据表项填入分页中,之后再对分页中的数据表项进行排序,即先执行步骤308,再执行步骤309,之后执行步骤307。
此处仅以两个例子对本实施例中的数据表项排序方式进行说明,可以理解的是,在实际应用中,同样还可以采取其他的对数据表项进行排序的方式,具体方式此处不作限定。
本实施例中,上述排序属性用于对数据表项进行排序,可以理解的是,在报表模板中还可以进一步包括分页排序属性,该分页排序属性用于指示对不同的分页进行先后排序,该分页排序属性具体可以与数据表项中的分组字段的内容值相关联。
每个分页中所包含的数据表项的分组字段都具有相同的内容值,即每个分页对应一个不同的内容值,则该分页排序属性可以指示按照该内容值从小到大的顺序对不同的分页进行排序。
本实施例中,由于报表生成引擎接收到的报表模板中至少包含有分页属性,因此可以针对数据源中与所述报表过滤条件匹配的数据表项,根据该分页属性关联的数据表项的分组字段的非重复内容值动态生成不同的分页,并将具有相同分组字段的内容值的数据表项填入对应的分页中,以实现生成的报表能动态分页展现报表数据,从而提高了报表生成过程的灵活性,提高了用户体验;
其次,由于报表模板中还可以进一步包括排序属性,因此报表生成引擎可以根据该排序属性相关联的数据表项的排序字段的内容值对数据表项进行排序,方便用户查找,从而能够进一步提高用户体验。
为便于理解,下面以一具体实例对上述实施例进行说明:
假设数据源中存储的数据表项如下表所示:
表1
年份 | 地区 | 人口 | 产值 |
2000 | A | 100 | 500 |
2000 | B | 100 | 600 |
2001 | A | 300 | 700 |
2002 | B | 400 | 800 |
2003 | A | 500 | 900 |
2004 | B | 500 | 800 |
用户输入的分页属性关联的数据表项的分组字段为“年份”,排序属性关联的数据表项的排序字段为“产值”,分页排序属性关联的数据表项的分组字段为“年份”。
则报表编辑器根据该分页属性,排序属性,分页排序属性以及其他生成报表所需的参数,形成报表模板。
报表编辑器向报表生成引擎输出报表模板,同时将报表模板上报至报表服务器进行存储。
报表服务器可以接收用户发送的报表查询请求,该报表查询请求中携带有报表过滤条件,具体为“2000年至2002年”,要求按照报表过滤条件查询数据源并要求生成报表,或者服务器也可以接收测试指令,该测试指令要求对报表编辑器上报的报表模板进行测试,该测试指令可以由管理员发出,也可以由报表服务器内部的单元发出。
报表服务器接收到用户发送的报表查询请求或测试指令之后,则向报表生成引擎发送指令,该指令中可以包含用户输入的报表过滤条件,要求报表生成引擎生成对应的报表。
报表生成引擎接收到报表服务器发送的包含报表过滤条件的指令之后,则在如表1所示的数据源中查询与该报表过滤条件匹配的数据表项,即查询“2000年至2002年”之间的数据表项,之后再确定这些筛选出的数据表项中所包含的与分页属性对应的分组字段的非重复内容值,即不同的“年份”。
报表生成引擎确定分组字段的内容值之后,按照该分组字段的内容值对数据表项进行分组,将具有同样的分组字段的内容值的数据表项分为一组,则可以得到三个分组,分别对应的“年份”为2000,2001以及2002。
报表生成引擎在对数据表项进行分组之后即可按照排序属性关联的排序字段的内容值对数据表项进行排序,排序属性关联数据表项的排序字段为“产值”,则在每个分组中按照“产值”字段的不同内容值将数据表项先后排序。
同时,报表生成引擎根据分组的数目动态创建三个分页,分别对应2000,2001以及2002,可以理解的是,报表生成引擎还可以根据对分页进行排序,本实施例中的分页排序属性与数据表项的分组字段相关联,则该分页排序属性可以指示按照分组字段的内容值从小到大的顺序对分页进行排序,即分页的顺序为2000,2001,2002。
报表生成引擎按照数据表项的分组字段的内容值将数据表项存入对应的分页中,将“年份”为2000的表项存入“年份”为2000的分页中,将“年份”为2001的表项存入“年份”为2001的分页中,将“年份”为2002的表项存入“年份”为2002的分页中,具体得到的结果可以如图4所示,图4中不同分页的含义与EXCEL中Sheet的含义类似,但不限于EXCEL中的Sheet。
图4中,分页“2000”显示的内容为:
年份 | 地区 | 人口 | 产值 |
2000 | A | 100 | 500 |
2000 | B | 100 | 600 |
分页“2001”显示的内容为:
年份 | 地区 | 人口 | 产值 |
2001 | A | 300 | 700 |
分页“2002”显示的内容为:
年份 | 地区 | 人口 | 产值 |
2002 | B | 400 | 800 |
可以理解的是,若是测试报表模板,则同样可以生成一些测试表项,按照上述的方式对测试表项进行分页,若最终结果与上述的结果一致,则测试通过。
上述实施例仅以一个具体例子对本发明报表数据处理方法进行说明,可以理解的是,上述例子中的各数据表项,数据表项的内容,数据表项的分组字段,分页属性以及排序属性等均为该实施例中所特定的信息,在实际应用中,这些信息均可根据实际情况进行调整,此处不做限定。
本实施例中,由于报表生成引擎接收到的报表模板中至少包含有分页属性,因此可以针对数据源中与所述报表过滤条件匹配的数据表项,根据该分页属性关联的数据表项的分组字段的非重复内容值动态生成不同的分页,并将具有相同分组字段的内容值的数据表项填入对应的分页中,以实现生成的报表能动态分页展现报表数据,从而提高了报表生成过程的灵活性,提高了用户体验;
其次,由于报表模板中还可以进一步包括排序属性,因此报表生成引擎可以根据该排序属性相关联的数据表项的排序字段的内容值对数据表项进行排序,方便用户查找,从而能够进一步提高用户体验。
为便于理解,下面以两个下面具体以两种不同类型的报表作为实例对本发明实施例中的报表数据处理方法进行说明:
A、对于HTML格式的报表:
具体可以包括如下步骤:
(1)读取模板文件获取关联数据源,并执行数据采集获取报表结果集;
(2)同时读取报表模板的分页属性和排序属性,与采集的报表结果集进行匹配,根据分页属性的匹配结果动态创建分页控制对象(即各个分页在HTML语言中对应的控件),根据排序属性的匹配结果对创建的分页控制对象进行排序;
该分页控制对象可以获取数据源中各数据表项的分组字段的内容值(该分组字段与分页属性对应),从而统计有多少个不重复的分组字段的内容值,则创建多少个对应的分页。
(3)同时读取模板页面的其他报表元素,并在各个分页创建报表元素控制对象;
(4)将报表统计结果集中的记录逐行的写入到报表元素的控制对象中,以创建报表元素的模态对象,该模态对象以二进制方式保存在内存中;
(5)根据HTML语言规范将内存中模态对象转换为以*.mht为后缀的报表文件。
B、对于EXCEL格式的报表:
(1)读取模板文件获取关联数据源,并执行数据采集获取报表结果集;
(2)同时读取模板分页的分页属性和排序属性,与采集的报表结果集进行匹配,根据分页属性的匹配结果动态创建分页控制对象,根据排序属性的匹配结果对创建的分页控制对象进行排序;
该分页控制对象可以获取数据源中各数据表项的分组字段的内容值(该分组字段与分页属性对应),从而统计有多少个不重复的分组字段的内容值,则创建多少个对应的分页。
(3)同时读取模板页面的其他报表元素,并在各个分页创建报表元素控制对象;
(4)将报表统计结果集中的记录逐行的写入到报表元素的控制对象中,以创建报表元素的模态对象,该模态对象以二进制方式保存在内存中;
(5)调用EXCEL接口将内存中模态对象转换为以*.xls为后缀的报表文件。
可以理解的是,上述实施例中,仅以两个格式的报表例子进行说明,在实际应用中,同样可以是其他类型的报表格式,如PDF格式,具体格式此处不做限定。
下面对本发明实施例中的报表系统进行描述,请参阅图5,本发明实施例中的报表系统包括:报表服务器503和报表生成引擎502;
其中,报表服务器503用于接收用户的报表查询请求,该报表查询请求包含报表过滤条件,根据该报表查询请求指示报表生成引擎502执行相应操作;
报表生成引擎502用于获得报表模板和报表过滤条件,所述报表模板中至少包括分页属性,确定与所述报表过滤条件匹配的数据表项所包含的与所述分页属性关联的分组字段的非重复内容值,根据所述非重复内容值生成不同的分页,在与所述报表过滤条件匹配的数据表项中,将具有相同的分组字段的内容值的数据表项填入对应的分页,由所述报表服务器503输出包含至少两个分页的报表。
本实施例中的报表系统还可以进一步包括:
报表编辑器501,用于接收用户输入的分类模式,所述分类模式至少包括分页属性,设置报表模板,所述报表模板包括所述分页属性,向报表生成引擎502输出所述报表模板。
本实施例中的分类模式中还可以进一步包括排序属性,则在该方式中,报表模板中还包括排序属性,该排序属性与数据表项的排序字段相关联;
则对应地,报表生成引擎502还用于根据排序属性相关联的排序字段的内容值对数据表项进行排序。
本实施例中的分类模式中还可以进一步包括分页排序属性,在该方式中,报表模板中还可以包括分页排序属性,该分页排序属性可以与数据表项的分组字段相关联;
则对应地,报表生成引擎502还用于根据分页排序属性相关联的分组字段的内容值对不同的分页进行排序。
本实施例中,由于报表生成引擎502可以根据接收到的报表模板动态创建分页,并将数据表项存入对应的分页中,因此能够方便用于进行查找,提高了用户体验。
需要说明的是,本发明实施例提供的另外一种报表系统中,报表生成引擎502集成于报表服务器503中实现,则该报表系统中具体包括:
报表服务器503,接收用户的报表查询请求,所述报表查询请求包含报表过滤条件,获得报表模板,所述报表模板中至少包括分页属性,确定与所述报表过滤条件匹配的数据表项所包含的与所述分页属性关联的分组字段的非重复内容值,根据所述非重复内容值生成不同的分页,在与所述报表过滤条件匹配的数据表项中,将具有相同的分组字段的内容值的数据表项填入对应的分页,输出包含至少两个分页的报表;
报表编辑器501,用于接收用户输入的分类模式,所述分类模式至少包括分页属性,设置报表模板,所述报表模板包括所述分页属性,向报表服务器503输出所述报表模板。
上面提到了报表生成引擎在实际应用中可以独立存在,还可以集成于报表服务器中实现,则下面介绍本发明实施例中的报表服务器实施例,该报表服务器中集成了报表生成引擎的功能,请参阅图6,本发明实施例中的报表服务器包括:
第一接口单元601,用于获得报表模板,所述报表模板中至少包括分页属性;
第二接口单元602,用于接收用户的报表查询请求,所述报表查询请求包含报表过滤条件,并向所述用户输出包含至少两个分页的报表,所述每个分页中包含具有相同的分组字段的内容值的数据表项;
解析单元603,用于确定与所述报表过滤条件匹配的数据表项所包含的与所述分页属性关联的分组字段的非重复内容值;
创建单元604,用于根据该非重复内容值生成不同的分页;
填充单元605,用于在与所述报表过滤条件匹配的数据表项中,将具有相同的分组字段的内容值的数据表项填入对应的分页。
本实施例中的报表模板中还可以进一步包括排序属性以及分页排序属性,该排序属性与数据表项的排序字段相关联,该分页排序属性可以与数据表项的分组字段相关联,则本实施例中的报表服务器还可以包括:
排序单元606,用于根据排序属性相关联的排序字段的内容值对所述数据表项进行排序,并可以根据分页排序属性相关联的分组字段的内容值对不同的分页进行排序。
可以理解的是,报表服务器具体生成报表的过程在实际应用中可以由某些触发条件引起,本实施例中的报表服务器还可以进一步包括:
本实施例中,由于创建单元604可以利用第一接口单元601接收到的报表模板中的分页属性以及解析单元603解析得到的分组字段的内容值动态创建分页,因此能够使得用户方便地查询分页内容,从而提高了用户体验。
请参阅图7,本发明实施例中的报表编辑器实施例包括:
用户输入单元701,用于接收用户输入的分类模式,所述分类模式至少包括分页属性;
模板设置单元702,用于设置报表模板,所述报表模板包括所述分页属性,所述分页属性与数据表项的分组字段相关联,所述分页属性用于指示动态创建分页;
模板输出单元703,向报表生成引擎(或集成有报表生成引擎的报表服务器)输出所述报表模板。
该分类模式中还可以进一步包括排序属性,则模板设置单元702还用于在报表模板中设置排序属性。
本实施例中,由于模板设置单元702可以根据用户的输入设置报表模板,而报表模板至少包括分页属性,分页属性用于指示动态创建分页,因此当模板输出单元703将该报表模板输出至报表生成引擎(或集成有报表生成引擎的报表服务器)之后,该报表生成引擎(或集成有报表生成引擎的报表服务器)可以针对数据源中与所述报表过滤条件匹配的数据表项,根据该分页属性关联的数据表项的分组字段的非重复内容值动态生成不同的分页,并将具有相同分组字段的内容值的数据表项填入对应的分页中,以实现生成的报表能动态分页展现报表数据,从而提高了报表生成过程的灵活性,提高用户体验。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括如下步骤:
获得报表模板和报表过滤条件,所述报表模板中至少包括分页属性;
确定与所述报表过滤条件匹配的数据表项所包含的与所述分页属性关联的分组字段的非重复内容值;
根据所述非重复内容值生成不同的分页;
在与所述报表过滤条件匹配的数据表项中,将具有相同的分组字段的内容值的数据表项填入对应的分页。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种报表数据处理方法、报表系统以及相关装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种报表数据处理方法,其特征在于,包括:
获得报表模板和报表过滤条件,所述报表模板中至少包括分页属性;
确定与所述报表过滤条件匹配的数据表项所包含的与所述分页属性关联的分组字段的非重复内容值;
根据所述非重复内容值生成不同的分页;
在与所述报表过滤条件匹配的数据表项中,将具有相同的分组字段的内容值的数据表项填入对应的分页。
2.根据权利要求1所述的方法,其特征在于,所述报表模板中还包括:排序属性,所述排序属性与所述数据表项的排序字段关联;
所述将具有相同的分组字段的内容值的数据表项填入对应的分页的步骤之后包括:
根据所述排序属性关联的所述数据表项的排序字段的内容值,将每一分页中的数据表项进行排序。
3.根据权利要求1所述的方法,其特征在于,所述报表模板中还包括:排序属性,所述排序属性与所述数据表项的排序字段关联;
所述将具有相同的分组字段的内容值的数据表项填入对应的分页的步骤之前包括:
根据所述排序属性关联的所述数据表项的排序字段的内容值,对数据源中与所述报表过滤条件匹配的数据表项进行排序;
所述将具有相同的分组字段的内容值的数据表项填入对应的分页的步骤包括:
将排序后的具有相同的分组字段的内容值的数据表项填入对应的分页中。
4.根据权利要求2或3所述的方法,其特征在于,所述报表模板还包括:分页排序属性,所述分页排序属性与所述数据表项的分组字段相关联;
所述将具有相同的分组字段的内容值的数据表项填入对应的分页的步骤之后包括:
根据所述分页排序属性相关联的所述数据表项的分组字段的内容值对所述分页进行排序。
5.根据权利要求1所述的方法,其特征在于,所述获得报表过滤条件的步骤包括:
接收用户发送的报表查询请求,所述报表查询请求中携带所述报表过滤条件;
所述将具有相同的分组字段的内容值的数据表项填入对应的分页的步骤之后包括:
向所述用户展示包含至少两个分页的报表。
6.根据权利要求1所述的方法,其特征在于,所述获得报表模板和报表过滤条件的步骤之后包括:
接收测试指令;
所述将具有相同的分组字段的内容值的数据表项填入对应的分页的步骤之后包括:
判断各分页中的数据表项与预期的结果是否符合,若符合,则确定测试通过。
7.根据权利要求1,2,3,5或6中任一项所述的方法,其特征在于,所述将具有相同的分组字段的内容值的数据表项填入对应的分页的步骤包括:
读取模板页面的其他报表元素,并在各个分页创建报表元素控制对象;
将具有相同的分组字段的内容值的数据表项填入所述报表元素的控制对象中。
8.一种报表数据处理方法,其特征在于,包括:
接收用户输入的分类模式,所述分类模式至少包括分页属性;
设置报表模板,所述报表模板包括所述分页属性,所述分页属性与数据表项的分组字段相关联;
向报表生成引擎输出所述报表模板。
9.根据权利要求8所述的方法,其特征在于,所述分类模式中还包括排序属性;
所述设置报表模板的步骤还包括:
在所述报表模板中设置所述排序属性,所述排序属性与数据表项的排序字段相关联。
10.一种报表系统,其特征在于,包括:报表服务器和报表生成引擎;其中,
所述报表服务器用于接收用户的报表查询请求,所述报表查询请求包含报表过滤条件,根据所述报表查询请求指示所述报表生成引擎执行相应操作;
所述报表生成引擎用于获得报表模板和报表过滤条件,所述报表模板中至少包括分页属性,确定与所述报表过滤条件匹配的数据表项所包含的与所述分页属性关联的分组字段的非重复内容值,根据所述非重复内容值生成不同的分页,在与所述报表过滤条件匹配的数据表项中,将具有相同的分组字段的内容值的数据表项填入对应的分页,由所述报表服务器输出包含至少两个分页的报表。
11.根据权利要求10所述的报表系统,其特征在于,所述报表系统还包括:
报表模板编辑器,用于根据用户输入的分类模式设置并输出包含有分页属性的报表模板至报表生成引擎。
12.一种报表服务器,其特征在于,包括:
第一接口单元,用于获得报表模板,所述报表模板中至少包括分页属性;
第二接口单元,用于接收用户的报表查询请求,所述报表查询请求包含报表过滤条件,并向所述用户输出包含至少两个分页的报表,所述每个分页中包含具有相同的分组字段的内容值的数据表项;
解析单元,用于确定与所述报表过滤条件匹配的数据表项所包含的与所述分页属性关联的分组字段的非重复内容值;
创建单元,用于根据该非重复内容值生成不同的分页;
填充单元,用于在与所述报表过滤条件匹配的数据表项中,将具有相同的分组字段的内容值的数据表项填入对应的分页。
13.根据权利要求12所述的报表服务器,其特征在于,所述报表模板还包括:排序属性,所述排序属性与所述数据表项的排序字段关联;
所述报表服务器还包括:
排序单元,用于根据所述排序属性关联的所述数据表项的排序字段的内容值对所述数据表项进行排序。
14.一种报表编辑器,其特征在于,包括:
用户输入单元,用于接收用户输入的分类模式,所述分类模式至少包括分页属性;
模板设置单元,用于设置报表模板,所述报表模板包括所述分页属性,所述分页属性与数据表项的分组字段相关联,所述分页属性用于指示动态创建分页;
模板输出单元,向报表生成引擎输出所述报表模板。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810173030A CN101727436A (zh) | 2008-10-29 | 2008-10-29 | 一种报表数据处理方法、报表系统以及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810173030A CN101727436A (zh) | 2008-10-29 | 2008-10-29 | 一种报表数据处理方法、报表系统以及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101727436A true CN101727436A (zh) | 2010-06-09 |
Family
ID=42448339
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810173030A Pending CN101727436A (zh) | 2008-10-29 | 2008-10-29 | 一种报表数据处理方法、报表系统以及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101727436A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894099A (zh) * | 2010-06-29 | 2010-11-24 | 北京科技大学 | 一种报表模板定制方法 |
CN102479197A (zh) * | 2010-11-26 | 2012-05-30 | 金蝶软件(中国)有限公司 | 一种数据分组方法及系统 |
CN102541551A (zh) * | 2011-12-26 | 2012-07-04 | 深圳联友科技有限公司 | 一种易用的页面报表设计方法和系统 |
CN102567032A (zh) * | 2010-12-08 | 2012-07-11 | 金蝶软件(中国)有限公司 | 通用界面的配置方法及计算机 |
CN103761219A (zh) * | 2014-02-20 | 2014-04-30 | 西双版纳恒创信息科技有限公司 | 一种表格的动态生成方法 |
CN104360826A (zh) * | 2014-12-10 | 2015-02-18 | 用友软件股份有限公司 | 报表自定义分页打印装置和方法 |
CN105321051A (zh) * | 2015-11-26 | 2016-02-10 | 国网安徽省电力公司检修公司 | 特高压变电站智能运维管理及其报表的生成方法 |
CN106649351A (zh) * | 2015-10-30 | 2017-05-10 | 北京国双科技有限公司 | 图表的展现方法及装置 |
CN108228663A (zh) * | 2016-12-21 | 2018-06-29 | 杭州海康威视数字技术股份有限公司 | 一种分页检索方法及装置 |
CN103473234B (zh) * | 2012-06-07 | 2018-07-06 | 中兴通讯股份有限公司 | 一种从web查询系统导出报表的方法、装置及系统 |
CN108694214A (zh) * | 2017-04-12 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 数据报表的生成方法、生成装置、可读介质及电子设备 |
CN109117469A (zh) * | 2018-09-03 | 2019-01-01 | 平安科技(深圳)有限公司 | Excel报表文件生成方法、装置、计算机设备及存储介质 |
CN109683939A (zh) * | 2018-12-29 | 2019-04-26 | 北京小米移动软件有限公司 | 组件对象更新方法、装置以及存储介质 |
CN111241053A (zh) * | 2018-11-29 | 2020-06-05 | 中国移动通信集团四川有限公司 | 数据表创建方法、装置、设备及存储介质 |
CN111401017A (zh) * | 2020-03-11 | 2020-07-10 | 广联达科技股份有限公司 | 清单报表自动生成的方法及系统 |
CN112597750A (zh) * | 2020-12-28 | 2021-04-02 | 珠海新华通软件股份有限公司 | 在线设计动态检测报告模板的方法、编辑器及介质 |
CN114372177A (zh) * | 2022-03-22 | 2022-04-19 | 创意信息技术股份有限公司 | 一种Excel表格数据匹配方法 |
CN117829117A (zh) * | 2023-12-29 | 2024-04-05 | 佛山众陶联供应链服务有限公司 | 一种通过Android pda定位加模版匹配收集磅单信息的方法及系统 |
-
2008
- 2008-10-29 CN CN200810173030A patent/CN101727436A/zh active Pending
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894099B (zh) * | 2010-06-29 | 2011-07-27 | 北京科技大学 | 一种报表模板定制方法 |
CN101894099A (zh) * | 2010-06-29 | 2010-11-24 | 北京科技大学 | 一种报表模板定制方法 |
CN102479197A (zh) * | 2010-11-26 | 2012-05-30 | 金蝶软件(中国)有限公司 | 一种数据分组方法及系统 |
CN102567032A (zh) * | 2010-12-08 | 2012-07-11 | 金蝶软件(中国)有限公司 | 通用界面的配置方法及计算机 |
CN102567032B (zh) * | 2010-12-08 | 2016-01-20 | 金蝶软件(中国)有限公司 | 通用界面的配置方法及计算机 |
CN102541551A (zh) * | 2011-12-26 | 2012-07-04 | 深圳联友科技有限公司 | 一种易用的页面报表设计方法和系统 |
CN102541551B (zh) * | 2011-12-26 | 2016-01-06 | 深圳联友科技有限公司 | 一种易用的页面报表设计方法和系统 |
CN103473234B (zh) * | 2012-06-07 | 2018-07-06 | 中兴通讯股份有限公司 | 一种从web查询系统导出报表的方法、装置及系统 |
CN103761219B (zh) * | 2014-02-20 | 2017-08-25 | 西双版纳恒创信息科技有限公司 | 一种表格的动态生成方法 |
CN103761219A (zh) * | 2014-02-20 | 2014-04-30 | 西双版纳恒创信息科技有限公司 | 一种表格的动态生成方法 |
CN104360826B (zh) * | 2014-12-10 | 2017-10-10 | 用友网络科技股份有限公司 | 报表自定义分页打印装置和方法 |
CN104360826A (zh) * | 2014-12-10 | 2015-02-18 | 用友软件股份有限公司 | 报表自定义分页打印装置和方法 |
CN106649351A (zh) * | 2015-10-30 | 2017-05-10 | 北京国双科技有限公司 | 图表的展现方法及装置 |
CN106649351B (zh) * | 2015-10-30 | 2019-10-25 | 北京国双科技有限公司 | 图表的展现方法及装置 |
CN105321051A (zh) * | 2015-11-26 | 2016-02-10 | 国网安徽省电力公司检修公司 | 特高压变电站智能运维管理及其报表的生成方法 |
CN108228663A (zh) * | 2016-12-21 | 2018-06-29 | 杭州海康威视数字技术股份有限公司 | 一种分页检索方法及装置 |
CN108694214A (zh) * | 2017-04-12 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 数据报表的生成方法、生成装置、可读介质及电子设备 |
CN109117469A (zh) * | 2018-09-03 | 2019-01-01 | 平安科技(深圳)有限公司 | Excel报表文件生成方法、装置、计算机设备及存储介质 |
CN111241053B (zh) * | 2018-11-29 | 2022-08-23 | 中国移动通信集团四川有限公司 | 数据表创建方法、装置、设备及存储介质 |
CN111241053A (zh) * | 2018-11-29 | 2020-06-05 | 中国移动通信集团四川有限公司 | 数据表创建方法、装置、设备及存储介质 |
CN109683939A (zh) * | 2018-12-29 | 2019-04-26 | 北京小米移动软件有限公司 | 组件对象更新方法、装置以及存储介质 |
CN111401017A (zh) * | 2020-03-11 | 2020-07-10 | 广联达科技股份有限公司 | 清单报表自动生成的方法及系统 |
CN112597750A (zh) * | 2020-12-28 | 2021-04-02 | 珠海新华通软件股份有限公司 | 在线设计动态检测报告模板的方法、编辑器及介质 |
CN114372177A (zh) * | 2022-03-22 | 2022-04-19 | 创意信息技术股份有限公司 | 一种Excel表格数据匹配方法 |
CN117829117A (zh) * | 2023-12-29 | 2024-04-05 | 佛山众陶联供应链服务有限公司 | 一种通过Android pda定位加模版匹配收集磅单信息的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101727436A (zh) | 一种报表数据处理方法、报表系统以及相关装置 | |
WO2020172865A1 (zh) | 数字双胞胎建模仿真方法、装置和系统 | |
Schmid et al. | A comparison of decision modeling approaches in product lines | |
CN101535955B (zh) | 基于图形的计算的参数管理 | |
AU2015315522B2 (en) | Data-driven testing framework | |
US7831614B2 (en) | System and method for generating SQL using templates | |
EP1903452A1 (en) | Method and system for processing the input in an XML form | |
CN107783850B (zh) | 一种节点树勾选记录的解析方法、装置、服务器及系统 | |
CN114625732A (zh) | 基于结构化查询语言sql的查询方法和系统 | |
CN107506888A (zh) | 一种通用的在线服务平台定制化评估方法和系统 | |
CN101122915A (zh) | 基于参数的搜索引擎 | |
CN105824855A (zh) | 一种对数据对象筛选分类的方法、装置以及电子设备 | |
KR101877828B1 (ko) | 인공지능 기반의 사용자 인터페이스 통합 플랫폼 시스템 | |
JPH04237341A (ja) | インタフェース検証処理方式 | |
CN112732763A (zh) | 数据的聚合方法、装置、电子设备及介质 | |
US7827153B2 (en) | System and method to perform bulk operation database cleanup | |
CN105843605B (zh) | 一种数据映射方法及装置 | |
CN111913937B (zh) | 数据库运维方法和装置 | |
CN103299294A (zh) | 用于解释和生成集成流的系统和方法 | |
Francalanci et al. | Abstraction levels for entity-relationship schemas | |
Suárez-Cabal et al. | Incremental test data generation for database queries | |
CN115686621B (zh) | 一种规则引擎规则脚本的生成方法及装置 | |
CN110287241A (zh) | 一种生成告警数据报表的方法及装置 | |
CN110032615A (zh) | 一种基于规则库实现gis空间数据在线统计的方法 | |
CN113190582B (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20100609 |