一种报表定义方法及系统的制作方法

文档序号:6559289阅读:150来源:国知局
专利名称:一种报表定义方法及系统的制作方法
技术领域
本发明属于信息处理技术领域,涉及一种通过计算机编制报表的技术,具体涉及一种报表定义方法及系统。
背景技术
报表是单位和部门运营管理指标的阶段性反映,是相关负责人监控业务运行状况、进行决策的重要依据。随着信息系统的应用,计算机自动计算和生成报表逐步取代了传统的手工统计方式,极大的提高了工作效率,增加了准确程度。
在通常的管理信息系统中,用户的业务数据是存储在数据库中的。数据库结构一般是按照关系数据库理论设计的,需要满足范式要求。范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入、删除和更新操作异常。但另一方面,这样规范化的数据库结构对普通用户往往又是难以理解的。在普通用户看来,业务数据是按照业务分类、业务逻辑组织的,用户在制作报表时也是按照业务分类、业务逻辑设计报表的。业务分类是用户在业务操作中应用的分类方法,用以更好地管理业务数据;业务逻辑是用户进行业务活动的流程、规则等等。例如,人员信息是数据库中的一个表,在订单等表中也有大量与人员相关的信息,但按照范式要求是记录为人员编码的;而在普通用户看来,人员是按照其职能分类的,分为录入人、修改人、审批人等等,订单中记录的也应该是这些信息,通过人员表与订单表多次关联得到这些信息对普通用户而言是难以理解的。
这样,从规范化的数据库结构到反映用户业务特点的报表就需要有一个转换的过程,需要一系列复杂的查询语句支持,将规范化存储的数据转换为用户能够识别、理解的数据。进行转换的方法很多,如根据标志位从单一表中筛选数据、多表连接、多报联合等等。传统方法进行这样的转换一般是由开发人员根据用户要求编写查询语句、制作报表,用户缺乏自己组织数据的能力。更好的方法是将表之间内在的业务逻辑关系固化下来,这样就可以使数据表现为用户易于理解的形式,使得用户自己具有组织数据、制作报表的能力。
报表定义指由开发商定义报表内容和报表格式。报表内容包括报表标题、表头、数据、表尾等部分,数据是报表最重要的内容,一般是从数据库中查询得到的。定义报表内容一般需要由开发商根据用户的需求编写或通过工具生成查询语句,用来从数据库中提取数据,复杂报表还需要通过程序的控制,将查询到的结构化数据做一些转换、拆分、组合、分组、汇总等操作,从而形成所需的报表内容。报表格式指关于报表页面的信息以及报表各组成部分样式的信息,如纸张、打印方向、分页方式、字体、字号、颜色、行间距、列间距、边距、分隔线等等。报表定义完成后需要由开发商将报表定义保存为模板,保存报表模板的方式很多,即可以以代码方式直接封装在程序中,也可以以文件或数据库等方式存储。
制作报表方法中难度最大的步骤是报表定义,下面通过一个示例说明在现有的向导式报表定义系统中进行报表定义一般的过程例如,一个订单系统的数据库中存在如下四个表订单表、客户表、雇员表和产品表,各表描述及各表之间的关系如图1所示。如果用户需要根据这些表中的数据得到如下格式的一个按业务员名称、客户名称汇总的报表,一般需要通过如下步骤完成

(1)选择包含上述信息的数据库表订单表、客户表、雇员表;(2)从上述表中选择报表需要的字段客户表客户名称字段、雇员表雇员姓名字段、订单表订购数量字段;(3)给雇员姓名字段定义别名“业务员名称”;(4)设置所选三个表之间的关系即订单表客户编码字段与客户表客户编码字段、订单表业务员编码字段与雇员表雇员编码字段的关联关系;(5)设置汇总方式根据业务员名称、客户名称分组,对订购数量做求和汇总;(6)设置查询条件业务员名称、客户名称、最小订购数量、最大订购数量;(7)根据上述设置生成查询语句,保存为报表定义模板。
通过上面的示例,我们发现使用现有报表系统或直接编码进行报表定义要求必须理解结构化查询语句的语法及各组成部分的含义,具体表现在以下方面(1)进行报表定义的元数据是按照数据库表结构而非业务逻辑进行组织的,无论是直接显示数据库表名,还是对其做进一步的解释说明,都需要理解数据库的逻辑结构。
(2)当需要从多张表中提取数据,进行表连接时,必须指定表之间是通过哪些字段建立关联关系的。
(3)当定义汇总报表时,必须指定哪些是分组项目,哪些是汇总项目。
(4)需要逐个定义查询条件项目和查询条件项目的枚举值。
由于上述问题,使得报表定义只能由开发商完成。但是业务需求是千变万化的,报表内容、格式也是经常变化的,报表定义必须要做相应的变化,这就导致维护成本高、报表定义跟不上业务变化的速度。

