CN106547729B - 一种数据报表的动态生成方法及系统 - Google Patents
一种数据报表的动态生成方法及系统 Download PDFInfo
- Publication number
- CN106547729B CN106547729B CN201611090374.2A CN201611090374A CN106547729B CN 106547729 B CN106547729 B CN 106547729B CN 201611090374 A CN201611090374 A CN 201611090374A CN 106547729 B CN106547729 B CN 106547729B
- Authority
- CN
- China
- Prior art keywords
- data
- configuration
- multiple groups
- sequence number
- configuration data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000008569 process Effects 0.000 claims abstract description 23
- 238000012545 processing Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 2
- 238000012423 maintenance Methods 0.000 abstract description 8
- 238000011161 development Methods 0.000 abstract description 6
- 238000007726 management method Methods 0.000 description 6
- 230000018109 developmental process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000013502 data validation Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000012797 qualification Methods 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种数据报表的动态生成方法及系统,该方法包括以下步骤:获取生成数据报表所需的配置条件;序列化配置条件,将配置条件转换为JSON格式;获取并解析序列化后的配置条件,得到多组配置数据;对多组配置数据进行处理;将处理后的多组配置数据存储在数据库中;获取每一组配置数据的序列号,通过序列号调用预存于数据库中的存储过程程序,并通过存储过程程序根据序列号分别读取处理后的配置数据;根据处理后的配置数据动态生成检索统计结构化查询语言SQL。本发明提供的一种数据报表的动态生成方法及系统,能够方便的定制个性化的数据报表,降低了数据报表的开发难度与维护成本。
Description
技术领域
本发明涉及数据管理领域,尤其涉及一种数据报表的动态生成方法及系统。
背景技术
目前,在信息管理系统的开发之中,经常会遇到生成各种各样定制化数据报表的情况,现有的处理方法通常为:预先编码并植入程序源文件中,技术人员人工配置数据库或配置文件,得到个性化的数据报表;或,通过对现有信息系统进行二次升级开发于维护,增加新的数据报表功能。
在当前的信息管理系统中,由于关系型数据库的库表字段结构是相对固定的,在系统运行阶段不能随意变更,造成如若新增的统计报表,为了对数据库表结构进行变更,可能需要对信息系统进行停机升级维护。因此,在现有的信息管理系统中实现统计检索报表的功能,不可避免的需要进行二次开发或相关技术人员的辅助参与,并且对系统的使用人员也有相当高的相关查询技术基础的要求,对系统开发方也有更高的运行与维护的要求。因此,现有定制个性化数据报表的方法要求高、成本高、开发不便。
发明内容
本发明所要解决的技术问题是为了克服现有的信息管理系统中针对新增加定制化的数据报表的功能所造成的二次开发与维护成本过高的不足,提供一种预置于信息管理系统源代码之中的,数据报表的检索统计结构化查询语言SQL的动态生成方式,实现了不对现有信息管理系统进行二次升级开发与维护,也可增加新的数据报表功能。
本发明解决上述技术问题的技术方案如下:
一种数据报表的动态生成方法,包括以下步骤:
步骤1,获取生成数据报表所需的配置条件,所述配置条件包括:所要检索的数据来源、数据检索限定条件、检索数据的统计方式等;
步骤2,序列化所述配置条件,将所述配置条件转换为JSON格式;
步骤3,获取并解析序列化后的所述配置条件,得到多组配置数据;
步骤4,对多组所述配置数据进行处理;
步骤5,将处理后的多组所述配置数据存储在数据库中;
步骤6,获取每一组所述配置数据的序列号,通过所述序列号调用预存于所述数据库中的存储过程程序,并通过所述存储过程程序根据所述序列号分别读取处理后的所述配置数据;
步骤7,根据处理后的所述配置数据动态生成检索统计结构化查询语言SQL。
本发明的有益效果是:本发明提供的一种数据报表的动态生成方法,通过对配置条件进行处理,动态地生成检索统计结构化查询语言SQL,动态体现于自动处理多表间关联关系,能够方便的定制个性化的数据报表,降低了数据报表的开发难度与维护成本,当表间关系发生变化时,无需用户重新配置,系统将自动根据变化后的表间关系生成对应的SQL,同时查询结果如存在复杂数据代码表映射时,也可自动进行对照映射查询,极大地减少了因数据表结构或代码发生变动而引起的报表失效重新配置的工作。
在上述技术方案的基础上,本发明还可以做如下改进。
进一步地,步骤4中,包括:
步骤4.1,对多组所述配置数据进行分类,可以按排序条件、关联方式、查询的数据类型与数据合法性校验等进行分类;
步骤4.2,使用分类映射的方法得到生成所述数据报表头部的绘制数据。
进一步地,所述绘制数据包括所述数据报表头部中每个头部单元格的具体坐标、内容以及样式信息,所述样式信息为表格的风格样式信息,如字体、字号、边框、颜色等信息。
进一步地,所述SQL查询的数据内容的每一数据列的起始坐标,与所述起始坐标和跨行跨列数据的组合所表示的表头一一对应,在Web表单中,以一个起始坐标和所述跨行跨列数据的组合表示表头位置,在Excel表单中,以一组起始坐标表示表头位置。
本发明解决上述技术问题的另一种技术方案如下:
一种数据报表的动态生成系统,包括:
获取模块,用于获取生成数据报表所需的配置条件,所述配置条件包括:所要检索的数据来源、数据检索限定条件、检索数据的统计方式等;
转换模块,用于序列化所述配置条件,将所述配置条件转换为JSON格式;
解析模块,用于获取并解析序列化后的所述配置条件,得到多组配置数据;
处理模块,用于对多组所述配置数据进行处理;
数据库,用于存储处理后的多组所述配置数据;
读取模块,用于获取每一组所述配置数据的序列号,通过所述序列号调用预存于所述数据库中的存储过程程序,并通过所述存储过程程序根据所述序列号分别读取处理后的所述配置数据;
生成模块,用于根据处理后的所述配置数据动态生成检索统计结构化查询语言SQL。
进一步地,所述处理模块具体用于对多组所述配置数据进行分类,可以按排序条件、关联方式、查询的数据类型与数据合法性校验等进行分类,并使用分类映射的方法得到生成所述数据报表头部的绘制数据。
进一步地,所述绘制数据包括所述数据报表头部中每个头部单元格的具体坐标、内容以及样式信息,所述样式信息为表格的风格样式信息,如字体、字号、边框、颜色等信息。
进一步地,所述SQL查询的数据内容的每一数据列的起始坐标,与所述起始坐标和跨行跨列数据的组合所表示的表头一一对应,在Web表单中,以一个起始坐标和所述跨行跨列数据的组合表示表头位置,在Excel表单中,以一组起始坐标表示表头位置。
本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明实践了解到。
附图说明
图1为本发明实施例提供的一种数据报表的动态生成方法的流程示意图;
图2为本发明另一实施例提供的一种数据报表的动态生成系统的结构框架图。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
如图1所示,为本发明实施例提供的一种数据报表的动态生成方法的流程示意图,该方法包括以下步骤:
S101,获取生成数据报表所需的配置条件,配置条件包括:所要检索的数据来源、数据检索限定条件、检索数据的统计方式等,配置条件可以由动态生成系统提供的前端图形化Web操作界面上选择;
S102,根据ECMA-404标准规范序列化配置条件,将配置条件转换为JSON格式,其中,配置条件是图形化数据;
S103,获取并解析序列化后的配置条件,得到多组配置数据;
S104,对多组配置数据进行处理;
S105,将处理后的多组配置数据存储在数据库中;
S106,获取每一组配置数据的序列号,通过序列号调用预存于数据库中的存储过程程序,并通过存储过程程序根据序列号分别读取处理后的配置数据;S107,根据处理后的配置数据动态生成检索统计结构化查询语言SQL。
上述实施例中提供的一种数据报表的动态生成方法,通过对配置条件进行处理,动态地生成检索统计结构化查询语言SQL,动态体现于自动处理多表间关联关系,能够方便的定制个性化的数据报表,降低了数据报表的开发难度与维护成本,当表间关系发生变化时,无需用户重新配置,系统将自动根据变化后的表间关系生成对应的SQL,同时查询结果如存在复杂数据代码表映射时,也可自动进行对照映射查询,极大地减少了因数据表结构或代码发生变动而引起的报表失效重新配置的工作。
进一步,S106中,获取序列号,把SQL和对应表头的坐标存到表里,然后应用通过序列号去表里查。
进一步,S104中,包括:对多组配置数据进行分类,可以按排序条件、关联方式、查询的数据类型与数据合法性校验等进行分类;使用分类映射的方法得到生成数据报表头部的绘制数据。
进一步,绘制数据包括数据报表头部中每个头部单元格的具体坐标、内容以及样式信息,表头可以为微软电子表格Office Excel或Web表格中的每一列数据的标题,同时次数据标题不一定仅为1行,会根据具体的统计数据类型而计算生成多行跨列的复合表头,样式信息为表格的风格样式信息,如字体、字号、边框、颜色等信息。
进一步,SQL查询的数据内容的每一数据列的起始坐标,与起始坐标和跨行跨列数据的组合所表示的表头一一对应,在Web表单中,以一个起始坐标和跨行跨列数据的组合表示表头位置,在Excel表单中,以一组起始坐标表示表头位置。
进一步地,所述存储过程程序的执行过程为:
1、游标循环查出报表的详细配置数据;
2、循环拼接显示字段(select);
3、循环拼接分组字段(group);
4、循环拼接排序字段(order);
5、处理计算方式,如简单计数和分类计数;
6、插入表头坐标(非分类计数的列);
7、对分类计数的列进行排列组合;
8、处理小计列;
9、循环拼接分类计数的显示列;
10、插入表头坐标(分类计数的列);
11、循环拼接所有关联表(join);
12、循环拼接条件语句(where);
13、整合完成报表sql语句;
14、格式化报表sql语句;
15、处理报表的序号和合计。
在另一实施例中,如图2所示,为本发明另一实施例提供的一种数据报表的动态生成系统的结构框架图,该系统包括:
获取模块201,用于获取生成数据报表所需的配置条件,配置条件包括:所要检索的数据来源、数据检索限定条件、检索数据的统计方式等;
转换模块202,用于根据ECMA-404标准规范序列化配置条件,将配置条件转换为JSON格式;
解析模块203,用于获取并解析序列化后的配置条件,得到多组配置数据;
处理模块204,用于对多组配置数据进行处理;
数据库205,用于存储处理后的多组配置数据;
读取模块206,用于获取每一组配置数据的序列号,通过序列号调用预存于数据库205中的存储过程程序,并通过存储过程程序根据序列号分别读取处理后的配置数据;
生成模块207,用于根据处理后的配置数据动态生成检索统计结构化查询语言SQL。
进一步,处理模块204具体用于对多组配置数据进行分类,可以按排序条件、关联方式、查询的数据类型与数据合法性校验等进行分类,并使用分类映射的方法得到生成数据报表头部的绘制数据。
进一步,绘制数据包括数据报表头部中每个头部单元格的具体坐标、内容以及样式信息,样式信息为表格的风格样式信息,如字体、字号、边框、颜色等信息。
进一步,SQL查询的数据内容的每一数据列的起始坐标,与起始坐标和跨行跨列数据的组合所表示的表头一一对应,在Web表单中,以一个起始坐标和跨行跨列数据的组合表示表头位置,在Excel表单中,以一组起始坐标表示表头位置。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种数据报表的动态生成方法,其特征在于,包括以下步骤:
步骤1,获取生成数据报表所需的配置条件;
步骤2,序列化所述配置条件,将所述配置条件转换为JSON格式;
步骤3,获取并解析序列化后的所述配置条件,得到多组配置数据;
步骤4,对多组所述配置数据进行分类,使用分类映射的方法得到生成所述数据报表头部的绘制数据;
步骤5,将处理后的多组所述配置数据存储在数据库中;
步骤6,获取每一组所述配置数据的序列号,通过所述序列号调用预存于所述数据库中的存储过程程序,并通过所述存储过程程序根据所述序列号分别读取处理后的所述配置数据;
步骤7,根据处理后的所述配置数据动态生成检索统计结构化查询语言SQL。
2.根据权利要求1所述的动态生成方法,其特征在于,所述绘制数据包括所述数据报表头部中每个头部单元格的具体坐标、内容以及样式信息。
3.根据权利要求2所述的动态生成方法,其特征在于,所述SQL查询的数据内容的每一数据列的起始坐标,与所述起始坐标和跨行跨列数据的组合所表示的表头一一对应。
4.一种数据报表的动态生成系统,其特征在于,包括:
获取模块,用于获取生成数据报表所需的配置条件;
转换模块,用于序列化所述配置条件,将所述配置条件转换为JSON格式;
解析模块,用于获取并解析序列化后的所述配置条件,得到多组配置数据;
处理模块,用于对多组所述配置数据进行分类,并使用分类映射的方法得到生成所述数据报表头部的绘制数据;
数据库,用于存储处理后的多组所述配置数据;
读取模块,用于获取每一组所述配置数据的序列号,通过所述序列号调用预存于所述数据库中的存储过程程序,并通过所述存储过程程序根据所述序列号分别读取处理后的所述配置数据;
生成模块,用于根据处理后的所述配置数据动态生成检索统计结构化查询语言SQL。
5.根据权利要求4所述的动态生成系统,其特征在于,所述绘制数据包括所述数据报表头部中每个头部单元格的具体坐标、内容以及样式信息。
6.根据权利要求5所述的动态生成系统,其特征在于,所述SQL查询的数据内容的每一数据列的起始坐标,与所述起始坐标和跨行跨列数据的组合所表示的表头一一对应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611090374.2A CN106547729B (zh) | 2016-12-01 | 2016-12-01 | 一种数据报表的动态生成方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611090374.2A CN106547729B (zh) | 2016-12-01 | 2016-12-01 | 一种数据报表的动态生成方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106547729A CN106547729A (zh) | 2017-03-29 |
CN106547729B true CN106547729B (zh) | 2019-02-01 |
Family
ID=58396008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611090374.2A Active CN106547729B (zh) | 2016-12-01 | 2016-12-01 | 一种数据报表的动态生成方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106547729B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170836A (zh) * | 2018-01-12 | 2018-06-15 | 中广核工程有限公司 | 一种核电站电缆端接大数据的处理方法及其系统 |
CN108874387B (zh) * | 2018-06-27 | 2022-05-17 | 深圳市金蝶天燕云计算股份有限公司 | 一种数据序列化方法及其相关设备 |
CN109408533A (zh) * | 2018-10-22 | 2019-03-01 | 中国银行股份有限公司 | 数据处理及检索方法、数据库、检索引擎及系统 |
CN109508953B (zh) * | 2018-10-25 | 2020-10-09 | 广州中浩控制技术有限公司 | 一种表格模板生成方法 |
CN109492209B (zh) * | 2018-10-25 | 2022-02-18 | 广州中浩控制技术有限公司 | 一种表格签名栏自动生成方法 |
CN109446182B (zh) * | 2018-11-05 | 2021-08-27 | 广州中浩控制技术有限公司 | 一种复合采集方法 |
CN109522536B (zh) * | 2018-11-05 | 2022-02-18 | 广州中浩控制技术有限公司 | 一种表格自动填写方法 |
CN109376159B (zh) * | 2018-12-05 | 2021-08-20 | 广州中浩控制技术有限公司 | 一种批记录自动生成方法 |
CN112818043A (zh) * | 2021-01-26 | 2021-05-18 | 四川天翼网络服务有限公司 | 一种基于json自描述的数据源报表生成方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1480868A (zh) * | 2002-09-03 | 2004-03-10 | 鸿富锦精密工业(深圳)有限公司 | 财务报表生成系统及方法 |
CN101730077A (zh) * | 2009-11-20 | 2010-06-09 | 中兴通讯股份有限公司 | 一种基于报表订阅的配置报表参数值的方法及系统 |
CN104657384A (zh) * | 2013-11-21 | 2015-05-27 | 航天信息股份有限公司 | 一种基于二维关系的动态配置报表数据处理方法 |
CN105260476A (zh) * | 2015-11-06 | 2016-01-20 | 上海熙菱信息技术有限公司 | 一种自定义报表的配置方法和系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100100562A1 (en) * | 2008-10-01 | 2010-04-22 | Jerry Millsap | Fully Parameterized Structured Query Language |
-
2016
- 2016-12-01 CN CN201611090374.2A patent/CN106547729B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1480868A (zh) * | 2002-09-03 | 2004-03-10 | 鸿富锦精密工业(深圳)有限公司 | 财务报表生成系统及方法 |
CN101730077A (zh) * | 2009-11-20 | 2010-06-09 | 中兴通讯股份有限公司 | 一种基于报表订阅的配置报表参数值的方法及系统 |
CN104657384A (zh) * | 2013-11-21 | 2015-05-27 | 航天信息股份有限公司 | 一种基于二维关系的动态配置报表数据处理方法 |
CN105260476A (zh) * | 2015-11-06 | 2016-01-20 | 上海熙菱信息技术有限公司 | 一种自定义报表的配置方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106547729A (zh) | 2017-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106547729B (zh) | 一种数据报表的动态生成方法及系统 | |
CN106980637B (zh) | Sql审核方法和装置 | |
CN104123374B (zh) | 分布式数据库中聚合查询的方法及装置 | |
CN104778241B (zh) | 一种报表生成方法及系统 | |
CN104133772B (zh) | 一种自动生成测试数据的方法 | |
CN101739390B (zh) | 基于技术设计文档的数据转换 | |
CN105868171B (zh) | 一种Excel文件的校验方法及装置 | |
CN106599039B (zh) | 一种支持关系数据库数据自由组合嵌套的统计表述方法 | |
US20120303645A1 (en) | System and method for extraction of structured data from arbitrarily structured composite data | |
CN104199831A (zh) | 信息处理方法及装置 | |
CN108694214A (zh) | 数据报表的生成方法、生成装置、可读介质及电子设备 | |
CN105786921B (zh) | 一种非结构化文档的数据模块转化方法和装置 | |
CN108280051B (zh) | 一种文本数据中错误字符的检测方法、装置和设备 | |
US9811449B2 (en) | Test scenario generation support device and test scenario generation support method | |
WO2014070037A1 (en) | Automated report generation method | |
CN104408030B (zh) | Xbrl实例生成方法和xbrl实例生成装置 | |
CN102810094A (zh) | 报表生成方法及装置 | |
US20080155519A1 (en) | Code translator | |
CN107291907A (zh) | 一种业务数据多语言存储和查询方法及装置 | |
CN102902778A (zh) | 查询语句优化装置和查询语句优化方法 | |
US7844601B2 (en) | Quality of service feedback for technology-neutral data reporting | |
CN111190965B (zh) | 基于文本数据的即席关系分析系统及方法 | |
US8745050B2 (en) | Definitions in master documents | |
CN104484156B (zh) | 多语言公式的编辑方法、编辑系统和多语言公式编辑器 | |
CN107656755A (zh) | 规则引擎的编辑方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 100190 17-19 / F, building a 1, 66 Zhongguancun East Road, Haidian District, Beijing Patentee after: New Great Wall Technology Co.,Ltd. Address before: 100190 17-19 / F, building a 1, 66 Zhongguancun East Road, Haidian District, Beijing Patentee before: GREAT WALL COMPUTER SOFTWARE & SYSTEMS Inc. |
|
CP01 | Change in the name or title of a patent holder |