掌桥专利:专业的专利平台
掌桥专利
首页

一种基于JSON自描述的数据源报表生成方法

文献发布时间:2023-06-19 11:02:01


一种基于JSON自描述的数据源报表生成方法

技术领域

本发明涉及计算机软件领域,尤其涉及一种基于JSON自描述的数据源报表生成方法。

背景技术

报表就是用表格、图表等格式来动态显示数据,可以用公式表示为:“报表 = 多样的格式 + 动态的数据”。 在没有计算机以前,人们利用纸和笔来记录数据,比如:民间常常说的豆腐帐,就是卖豆腐的每天将自己的卖出的豆腐记在一个本子上,然后每月都要汇总算算,这种情况下,报表数据和报表格式是紧密结合在一起的,都在同一个本子上。数据也只能有一种几乎只有记帐的人才能理解的表现形式,且这种形式难于修改。

当计算机出现之后,人们利用计算机处理数据和界面设计的功能来生成、展示报表。计算机上的报表的主要特点是数据动态化,格式多样化,并且实现报表数据和报表格式的完全分离,用户可以只修改数据,或者只修改格式。报表分类EXCEL、WORD等编辑软件:它们可以做出很复杂的报表格式,但是由于它们没有定义专门的报表结构来动态的加载报表数据,所有这类软件中的数据都是已经定义好的,静态的,不能动态变化的。它们没有办法实现报表软件的“数据动态化”特性。

随着计算机技术的发展,在目前的实际应用中,主要采用三种方法来生成报表。第一种是采用人工填写Excel方式来生成报表,这种报表格式比较自由,主要以人工填写为主,效率比较低,不具备历史数据查阅。第二种是在各种应用系统中,将数据库中数据灌入到硬编码的表格中,生成可查看的报表,此方法的可动态查看历史数据,但不能随意的更改报表的显示方式。第三种是将报表的显示抽象成模板,模板可自由构造,前台和后台通过模板的分析,将数据填充到前台由模板生成的报表中。

现有的报表系统生成报表的JSON是固定的,扩展性不好,且报表不能合并输出,不能支持多数据源数据融合。

发明内容

本发明的目的在于克服现有技术的不足,提供一种基于JSON自描述的数据源报表生成方法。

本发明的目的是通过以下技术方案来实现的:

一种基于JSON自描述的数据源报表生成方法,包括以下步骤:

步骤一:定义报表规则,通过报表设计器对JSON数据报表数据来源、字段描述、处理规则和报表展示进行定义和配置;

步骤二:报表数据生成,根据定义的报表规则利用数据查询器获取到数据源的JSON数据,并在获取到的数据源的头部添加对该数据源JSON数据的描述信息,形成JSON自描述数据文件;

步骤三:报表生成,获取JSON自描述数据文件,并读取该文件中JSON数据的meta-data信息同时进行报表的计算、聚合,以及按照报表设计器定义的报表展示规则显示报表数据。

具体的,所述步骤一具体包括以下子步骤:

S101,数据源定义,根据数据访问类型定义数据库SQL、WEB REST接口和Non-SQL数据源;

S102,元数据定义,获取JSON数据,根据报表的业务规则的需要,对JSON数据进行元数据的内容进行定义;

S103,报表展示定义,以UI的方式配置报表、字段的元数据列表格式,以及图表和简化查询方式。

具体的,所述步骤S101中的数据访问类型包括:用户输入的jdbc连接信息、数据访问sql,或有效的URL访问地址。

具体的,所述步骤二中还包括多数据源处理过程:对报表定义的多数据源,对数据源中相同“id”的列,按照“merge”规则,进行聚合,并将聚合后的数据传递给报表生成器。

一种基于JSON自描述的数据源报表生成系统,包括报表设计器,用于定义和配置报表的数据源、字段描述、处理规则和报表展示规则;数据查询器,用于获取报表中的数据源JSON数据并进行分析处理生成JSON自描述数据文件;报表生成器,用于从数据查询器中获取JSON自描述数据文件,并读取该文件中JSON数据的meta-data信息同时进行报表的计算、聚合,以及按照报表设计器定义的报表展示规则显示报表数据。

本发明的有益效果:本发明利用JSON扩展性、跨语言的通用性特点,将其作为报表通用数据源,加上自描述信息,达成通用报表设计的方案,可以实现异构环境下多数据源的报表设计和制作,以及数据内容与报表设计、展示分离。

附图说明

图1是本发明的方法实现流程图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式。

本实施例中,如图1所示,一种基于JSON自描述的数据源报表生成方法,包括以下步骤:

