CN112818043A - 一种基于json自描述的数据源报表生成方法 - Google Patents

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

Info

Publication number
CN112818043A
CN112818043A CN202110104539.1A CN202110104539A CN112818043A CN 112818043 A CN112818043 A CN 112818043A CN 202110104539 A CN202110104539 A CN 202110104539A CN 112818043 A CN112818043 A CN 112818043A
Authority
CN
China
Prior art keywords
data
report
json
description
self
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
Application number
CN202110104539.1A
Other languages
English (en)
Inventor
邓雄
苟林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Tianyi Network Service Co ltd
Original Assignee
Sichuan Tianyi Network Service Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan Tianyi Network Service Co ltd filed Critical Sichuan Tianyi Network Service Co ltd
Priority to CN202110104539.1A priority Critical patent/CN112818043A/zh
Publication of CN112818043A publication Critical patent/CN112818043A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; Duplicate elimination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Abstract

本发明公开了一种基于JSON自描述的数据源报表生成方法,包括以下步骤:定义报表规则,通过报表设计器对JSON数据报表数据来源、字段描述、处理规则和报表展示进行定义和配置;报表数据生成,根据定义的报表规则利用数据查询器获取到数据源的JSON数据,并在获取到的数据源的头部添加对该数据源JSON数据的描述信息,形成JSON自描述数据文件;报表生成,获取JSON自描述数据文件,并读取该文件中JSON数据的meta‑data信息同时进行报表的计算、聚合,以及按照报表设计器定义的报表展示规则显示报表数据。本发明利用JSON扩展性、跨语言的通用性特点,将其作为报表通用数据源,加上自描述信息,可以实现异构环境下多数据源的报表设计和制作,以及数据内容与报表设计、展示分离。

Description

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

Claims (5)

1.一种基于JSON自描述的数据源报表生成方法,其特征在于,包括以下步骤:
步骤一:定义报表规则,通过报表设计器对JSON数据报表数据来源、字段描述、处理规则和报表展示进行定义和配置;
步骤二:报表数据生成,根据定义的报表规则利用数据查询器获取到数据源的JSON数据,并在获取到的数据源的头部添加对该数据源JSON数据的描述信息,形成JSON自描述数据文件;
步骤三:报表生成,获取JSON自描述数据文件,并读取该文件中JSON数据的meta-data信息同时进行报表的计算、聚合,以及按照报表设计器定义的报表展示规则显示报表数据。
2.根据权利要求1所述的一种基于JSON自描述的数据源报表生成方法,其特征在于,所述步骤一具体包括以下子步骤:
S101,数据源定义,根据数据访问类型定义数据库SQL、WEB REST接口和Non-SQL数据源;
S102,元数据定义,获取JSON数据,根据报表的业务规则的需要,对JSON数据进行元数据的内容进行定义;
S103,报表展示定义,以UI的方式配置报表、字段的元数据列表格式,以及图表和简化查询方式。
3.根据权利要求2所述的一种基于JSON自描述的数据源报表生成方法,其特征在于,所述步骤S101中的数据访问类型包括:用户输入的jdbc连接信息、数据访问sql,或有效的URL访问地址。
4.根据权利要求1所述的一种基于JSON自描述的数据源报表生成方法,其特征在于,所述步骤二中还包括多数据源处理过程:对报表定义的多数据源,对数据源中相同“id”的列,按照“merge”规则,进行聚合,并将聚合后的数据传递给报表生成器。
5.一种基于JSON自描述的数据源报表生成系统,其特征在于,包括报表设计器,用于定义和配置报表的数据源、字段描述、处理规则和报表展示规则;数据查询器,用于获取报表中的数据源JSON数据并进行分析处理生成JSON自描述数据文件;报表生成器,用于从数据查询器中获取JSON自描述数据文件,并读取该文件中JSON数据的meta-data信息同时进行报表的计算、聚合,以及按照报表设计器定义的报表展示规则显示报表数据。
CN202110104539.1A 2021-01-26 2021-01-26 一种基于json自描述的数据源报表生成方法 Pending CN112818043A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110104539.1A CN112818043A (zh) 2021-01-26 2021-01-26 一种基于json自描述的数据源报表生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110104539.1A CN112818043A (zh) 2021-01-26 2021-01-26 一种基于json自描述的数据源报表生成方法