发明内容
针对现有技术的不足,本发明的目的是提供一种可以由用户从数据库提取数据、设计报表内容的报表定义方法及系统,该方法能够实现由用户完成除报表元数据定义之外定义报表的全部工作,减少对开发商的依赖,进而提高生产效率。
一种报表定义方法,包括报表定义前的元数据的设置步骤,及根据设置的元数据进行报表的定义步骤,其特征在于进行报表定义的元数据是按照业务逻辑进行组织的,所述的业务逻辑是指用户进行业务活动的流程或规则。
进一步,在设置报表元数据时,包括以下步骤(1)定义业务分类,所述业务分类是指用户在业务操作中应用的分类方法,用以更好地管理业务数据;(2)定义视图,是指对数据库中的表按照业务逻辑进行视图定义,每个视图对应一个业务对象;(3)定义业务对象,是指对表和上一步中定义的视图进行描述,指定业务分类;(4)定义业务对象属性,是指对表和视图中的字段进行描述;(5)定义业务对象关系,是指对表和视图之间的关联关系进行描述。
进一步,在于根据设置的元数据进行报表定义时,包括以下步骤1)设置输出项目;2)设置必须的查询条件;3)设置汇总方式,是指设置数据是否以汇总方式呈现;4)设置排序方式,是指设置参与排序的项目、各排序项目的先后次序、各排序项目以升序或降序排序;5)校验报表定义,是指根据上述报表定义操作和预先存储的报表元数据,校验输出项目之间是否有逻辑关系,如果有关系,在报表定义中加入这些关系;6)预览报表,是指根据校验合格的报表定义,从数据库中查询数据供用户预览报表显示效果;7)保存模板。
更进一步,在上述报表定义过程中,步骤1)中设置输出项目时,经过前面的报表元数据定义,查询项目按照业务逻辑组织为树状结构,通过信息分类树,设置需要输出的查询项目,除了直接输出已定义的查询项目外,还能够将这些项目通过四则运算、函数运算方法组合,构成组合项输出。
步骤2)中设置必须的查询条件时,查询参数是根据报表输出项目自动提取出来的。
步骤3)中设置汇总方式时,是根据输出项目的数据类型自动确定分组项目和聚合项目。
一种报表定义系统,包括用于报表定义前的元数据设置的元数据设置模块,及根据设置的元数据进行报表定义的报表定义模块。其中,所述的元数据设置模块是按照业务逻辑对元数据进行组织的,所述的业务逻辑是指用户进行业务活动的流程或规则。
进一步,所述的元数据设置模块中设有以下装置,(1)用于定义业务分类的定义装置;(2)用于对数据库中的表按照业务逻辑进行视图定义,每个视图对应一个业务对象的视图定义装置;(3)用于对表和定义的视图进行描述并指定业务分类的业务对象定义装置;(4)用于对表和视图中的字段进行描述的业务对象属性定义装置;(5)用于对表和视图之间的关联关系进行描述的业务对象关系定义装置。
更进一步,所述的报表定义模块中设有以下装置,a.用于设置输出项目、查询条件、汇总方式、排序方式的设置装置;b.用于校验报表定义的校验装置;c.用于预览报表的预览装置;d.用于保存模板的保存装置。
本发明的效果在于采用本发明所述的报表定义方法及系统,使得用户可以进行报表定义,提高了工作效率和对业务变化的反映速度,并且具有以下显著效果(1)按照业务逻辑定义、组织报表元数据,使得用户不必再面对抽象的数据库表;(2)当从多个对象提取数据时,根据内置的业务逻辑关系,自动为查询语句添加连接条件,使得用户不需要再了解数据库表之间复杂的逻辑关系;(3)根据输出项目数据类型确定分组项目、汇总项目,降低了汇总表定义的复杂性;(4)自动提取查询条件和查询条件项目的枚举值,允许同一查询项目多次作为查询条件,查询条件之间可以定义复杂的逻辑关系。