步骤一:定义报表规则,通过报表设计器对JSON数据报表数据来源、字段描述、处理规则和报表展示进行定义和配置;

步骤二:报表数据生成,根据定义的报表规则利用数据查询器获取到数据源的JSON数据,并在获取到的数据源的头部添加对该数据源JSON数据的描述信息,形成JSON自描述数据文件;

步骤三:报表生成,获取JSON自描述数据文件,并读取该文件中JSON数据的meta-data信息同时进行报表的计算、聚合,以及按照报表设计器定义的报表展示规则显示报表数据。

具体的,步骤一具体包括以下子步骤:

S101,数据源定义,根据数据访问类型定义数据库SQL、WEB REST接口和Non-SQL数据源;

S102,元数据定义,获取JSON数据,根据报表的业务规则的需要,对JSON数据进行元数据的内容进行定义;

S103,报表展示定义,以UI的方式配置报表、字段的元数据列表格式,以及图表和简化查询方式。

具体的,所述步骤S101中的数据访问类型包括:用户输入的jdbc连接信息、数据访问sql,或有效的URL访问地址。

报表设计,用户通过/报表设计器/完成J对SON数据报表数据来源、字段描述、处理规则和报表展示的定义。

数据源定义,本方案支持关系数据库SQL、WEB REST接口、Non-SQL数据源的定义,用户输入jdbc连接信息、数据访问sql,或有效的URL访问地址,即可获取有效的json格式数据,并验证和展示。

元数据定义,数据源定义中获取到JSON数据后,就可以根据报表业务规则的需要,对JSON数据进行元数据定义,内容包含如下:1、数据标识:来源、字段id,字段类型等;2、报表展示:是否显示、标题、字段排序、显示格式、查询过滤等;3、 报表计算:聚合函数。

报表展示定义,本方案提供默认报表展示的模板,根据报表、字段的元数据已列表的方式进行展示,并导出为excel文件;

报表设计器也以UI的方式,提供用户报表展示更多的选择,例如图表、交互查询方式等。

报表数据生成,通过用户定义和配置,/数据查询器/在获取到数据源的json数据后,在数据头增加对该数据源json数据的描述信息,形成/JSON自描述数据文件/:

普通JSON数据格式

/** */

{

"name": "George Washington",

"birthday": "February 22, 1732",

"address": "Mount Vernon, Virginia, United States"

}

增加了元数据的自描述JSON格式

{

"meta-data" {

"id": "json数据标识"

"colums": {

“name”: {

"title": "姓名"

"column-id": “name”,

"data-type": “string”,

“merge”: "false",

"format": ""

},

“birthday”: {

"title": "出生日期"

"column-id": “birthday”,

"data-type": “date”,

“merge”: "false",

"format": "YYYY-MM-DD"

},

“address”: {

"title": "地址"

"column-id": “address”,

"data-type": “string”,

“merge”: "false",

"format": ""

},

“age”: {

"title": "年龄"

"column-id": “age”,

"data-type": “int”,

“merge”: "avg", //avg、sum、max、min等统计函数

"format": ""

},

}

}

“data” : {

"name": "George Washington",

"birthday": "February 22, 1732",

"address": "Mount Vernon, Virginia, United States".

"Age": "26"

}

}

多数据源处理,如果报表定义了多数据源,则在本步骤中,对相同“id”的列,按照“merge”规则,进行聚合,并将聚合后的数据传递给报表生成器。

一种基于JSON自描述的数据源报表生成系统,包括报表设计器,用于定义和配置报表的数据源、字段描述、处理规则和报表展示规则;数据查询器,用于获取报表中的数据源JSON数据并进行分析处理生成JSON自描述数据文件;报表生成器,用于从数据查询器中获取JSON自描述数据文件,并读取该文件中JSON数据的meta-data信息同时进行报表的计算、聚合,以及按照报表设计器定义的报表展示规则显示报表数据。

一般情况下,使用报表工具都是直接连接数据库,利用SQL查询报表数据。但JSON数据应用的范围愈来愈广,特别是互联网、三方系统接口对接,JSON数据格式,以其良好的扩展性,得到广泛的应用。

本专利就是利用JSON扩展性、跨语言的通用性特点,将其作为报表通用数据源,加上自描述信息,达成通用报表设计的方案,可以解决以下问题:

1、解决异构环境下,多数据源的报表设计和制作。

2、数据内容与报表设计、展示分离。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护的范围由所附的权利要求书及其等效物界定。

相关技术
  • 一种基于JSON自描述的数据源报表生成方法
  • 一种基于JSON自定义的报表生成系统及方法
技术分类

06120112774254