Publications (1)

Publication Number Publication Date
CN112818043A true CN112818043A (zh) 2021-05-18

Family

ID=75859394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110104539.1A Pending CN112818043A (zh) 2021-01-26 2021-01-26 一种基于json自描述的数据源报表生成方法

Country Status (1)

Country Link
CN (1) CN112818043A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114118018A (zh) * 2021-11-25 2022-03-01 福建博思软件股份有限公司 一种跨平台的电子报表的实现方式

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760370A (zh) * 2014-12-14 2016-07-13 云南电力调度控制中心 一种插件式报表框架技术
CN106547729A (zh) * 2016-12-01 2017-03-29 长城计算机软件与系统有限公司 一种数据报表的动态生成方法及系统
CN106649225A (zh) * 2016-12-30 2017-05-10 冶金自动化研究设计院 一种基于json自定义的报表生成系统及方法
CN107977351A (zh) * 2017-12-28 2018-05-01 平安科技(深圳)有限公司 电子报表生成方法、装置、计算机设备及存储介质
CN110618983A (zh) * 2019-08-15 2019-12-27 复旦大学 基于json文档结构的工业大数据多维分析与可视化方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760370A (zh) * 2014-12-14 2016-07-13 云南电力调度控制中心 一种插件式报表框架技术
CN106547729A (zh) * 2016-12-01 2017-03-29 长城计算机软件与系统有限公司 一种数据报表的动态生成方法及系统
CN106649225A (zh) * 2016-12-30 2017-05-10 冶金自动化研究设计院 一种基于json自定义的报表生成系统及方法
CN107977351A (zh) * 2017-12-28 2018-05-01 平安科技(深圳)有限公司 电子报表生成方法、装置、计算机设备及存储介质
CN110618983A (zh) * 2019-08-15 2019-12-27 复旦大学 基于json文档结构的工业大数据多维分析与可视化方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114118018A (zh) * 2021-11-25 2022-03-01 福建博思软件股份有限公司 一种跨平台的电子报表的实现方式
CN114118018B (zh) * 2021-11-25 2024-02-06 福建博思软件股份有限公司 一种跨平台的电子报表的实现方式

Similar Documents

Publication Publication Date Title
US20080208805A1 (en) Apparatus and method for remote querying of data sources
US20080271127A1 (en) Apparatus and method for creating stand-alone business intelligence widgets within an authentication framework
US9746932B2 (en) Gesture inferred vocabulary bindings
EP1482418A1 (en) A data processing method and system
US9753960B1 (en) System, method, and computer program for dynamically generating a visual representation of a subset of a graph for display, based on search criteria
GB2465378A (en) Image based search system and method
AU2011247915B2 (en) Enhancing an inquiry for a search of a database
KR20160053933A (ko) 스마트 검색 정제 기법
CA2720522C (en) Data viewer management
US10867337B2 (en) Creating secure social applications with extensible types
US10313421B2 (en) Providing Odata service based on service operation execution flow
CN110955803A (zh) 基于图数据库的关系图谱的绘制方法、装置、设备及介质
CN114036177A (zh) 基于组件的智能报表的设计与实现方法
CN112818043A (zh) 一种基于json自描述的数据源报表生成方法
US8392358B2 (en) Temporal extent considerations in reporting on facts organized as a dimensionally-modeled fact collection
CN110716955A (zh) 一种快速响应数据查询请求的方法和系统
CN110019433B (zh) 一种报表查询方法和装置
US11609924B2 (en) Database query execution on multiple databases
Moncrieff et al. Integrating geo web services for a user driven exploratory analysis
Zainab et al. Malaysian scholarly e-journals: focus on EJUM, a journal management system
CA2663859C (en) Apparatus and method for updating a report through view time interaction
WO2022178931A1 (zh) 一种查询动态列的实现方法、装置及设备
US20230367786A1 (en) Unified cloud storage data processing framework for multi-source systems
CN115952232A (zh) 一种云数据可视化方法、装置、终端及存储介质
KR20240031594A (ko) 통합 컨텐츠 처리 장치 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20210518

RJ01 Rejection of invention patent application after publication