图1是本发明所述实施例的数据库模型图;图2是进行报表元数据定义后的数据库模型图;图3是本发明所述报表元数据定义的流程图;图4是根据本发明所述方法在设置元数据后进行报表定义的流程图。
具体实施例方式
下面结合附图及实施例对本发明作进一步的描述。
本实施例是基于背景技术中所述的示例场景,按照本发明中的方法进行报表元数据的设置及报表定义的具体描述。
如图1所示,一个订单系统的数据库中存在如下四个表订单表、客户表、雇员表和产品表,各表描述及各表之间的关系如图所示。
在进行报表定义前,需要先设置报表的元数据,如图3所示,在设置报表的元数据时,包括以下步骤
(1)定义业务分类,所述业务分类是指用户在业务操作中应用的分类方法,用以更好地管理业务数据。
本实施例中,示例系统中的业务比较简单,从逻辑上划分只有一个“订购业务”分类。
(2)定义视图。
是指对数据库中的表按照业务逻辑进行视图定义,每个视图对应一个业务对象。本实施例中,按照系统的业务逻辑关系,根据雇员表定义两个视图业务员视图、录入员视图。这样系统中就增加了两个易于为用户理解的业务对象。
(3)定义业务对象,具体是指对表和上一步中定义的视图进行描述,指定业务分类。

(4)定义业务对象属性,是指对表和视图中的字段进行描述。

(5)定义业务对象关系,是指对表和视图之间的关联关系进行描述。


