CN109669949A - 一种基于数据模型的动态报表生成方法和系统实现 - Google Patents
一种基于数据模型的动态报表生成方法和系统实现 Download PDFInfo
- Publication number
- CN109669949A CN109669949A CN201811608171.7A CN201811608171A CN109669949A CN 109669949 A CN109669949 A CN 109669949A CN 201811608171 A CN201811608171 A CN 201811608171A CN 109669949 A CN109669949 A CN 109669949A
- Authority
- CN
- China
- Prior art keywords
- field
- report
- definition
- model
- querying condition
- 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
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000013499 data model Methods 0.000 title claims abstract description 63
- 238000009877 rendering Methods 0.000 claims description 18
- 238000013461 design Methods 0.000 claims description 12
- 230000003068 static effect Effects 0.000 claims description 12
- 230000008569 process Effects 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 18
- 238000005457 optimization Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于数据模型的动态报表生成方法和系统实现,包括步骤一:定义查询字段方案、步骤二:定义查询模型、步骤三:定义查询报表和步骤四:执行报表,可用于信息化系统中快速配置和生成报表。在信息化系统中,日常报表通常按主题进行分类,每个主题在底层业务数据中可表现为一个或多个数据模型,一个数据模型通常可以分为一维模型和多维数据模型两种,每种数据模型可被描述成数据库中的一张包含N列的宽表。只需对宽表中的字段和数据进行数据模型的定义,最后就能通过定义的组合快速生成和输出报表。通过配置方法减少重复代码开发量,提供统一数据模型的复用性,提升报表的开发效能力,减少IT人员报表开发方面的投入的时间。
Description
技术领域
本发明涉及报表处理的技术领域,具体为一种基于数据模型的动态报表生成方法和系统实现。
背景技术
随着IT技术发展,针对各类信息业务系统的开发越来越多,企业数据也会变的越来越复杂,为了满足企业管理的要求,针对企业数据的分析维度越来越多,报表也是作为反映经营分析的一种重要的手段,针对同一个分析模型,由于报表的观察角度不一样往往需要生成多个展现报表,导致需要开发人员针对针对性的进行大量的报表开发,开发效率低,代码可服用性差,不便于后期维护。
报表是企业应用软件系统中不可或缺的一部分。过计算机自动或辅助生成各种业务报表,可以实现业务的规范化管理,建立新的自动化业务工作流程和业务模式,极大地提高工作效率以及加速各行业的信息化进程。
在中国专利CN 101308490中公开的一种动态报表生成方法及平台
采用一种根据业务特征定义的数据集模型来组织数据、基于数据集模型的数据绑定以及报表结构的变换规则配置,并通过报表生成引擎自动生成报表实例,形成一种生成报表的方法。利用本发明提供的动态报表生成方法及平台,使得用户可以根据不同数据的特征采用不同的展现方式,使用者无需专业的计算机知识即可方便地根据业务需要定制和生成报表,并且提高了工作效率,加强了报表的表达能力和系统的可扩展性。
解决了传统工具在设置报表数据时直接依赖于底层的数据库模式,需要采用手动编写SQL语句或数据表辅助视图的方式来从数据库中指定数据,例如MSAccess中的内置报表功能,因此增大了报表制作的难度,需要专门的数据库管理员参与。其次,部分行业对报表格式要求较为特殊,需要在生成报表时根据数据的具体特征动态生成不同的报表格式,例如,针对不同类型的记录,表格的每行都具有不同数量的列。传统工具如水晶报表和润乾报表没有考虑这种报表结构需要动态调整的情况的问题。
但是该发明:“一种动态报表生成方法及平台”中并没有解决关于配置方法减少重复代码开发量,提供统一数据模型的复用性,提升报表的开发效能力,优化深度不够,缺乏优化体系,和减少IT人员报表开发方面的投入的时间的有效解决方针和解决方法。
在中国专利CN 105138501B中公开的一种可配置的动态报表生成方法及系统报表数据展示方法,能够以批量的可配置的方式自动化的展示报表统计数据,使用可配置的报表,提高统计分析报表的开发效率,减少重复代码的开发量,提高了代码复用性,提高报表数据分析效果;
通过6个步骤进行分析和建立模板来提高开发率;
步骤1,建立报表模板;
步骤2,建立报表配置表和报表条件表,根据业务逻辑对报表配置表和报表条件表进行配置;
步骤3,解析所述报表条件表,建立报表展示区域,自动生成查询页面;
步骤3,接收用户在查询页面输入的查询条件,结合报表配置表和报表条件表生成查询语句;
步骤5,在指定的数据库上执行查询语句,获得结果数据集;
步骤6,根据获得的结果数据集和步骤1中建立的报表模板生成临时excel文件,保存在指定目录上;
该发明有效的解决了开发人员针对要展示的数据重复开发代码,开发效率低,代码复用率低,报表数据分析的效果不佳的问题;
但是该发明未对信息化系统中的日常报表按主题进行分类,在优化上略显不足,无法真正做到提升报表的开发效能力,节省IT人员报表开发方面的投入的时间。
故本发明针对上述不足,进行有条理的优化,优化程度高,效率显著,在信息化系统中,日常报表通常按主题进行分类,每个主题在底层业务数据中可表现为一个或多个数据模型,一个数据模型通常可以分为一维模型和多维数据模型两种,每种数据模型可被描述成数据库中的一张包含N列的宽表。只需对宽表中的字段和数据进行数据模型的定义,最后就能通过定义的组合快速生成和输出报表。通过配置方法减少重复代码开发量,提供统一数据模型的复用性,提升报表的开发效能力,减少IT人员报表开发方面的投入的时间。
发明内容
(一)解决的技术问题
针本发明所要解决的技术问题是提供一种对数据模型的定义方法并提供基于数据数据模型生成动态报表的方法及系统,实现通过对查询输出字段的配置的方法实现数据模型的配置、报表的配置以及展现的方法。
(二)技术方案
为实现上述目的,本发明提供如下技术方案:一种基于数据模型的动态报表生成方法和系统实现,包括步骤一:定义查询字段方案、步骤二:定义查询模型、步骤三:定义查询报表和步骤四:执行报表,可用于信息化系统中快速配置和生成报表。在信息化系统中,日常报表通常按主题进行分类,每个主题在底层业务数据中可表现为一个或多个数据模型,一个数据模型通常可以分为一维模型和多维数据模型两种,每种数据模型可被描述成数据库中的一张包含N列的宽表。只需对宽表中的字段和数据进行数据模型的定义,最后就能通过定义的组合快速生成和输出报表。通过配置方法减少重复代码开发量,提供统一数据模型的复用性,提升报表的开发效能力,减少IT人员报表开发方面的投入的时间。
优选的,所述步骤一:定义查询字段方案
报表最终反映的是一组字段的组合,字段用于作为显示和查询条件用。因此先把参与到查询的字段进行属性和展现方式进行定义,字段方案基本定义包括:
S1、字段名,描述的是数据库表字段的名称;
S2、字段描述,描述的是字段对应的展现名字;
S3、字段表现方式,描述的是字段展现可以变现为文本类型、数字类型、时间类型、下拉框类型和树形五种方式;
S4、字段内容,描述根据字段类型的变现方式对内容进行定义。
查询字段方案作为查询条件时,需要对字段的表现方式和内容进行定义,内容配置包括静态和动态两种。
静态配置:展现的内容通过界面进行配置不允许动态更新。
动态配置:展现的内容是通过后台SQL或DAO动态获取。
优选的,所述步骤二:定义查询模型
查询模型对一段可执行的SQL语句返回结果中的字段信息进行定义,SQL语句可以带特定的查询条件或不带查询条件。
不带查询条件方式的SQL定义:
select f1,f2,fn from table1
带查询条件方式的SQL定义:
select f1,f2,fn from table1 where f1=1
通过执行SQL语句,对结果返回的字段进行描述,针对返回中的每一个字段进行配置,配置字段对应查询类型、是否可以用于查询展现、是否作用于查询条件、是否能进行排序、字段的显示顺序的定义。如:图4的配置
优选的,步骤三:定义查询报表
基于查询模型的基础上生成查询报表,一个查询模型可根据展现字段、查询条件的组合生成多个查询报表。
定义查询报表过程包括:
S1、选择模型,从模型的可展现列表的字段中勾选用于展现的字段,从模型的查询字段列表中勾选可用于查询条件的字段;
S2、设计报表表头和进行字段设置,报表表头的设计通过基于WEB的Excel编辑器来完成,可以字段把拖动到将自动填充到当前制定的单元格中,如:图6。并对字段指定统计函数信息,由报表引擎完成对字段汇总并输出;
S3、针对字段的显示,提供JS渲染的支持,通过JS自定义函数中完成对字段页面展现的渲染,如:把字段内容为秒的数据转换成时分秒格式展现。优选的,步骤四:执行报表。
报表引擎根据报表模型和报表定义解析和执行报表。解析报表包括:生成报表查询条件、生成表头。执行报表包括:根据选择的查询条件动态生成查询对应的执行SQL、执行SQL、把返回的结果集合根据字段查询字段方案定义和字段展现定义完成生成报表内容的渲染。
优选的,包括以下步骤:
步骤一:定义查询字段方案
报表最终反映的是一组字段的组合,字段用于作为显示和查询条件用。因此先把参与到查询的字段进行属性和展现方式进行定义,字段方案基本定义包括:
S1、字段名,描述的是数据库表字段的名称;
S2、字段描述,描述的是字段对应的展现名字;
S3、字段表现方式,描述的是字段展现可以变现为文本类型、数字类型、时间类型、下拉框类型和树形五种方式;
S4、字段内容,描述根据字段类型的变现方式对内容进行定义;
查询字段方案作为查询条件时,需要对字段的表现方式和内容进行定义,内容配置包括静态和动态两种;
静态配置:展现的内容通过界面进行配置不允许动态更新;
动态配置:展现的内容是通过后台SQL或DAO动态获取。
步骤二:定义查询模型
查询模型对一段可执行的SQL语句返回结果中的字段信息进行定义,SQL语句可以带特定的查询条件或不带查询条件。
不带查询条件方式的SQL定义:
select f1,f2,fn from table1
带查询条件方式的SQL定义:
select f1,f2,fn from table1 where f1=1
通过执行SQL语句,对结果返回的字段进行描述,针对返回中的每一个字段进行配置,配置字段对应查询类型、是否可以用于查询展现、是否作用于查询条件、是否能进行排序、字段的显示顺序的定义。如:图4的配置
步骤三:定义查询报表
基于查询模型的基础上生成查询报表,一个查询模型可根据展现字段、查询条件的组合生成多个查询报表。
定义查询报表过程包括:
S1、选择模型,从模型的可展现列表的字段中勾选用于展现的字段,从模型的查询字段列表中勾选可用于查询条件的字段。
S2、设计报表表头和进行字段设置,报表表头的设计通过基于WEB的Excel编辑器来完成,可以字段把拖动到将自动填充到当前制定的单元格中,如:图6。并对字段指定统计函数信息,由报表引擎完成对字段汇总并输出。
S3、针对字段的显示,提供JS渲染的支持,通过JS自定义函数中完成对字段页面展现的渲染,如:把字段内容为秒的数据转换成时分秒格式展现。
步骤四:执行报表
报表引擎根据报表模型和报表定义解析和执行报表。解析报表包括:生成报表查询条件、生成表头。执行报表包括:根据选择的查询条件动态生成查询对应的执行SQL、执行SQL、把返回的结果集合根据字段查询字段方案定义和字段展现定义完成生成报表内容的渲染。
(三)有益效果
与现有技术相比,本发明提供了一种基于数据模型的动态报表生成方法和系统实现,具备以下有益效果:
该基于数据模型的动态报表生成方法和系统实现,通过在信息化系统中,日常报表通常按主题进行分类,每个主题在底层业务数据中可表现为一个或多个数据模型,一个数据模型通常可以分为一维模型和多维数据模型两种,每种数据模型可以被描述成数据库中的一张包含N列的宽表。只需对宽表中的字段和数据进行数据模型的定义,最后就能通过定义的组合快速生成和输出报表。通过配置方法减少重复代码的开发量,提供统一数据模型的复用性,提升报表的开发效能力,减少IT人员在报表开发方面的投入的时间。
附图说明
图1为本发明提出的一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤一示意图;
图2为本发明提出的一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤二示意图;
图3为本发明提出的一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤三示意图;
图4为本发明提出的一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤四示意图;
图5为本发明提出的一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤五示意图;
图6为本发明提出的一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤六示意图;
图7为本发明提出的一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤七示意图;
图8为本发明提出的一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤八示意图;
图9为本发明提出的一种基于数据模型的动态报表生成方法和系统实现步骤流程总览示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1至图9,一种基于数据模型的动态报表生成方法和系统实现,包括步骤一:定义查询字段方案、步骤二:定义查询模型、步骤三:定义查询报表和步骤四:执行报表,可用于信息化系统中快速配置和生成报表。在信息化系统中,日常报表通常按主题进行分类,每个主题在底层业务数据中可表现为一个或多个数据模型,一个数据模型通常可以分为一维模型和多维数据模型两种,每种数据模型可被描述成数据库中的一张包含N列的宽表。只需对宽表中的字段和数据进行数据模型的定义,最后就能通过定义的组合快速生成和输出报表。通过配置方法减少重复代码开发量,提供统一数据模型的复用性,提升报表的开发效能力,减少IT人员报表开发方面的投入的时间。
优选的,所述步骤一:定义查询字段方案
报表最终反映的是一组字段的组合,字段用于作为显示和查询条件用。因此先把参与到查询的字段进行属性和展现方式进行定义,字段方案基本定义包括:
S1、字段名,描述的是数据库表字段的名称,如:title;
S2、字段描述,描述的是字段对应的展现名字,如:标题;
S3、字段表现方式,描述的是字段展现可以变现为文本类型、数字类型、时间类型、下拉框类型和树形五种方式;
S4、字段内容,描述根据字段类型的变现方式对内容进行定义。
查询字段方案作为查询条件时,需要对字段的表现方式和内容进行定义,内容配置包括静态和动态两种;
静态配置:展现的内容通过界面进行配置不允许动态更新,见图一:一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤一示意图;。
动态配置:展现的内容是通过后台SQL或DAO动态获取,见图二:一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤二示意图、图三:一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤三示意图;
优选的,所述步骤二:定义查询模型
查询模型对一段可执行的SQL语句返回结果中的字段信息进行定义,SQL语句可以带特定的查询条件或不带查询条件。
不带查询条件方式的SQL定义:
select f1,f2,fn from table1
带查询条件方式的SQL定义:
select f1,f2,fn from table1 where f1=1
通过执行SQL语句,对结果返回的字段进行描述,针对返回中的每一个字段进行配置,配置字段对应查询类型、是否可以用于查询展现、是否作用于查询条件、是否能进行排序、字段的显示顺序的定义。如:图4的配置
优选的,步骤三:定义查询报表;
基于查询模型的基础上生成查询报表,一个查询模型可根据展现字段、查询条件的组合生成多个查询报表。
定义查询报表过程包括:
S1、选择模型,从模型的可展现列表的字段中勾选用于展现的字段,从模型的查询字段列表中勾选可用于查询条件的字段。如:图5:一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤五示意图;
S2、设计报表表头和进行字段设置,报表表头的设计通过基于WEB的Excel编辑器来完成,可以字段把拖动到将自动填充到当前制定的单元格中,如:图6。并对字段指定统计函数信息,由报表引擎完成对字段汇总并输出;
S3、针对字段的显示,提供JS渲染的支持,通过JS自定义函数中完成对字段页面展现的渲染,如:把字段内容为秒的数据转换成时分秒格式展现,如:图7:一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤七示意图;
优选的,步骤四:执行报表
报表引擎根据报表模型和报表定义解析和执行报表。解析报表包括:生成报表查询条件、生成表头。执行报表包括:根据选择的查询条件动态生成查询对应的执行SQL、执行SQL、把返回的结果集合根据字段查询字段方案定义和字段展现定义完成生成报表内容的渲染,如:图8:一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤八示意图。
优选的,包括以下步骤:
步骤一:定义查询字段方案
报表最终反映的是一组字段的组合,字段用于作为显示和查询条件用。因此先把参与到查询的字段进行属性和展现方式进行定义,字段方案基本定义包括:
S1、字段名,描述的是数据库表字段的名称,如:title
S2、字段描述,描述的是字段对应的展现名字,如:标题
S3、字段表现方式,描述的是字段展现可以变现为文本类型、数字类型、时间类型、下拉框类型和树形五种方式;
S4、字段内容,描述根据字段类型的变现方式对内容进行定义;
查询字段方案作为查询条件时,需要对字段的表现方式和内容进行定义,内容配置包括静态和动态两种;
静态配置:展现的内容通过界面进行配置不允许动态更新;
动态配置:展现的内容是通过后台SQL或DAO动态获取。
步骤二:定义查询模型
查询模型对一段可执行的SQL语句返回结果中的字段信息进行定义,SQL语句可以带特定的查询条件或不带查询条件。
不带查询条件方式的SQL定义:
select f1,f2,fn from table1
带查询条件方式的SQL定义:
select f1,f2,fn from table1 where f1=1
通过执行SQL语句,对结果返回的字段进行描述,针对返回中的每一个字段进行配置,配置字段对应查询类型、是否可以用于查询展现、是否作用于查询条件、是否能进行排序、字段的显示顺序的定义。如:图4的配置
步骤三:定义查询报表
基于查询模型的基础上生成查询报表,一个查询模型可根据展现字段、查询条件的组合生成多个查询报表。
定义查询报表过程包括:
S1、选择模型,从模型的可展现列表的字段中勾选用于展现的字段,从模型的查询字段列表中勾选可用于查询条件的字段。如:图5:一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤五示意图;
S2、设计报表表头和进行字段设置,报表表头的设计通过基于WEB的Excel编辑器来完成,可以字段把拖动到将自动填充到当前制定的单元格中,如:图6。并对字段指定统计函数信息,由报表引擎完成对字段汇总并输出。
S3、针对字段的显示,提供JS渲染的支持,通过JS自定义函数中完成对字段页面展现的渲染,如:把字段内容为秒的数据转换成时分秒格式展现。如:图7一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤七示意图;
步骤四:执行报表
报表引擎根据报表模型和报表定义解析和执行报表。解析报表包括:生成报表查询条件、生成表头。执行报表包括:根据选择的查询条件动态生成查询对应的执行SQL、执行SQL、把返回的结果集合根据字段查询字段方案定义和字段展现定义完成生成报表内容的渲染。如:图8一种基于数据模型的动态报表生成方法和系统实现步骤流程步骤八示意图;
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (6)
1.一种基于数据模型的动态报表生成方法和系统实现,包括步骤一:定义查询字段方案、步骤二:定义查询模型、步骤三:定义查询报表和步骤四:执行报表,其特征在于:此方法是通过SQL查询的返回结果中的字段信息和内容信息进行定义后,通过字段的组合来生成报表的一种实现方法,对数据模型的定义,数据模型的定义包括字段展现和查询的定义,展现定义包含字段的显示名称、字段是否用于展现、字段的展现顺序、字段的排序方式,查询定义包括:查询展现的方式和内容进行定义,报表是由数据模型配置生成,通过配置指定报表对应的数据类型,通过设定报表的展现方式,通过设定报表内容的展现格式,完成报表的解析和生成。
2.根据权利要求1所述的一种基于数据模型的动态报表生成方法和系统实现,其特征在于:所述步骤一:定义查询字段方案;
报表最终反映的是一组字段的组合,字段用于作为显示和查询条件用,因此先把参与到查询的字段进行属性和展现方式进行定义,字段方案基本定义包括:
S1、字段名,描述的是数据库表字段的名称;
S2、字段描述,描述的是字段对应的展现名字;
S3、字段表现方式,描述的是字段展现可以变现为文本类型、数字类型、时间类型、下拉框类型和树形五种方式;
S4、字段内容,描述根据字段类型的变现方式对内容进行定义;
查询字段方案作为查询条件时,需要对字段的表现方式和内容进行定义,内容配置包括静态和动态两种;
静态配置:展现的内容通过界面进行配置不允许动态更新;
动态配置:展现的内容是通过后台SQL或DAO动态获取。
3.根据权利要求1所述的一种基于数据模型的动态报表生成方法和系统实现,其特征在于:所述步骤二:定义查询模型,
查询模型对一段可执行的SQL语句返回结果中的字段信息进行定义,SQL语句可以带特定的查询条件或不带查询条件;
不带查询条件方式的SQL定义:
select f1,f2,fn from table1
带查询条件方式的SQL定义:
select f1,f2,fn from table1where f1=1
通过执行SQL语句,对结果返回的字段进行描述,针对返回中的每一个字段进行配置,配置字段对应查询类型、是否可以用于查询展现、是否作用于查询条件、是否能进行排序、字段的显示顺序的定义。
4.根据权利要求1所述的一种基于数据模型的动态报表生成方法和系统实现,其特征在于:步骤三:定义查询报表;
基于查询模型的基础上生成查询报表,一个查询模型可根据展现字段、查询条件的组合生成多个查询报表;
定义查询报表过程包括:
S1、选择模型,从模型的可展现列表的字段中勾选用于展现的字段,从模型的查询字段列表中勾选可用于查询条件的字段;
S2、设计报表表头和进行字段设置,报表表头的设计通过基于WEB的Excel编辑器来完成,可以字段把拖动到将自动填充到当前制定的单元格中,如:图6。并对字段指定统计函数信息,由报表引擎完成对字段汇总并输出;
S3、针对字段的显示,提供JS渲染的支持,通过JS自定义函数中完成对字段页面展现的渲染,如:把字段内容为秒的数据转换成时分秒格式展现。
5.根据权利要求1所述的一种基于数据模型的动态报表生成方法和系统实现,其特征在于:步骤四:执行报表;
报表引擎根据报表模型和报表定义解析和执行报表。解析报表包括:生成报表查询条件、生成表头。执行报表包括:根据选择的查询条件动态生成查询对应的执行SQL、执行SQL、把返回的结果集合根据字段查询字段方案定义和字段展现定义完成生成报表内容的渲染。
6.一种基于数据模型的动态报表生成方法和系统实现,包括以下步骤:
步骤一:定义查询字段方案
报表最终反映的是一组字段的组合,字段用于作为显示和查询条件用;因此先把参与到查询的字段进行属性和展现方式进行定义,字段方案基本定义包括:
S1、字段名,描述的是数据库表字段的名称;
S2、字段描述,描述的是字段对应的展现名字;
S3、字段表现方式,描述的是字段展现可以变现为文本类型、数字类型、时间类型、下拉框类型和树形五种方式;
S4、字段内容,描述根据字段类型的变现方式对内容进行定义;
查询字段方案作为查询条件时,需要对字段的表现方式和内容进行定义,内容配置包括静态和动态两种;
静态配置:展现的内容通过界面进行配置不允许动态更新;
动态配置:展现的内容是通过后台SQL或DAO动态获取。
步骤二:定义查询模型
查询模型对一段可执行的SQL语句返回结果中的字段信息进行定义,SQL语句可以带特定的查询条件或不带查询条件。
不带查询条件方式的SQL定义:
select f1,f2,fn from table1
带查询条件方式的SQL定义:
select f1,f2,fn from table1where f1=1
通过执行SQL语句,对结果返回的字段进行描述,针对返回中的每一个字段进行配置,配置字段对应查询类型、是否可以用于查询展现、是否作用于查询条件、是否能进行排序、字段的显示顺序的定义。
步骤三:定义查询报表
基于查询模型的基础上生成查询报表,一个查询模型可根据展现字段、查询条件的组合生成多个查询报表。
定义查询报表过程包括:
S1、选择模型,从模型的可展现列表的字段中勾选用于展现的字段,从模型的查询字段列表中勾选可用于查询条件的字段;
S2、设计报表表头和进行字段设置,报表表头的设计通过基于WEB的Excel编辑器来完成,可以字段把拖动到将自动填充到当前制定的单元格中,并对字段指定统计函数信息,由报表引擎完成对字段汇总并输出;
S3、针对字段的显示,提供JS渲染的支持,通过JS自定义函数中完成对字段页面展现的渲染。
步骤四:执行报表
报表引擎根据报表模型和报表定义解析和执行报表。解析报表包括:生成报表查询条件、生成表头。执行报表包括:根据选择的查询条件动态生成查询对应的执行SQL、执行SQL、把返回的结果集合根据字段查询字段方案定义和字段展现定义完成生成报表内容的渲染。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811608171.7A CN109669949A (zh) | 2018-12-27 | 2018-12-27 | 一种基于数据模型的动态报表生成方法和系统实现 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811608171.7A CN109669949A (zh) | 2018-12-27 | 2018-12-27 | 一种基于数据模型的动态报表生成方法和系统实现 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109669949A true CN109669949A (zh) | 2019-04-23 |
Family
ID=66146354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811608171.7A Pending CN109669949A (zh) | 2018-12-27 | 2018-12-27 | 一种基于数据模型的动态报表生成方法和系统实现 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109669949A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134687A (zh) * | 2019-05-13 | 2019-08-16 | 福建南威软件有限公司 | 一种通过表字段的动态增改控制清单要素的方法及系统 |
CN110188100A (zh) * | 2019-05-17 | 2019-08-30 | 中国银行股份有限公司 | 数据处理方法、装置及计算机存储介质 |
CN110276059A (zh) * | 2019-06-24 | 2019-09-24 | 银联商务股份有限公司 | 一种动态报表的处理方法和装置 |
CN110489441A (zh) * | 2019-08-12 | 2019-11-22 | 厦门商集网络科技有限责任公司 | 一种基于大数据的即席查询方法及设备 |
CN110928962A (zh) * | 2019-11-26 | 2020-03-27 | 山东浪潮通软信息科技有限公司 | 一种基于动态字段的查询报表生成方法 |
CN111126026A (zh) * | 2019-12-17 | 2020-05-08 | 叮当快药科技集团有限公司 | 将sql语句解析生成可视化报表的方法和工具 |
CN111553133A (zh) * | 2020-04-21 | 2020-08-18 | 招商局金融科技有限公司 | 报表生成方法、装置、电子设备及存储介质 |
CN111563082A (zh) * | 2020-04-30 | 2020-08-21 | 中国银行股份有限公司 | 报表生成方法及装置 |
CN112612835A (zh) * | 2020-12-23 | 2021-04-06 | 厦门市美亚柏科信息股份有限公司 | 一种数据模型的创建方法和终端 |
CN112905558A (zh) * | 2020-12-30 | 2021-06-04 | 银盛通信有限公司 | 一种基于数据库配置的报表系统实现方法及系统 |
CN113553530A (zh) * | 2021-07-27 | 2021-10-26 | 中国建设银行股份有限公司 | 一种信息报送动态页面配置方法及装置 |
CN113687904A (zh) * | 2021-10-26 | 2021-11-23 | 成都中科合迅科技有限公司 | 基于配置文件的界面动态生成方法 |
CN113779944A (zh) * | 2021-09-18 | 2021-12-10 | 上海中通吉网络技术有限公司 | 通过自定义公式设计的宽表表格设计方法 |
CN115080586A (zh) * | 2022-05-10 | 2022-09-20 | 兴业银行股份有限公司 | 由数据自动生成报告文档的方法及系统 |
CN117454862A (zh) * | 2023-12-25 | 2024-01-26 | 青岛民航凯亚系统集成有限公司 | 一种基于引擎模式的报表生成方法及自助bi系统 |
CN117610519A (zh) * | 2024-01-22 | 2024-02-27 | 山东浪潮数字商业科技有限公司 | 基于指标模型动态渲染报表的方法及系统 |
CN118171640A (zh) * | 2024-05-09 | 2024-06-11 | 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) | 一种动态表单及数据处理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104361140A (zh) * | 2014-12-10 | 2015-02-18 | 用友软件股份有限公司 | 动态生成数据模型配置装置和方法 |
CN105138501A (zh) * | 2015-08-10 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种可配置的动态报表生成方法及系统 |
CN108694214A (zh) * | 2017-04-12 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 数据报表的生成方法、生成装置、可读介质及电子设备 |
-
2018
- 2018-12-27 CN CN201811608171.7A patent/CN109669949A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104361140A (zh) * | 2014-12-10 | 2015-02-18 | 用友软件股份有限公司 | 动态生成数据模型配置装置和方法 |
CN105138501A (zh) * | 2015-08-10 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种可配置的动态报表生成方法及系统 |
CN108694214A (zh) * | 2017-04-12 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 数据报表的生成方法、生成装置、可读介质及电子设备 |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134687A (zh) * | 2019-05-13 | 2019-08-16 | 福建南威软件有限公司 | 一种通过表字段的动态增改控制清单要素的方法及系统 |
CN110188100A (zh) * | 2019-05-17 | 2019-08-30 | 中国银行股份有限公司 | 数据处理方法、装置及计算机存储介质 |
CN110276059A (zh) * | 2019-06-24 | 2019-09-24 | 银联商务股份有限公司 | 一种动态报表的处理方法和装置 |
CN110276059B (zh) * | 2019-06-24 | 2023-10-27 | 银联商务股份有限公司 | 一种动态报表的处理方法和装置 |
CN110489441A (zh) * | 2019-08-12 | 2019-11-22 | 厦门商集网络科技有限责任公司 | 一种基于大数据的即席查询方法及设备 |
CN110928962A (zh) * | 2019-11-26 | 2020-03-27 | 山东浪潮通软信息科技有限公司 | 一种基于动态字段的查询报表生成方法 |
CN110928962B (zh) * | 2019-11-26 | 2024-03-26 | 浪潮通用软件有限公司 | 一种基于动态字段的查询报表生成方法 |
CN111126026A (zh) * | 2019-12-17 | 2020-05-08 | 叮当快药科技集团有限公司 | 将sql语句解析生成可视化报表的方法和工具 |
CN111126026B (zh) * | 2019-12-17 | 2021-10-08 | 叮当快药科技集团有限公司 | 将sql语句解析生成可视化报表的方法和工具 |
CN111553133B (zh) * | 2020-04-21 | 2023-04-07 | 招商局金融科技有限公司 | 报表生成方法、装置、电子设备及存储介质 |
CN111553133A (zh) * | 2020-04-21 | 2020-08-18 | 招商局金融科技有限公司 | 报表生成方法、装置、电子设备及存储介质 |
CN111563082B (zh) * | 2020-04-30 | 2023-09-19 | 中国银行股份有限公司 | 报表生成方法及装置 |
CN111563082A (zh) * | 2020-04-30 | 2020-08-21 | 中国银行股份有限公司 | 报表生成方法及装置 |
CN112612835B (zh) * | 2020-12-23 | 2022-09-20 | 厦门市美亚柏科信息股份有限公司 | 一种数据模型的创建方法和终端 |
CN112612835A (zh) * | 2020-12-23 | 2021-04-06 | 厦门市美亚柏科信息股份有限公司 | 一种数据模型的创建方法和终端 |
CN112905558A (zh) * | 2020-12-30 | 2021-06-04 | 银盛通信有限公司 | 一种基于数据库配置的报表系统实现方法及系统 |
CN113553530A (zh) * | 2021-07-27 | 2021-10-26 | 中国建设银行股份有限公司 | 一种信息报送动态页面配置方法及装置 |
CN113779944A (zh) * | 2021-09-18 | 2021-12-10 | 上海中通吉网络技术有限公司 | 通过自定义公式设计的宽表表格设计方法 |
CN113687904B (zh) * | 2021-10-26 | 2022-02-08 | 成都中科合迅科技有限公司 | 基于配置文件的界面动态生成方法 |
CN113687904A (zh) * | 2021-10-26 | 2021-11-23 | 成都中科合迅科技有限公司 | 基于配置文件的界面动态生成方法 |
CN115080586A (zh) * | 2022-05-10 | 2022-09-20 | 兴业银行股份有限公司 | 由数据自动生成报告文档的方法及系统 |
CN117454862A (zh) * | 2023-12-25 | 2024-01-26 | 青岛民航凯亚系统集成有限公司 | 一种基于引擎模式的报表生成方法及自助bi系统 |
CN117610519A (zh) * | 2024-01-22 | 2024-02-27 | 山东浪潮数字商业科技有限公司 | 基于指标模型动态渲染报表的方法及系统 |
CN117610519B (zh) * | 2024-01-22 | 2024-05-03 | 山东浪潮数字商业科技有限公司 | 基于指标模型动态渲染报表的方法及系统 |
CN118171640A (zh) * | 2024-05-09 | 2024-06-11 | 山东未来网络研究院(紫金山实验室工业互联网创新应用基地) | 一种动态表单及数据处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109669949A (zh) | 一种基于数据模型的动态报表生成方法和系统实现 | |
CN110717319B (zh) | 一种自助报表生成方法、装置、计算设备和系统 | |
CN108038222B (zh) | 用于信息系统建模和数据访问的实体-属性框架的系统 | |
US8131533B2 (en) | Reporting model generation within a multidimensional enterprise software system | |
US8346811B2 (en) | System and method for analyzing and reporting extensible data from multiple sources in multiple formats | |
US8375041B2 (en) | Processing queries against combinations of data sources | |
EP2463790B1 (en) | Manipulation of elements and their attributes in graphical user interfaces | |
CA2588749A1 (en) | Automated default dimension selection within a multidimensional enterprise software system | |
Kongdenfha et al. | Rapid development of spreadsheet-based web mashups | |
CN111767335A (zh) | 数据可视化分析方法 | |
CN103164573A (zh) | Pdm管理设计系统 | |
CN111046054A (zh) | 一种电力营销业务数据分析的方法和系统 | |
Duan | Analysis of ERP enterprise management information system based on cloud computing mode | |
CN115422898A (zh) | 一种基于容器云的可视化自定义报表分析系统 | |
de la Vega et al. | On the Automated Transformation of Domain Models into Tabular Datasets. | |
CN114169298A (zh) | 一种可实现动态配置表格的工具和方法 | |
US20180157731A1 (en) | Hierarchy member selections in queries based on relational databases | |
Raisinghani | Adapting data modeling techniques for data warehouse design | |
US20130159831A1 (en) | Converting reports between disparate report formats | |
Kazi et al. | MOLAP data warehouse of a software products servicing Call center | |
Nguyen et al. | MetaCube XTM: a multidimensional metadata approach for semantic web warehousing systems | |
CN116126824A (zh) | 一种基于模型驱动的能力开放平台 | |
Gan et al. | Research and Application of Multi-dimensional Analysis and Graphical Technology in Business Intelligence | |
Hong et al. | Research on layout algorithms for better data visualization | |
US20090271699A1 (en) | Apparatus and method for updating a report through view time interaction |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190423 |