进行报表元数据定义后的数据库模型图如图2所示。
在对报表的元数据设置完成后,如图4所示,再根据设置的元数据进行报表定义,定义的方法包括以下步骤1)设置输出项目,经过前面的报表元数据定义,查询项目按照业务逻辑组织为树状结构,通过信息分类树,设置需要输出的查询项目,除了直接输出已定义的查询项目外,还能够将这些项目通过四则运算、函数运算方法组合,构成组合项输出;2)设置必须的查询条件,查询参数是根据报表输出项目自动提取出来的;3)设置汇总方式,是指设置数据是否以汇总方式呈现,本实施例中是根据输出项目的数据类型自动确定分组项目和聚合项目;4)设置排序方式,是指设置参与排序的项目、各排序项目的先后次序、各排序项目以升序或降序排序;5)校验报表定义,是指根据上述报表定义操作和预先存储的报表元数据,校验输出项目之间是否有逻辑关系,如果有关系,在报表定义中加入这些关系;6)预览报表,是指根据校验合格的报表定义,从数据库中查询数据供用户预览报表显示效果;7)保存模板。
一种报表定义系统,包括用于报表定义前的元数据设置的元数据设置模块,及根据设置的元数据进行报表定义的报表定义模块。其中,所述的元数据设置模块是按照业务逻辑对元数据进行组织的,所述的业务逻辑是指用户进行业务活动的流程或规则。
本实施例中,所述的元数据设置模块中设有以下装置,(1)用于定义业务分类的定义装置;(2)用于对数据库中的表按照业务逻辑进行视图定义,每个视图对应一个业务对象的视图定义装置;
(3)用于对表和定义的视图进行描述并指定业务分类的业务对象定义装置;(4)用于对表和视图中的字段进行描述的业务对象属性定义装置;(5)用于对表和视图之间的关联关系进行描述的业务对象关系定义装置。
所述的报表定义模块中设有以下装置,a.用于设置输出项目、查询条件、汇总方式、排序方式的设置装置;b.用于校验报表定义的校验装置;c.用于预览报表的预览装置;d.用于保存模板的保存装置。
本发明所述的方法并不限于具体实施方式
中所述的实施例,本领域技术人员根据本发明的技术方案得出其他的实施方式,同样属于本发明的技术创新范围。
权利要求
1.一种报表定义方法,包括报表定义前的元数据的设置步骤,及根据设置的元数据进行报表的定义步骤,其特征在于进行报表定义的元数据是按照业务逻辑进行组织的,所述的业务逻辑是指用户进行业务活动的流程或规则。
2.如权利要求1所述的一种报表定义方法,其特征在于在设置报表元数据时,包括以下步骤(1)定义业务分类,所述业务分类是指用户在业务操作中应用的分类方法,用以更好地管理业务数据;(2)定义视图,是指对数据库中的表按照业务逻辑进行视图定义,每个视图对应一个业务对象;(3)定义业务对象,是指对表和上一步中定义的视图进行描述,指定业务分类;(4)定义业务对象属性,是指对表和视图中的字段进行描述;(5)定义业务对象关系,是指对表和视图之间的关联关系进行描述。
3.如权利要求1或2所述的一种报表定义方法,其特征在于根据设置的元数据进行报表定义时,包括以下步骤1)设置输出项目;2)设置必须的查询条件;3)设置汇总方式,是指设置数据是否以汇总方式呈现;4)设置排序方式,是指设置参与排序的项目、各排序项目的先后次序、各排序项目以升序或降序排序;5)校验报表定义,是指根据上述报表定义操作和预先存储的报表元数据,校验输出项目之间是否有逻辑关系,如果有关系,在报表定义中加入这些关系;6)预览报表,是指根据校验合格的报表定义,从数据库中查询数据供用户预览报表显示效果;7)保存模板。
4.如权利要求3所述的一种报表定义方法,其特征在于步骤1)中设置输出项目时,经过前面的报表元数据定义,查询项目按照业务逻辑组织为树状结构,通过信息分类树,设置需要输出的查询项目,除了直接输出已定义的查询项目外,还能够将这些项目通过四则运算、函数运算方法组合,构成组合项输出。
5.如权利要求4所述的一种报表定义方法,其特征在于步骤2)中设置必须的查询条件时,查询参数是根据报表输出项目自动提取出来的。
6.如权利要求5所述的一种报表定义方法,其特征在于步骤3)中设置汇总方式时,是根据输出项目的数据类型自动确定分组项目和聚合项目。
7.一种报表定义系统,包括用于报表定义前的元数据设置的元数据设置模块,及根据设置的元数据进行报表定义的报表定义模块,其特征在于所述的元数据设置模块是按照业务逻辑对元数据进行组织的,所述的业务逻辑是指用户进行业务活动的流程或规则。
8.如权利要求7所述的一种报表定义系统,其特征在于所述的元数据设置模块中设有以下装置,(1)用于定义业务分类的定义装置;(2)用于对数据库中的表按照业务逻辑进行视图定义,每个视图对应一个业务对象的视图定义装置;(3)用于对表和定义的视图进行描述并指定业务分类的业务对象定义装置;(4)用于对表和视图中的字段进行描述的业务对象属性定义装置;(5)用于对表和视图之间的关联关系进行描述的业务对象关系定义装置。
9.如权利要求7所述的一种报表定义系统,其特征在于所述的报表定义模块中设有以下装置,a.用于设置输出项目、查询条件、汇总方式、排序方式的设置装置;b.用于校验报表定义的校验装置;c.用于预览报表的预览装置;d.用于保存模板的保存装置。
全文摘要
本发明涉及一种报表定义方法及系统,属于报表技术领域。现有技术中,报表定义在系统交付后是固定的,但是业务需求是千变万化的,报表定义需要随业务变化而变化,通常报表定义的元数据是按照数据库表结构而非业务逻辑进行组织的,用户无法自行完成报表定义,需要开发商配合开发,响应周期长、工作量大、成本高,导致报表定义跟不上业务变化的速度等问题。本发明所述的报表定义方法,按照业务逻辑定义、组织报表元数据,自动关联、自动分组,从而使用户可以自行进行报表定义。采用本发明所述的系统及方法,可以实现用户自行根据业务变化方便灵活的完成报表定义,减少对开发的依赖,提高了工作效率和对业务变化的反映速度,进而提高生产效率。
文档编号G06Q10/00GK1877563SQ20061008960
公开日2006年12月13日 申请日期2006年7月6日 优先权日2006年7月6日
发明者刘胜飏 申请人:北京北大方正电子有限公司, 北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1