CN110232178A - 报表生成方法及装置 - Google Patents
报表生成方法及装置 Download PDFInfo
- Publication number
- CN110232178A CN110232178A CN201910459261.2A CN201910459261A CN110232178A CN 110232178 A CN110232178 A CN 110232178A CN 201910459261 A CN201910459261 A CN 201910459261A CN 110232178 A CN110232178 A CN 110232178A
- Authority
- CN
- China
- Prior art keywords
- report
- information
- data source
- dynamic queries
- query statement
- 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
Classifications
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种报表生成方法及装置,方法包括:获取用户在系统的前台配置的报表的基本信息、可视化参数信息和动态查询信息,并对所述报表的基本信息、可视化参数信息和动态查询信息进行校验;若所述基本信息、可视化参数信息和动态查询信息均校验通过,则基于Ajax方法将所述基本信息、可视化参数信息和动态查询信息提交到所述系统的后台;根据所述可视化参数信息和所述动态查询信息,通过所述后台生成所述系统所使用的数据源支持的查询语句,根据所述查询语句对所述数据源进行查询;将所述查询结果和所述基本信息作为报表信息,根据所述报表信息和预先生成的报表模板生成报表。本发明实现可视化参数配置且支持多种类型数据源,操作简单。
Description
技术领域
本发明属于计算机应用技术领域,尤其涉及一种报表生成方法及装置。
背景技术
报表作为一种重要的信息载体,为数据转化为信息提供直观的表达形式,可靠、安全地为决策提供良好的依据,它是商业智能策略的基础。
近几年,随着企业信息系统集成的兴起,报表越来越得到企业的重视,但企业在制定报表时需要从分散的各个部门收集不同数据源的信息再分类汇总,最后编制分析报表,在这过程中往往要浪费大量人力、财力及时间,熟悉业务的人往往不懂报表制作,懂报表制作的人往往又不熟悉业务,沟通成本极高。因此,当代主流报表都更加注重操作简单、可配置和数据源兼容的三个关键点,让懂业务的人直接参与完成报表制作,快速生成所配置的数据源兼容的报表,让决策层第一时间得到最新的数据分析报表。因此可配置的、数据源兼容的报表生成技术越来越被软件开发者关注。随着数据的增多和需求的提高,对可配置报表的展示分析结果的应用也越来越多。
国内主流报表都极好的解决了操作简单的问题,有些报表采用excel表格的方式来生成报表,有些则使用第三方组件定制的方式,同时支持大量的函数和表达式以支持更加复杂的计算,多年的发展让他们的界面操作更加友好和精细。但是可配置和数据源兼容方面则表现的不尽人意,需要有相应的专业知识才能够制作可配置、数据源兼容的报表。
发明内容
为克服上述现有的报表生成方法需要有专业知识的问题或者至少部分地解决上述问题,本发明实施例提供一种报表生成方法及装置。
根据本发明实施例的第一方面,提供一种报表生成方法,包括:
获取用户在系统的前台配置的报表的基本信息、可视化参数信息和动态查询信息,并对所述报表的基本信息、可视化参数信息和动态查询信息进行校验;
若所述基本信息、可视化参数信息和动态查询信息均校验通过,则基于Ajax方法将所述基本信息、可视化参数信息和动态查询信息提交到所述系统的后台;
根据所述可视化参数信息和所述动态查询信息,通过所述后台生成所述系统所使用的数据源支持的查询语句,根据所述查询语句对所述数据源进行查询;
将所述查询结果和所述基本信息作为报表信息,根据所述报表信息和预先生成的报表模板生成报表。
根据本发明实施例第二方面提供一种报表生成装置,包括:
获取模块,用于获取用户在前台配置的报表的基本信息、可视化参数信息和动态查询信息,并对所述报表的基本信息、可视化参数信息和动态查询信息进行校验;
提交模块,用于若所述基本信息、可视化参数信息和动态查询信息均校验通过,则基于Ajax方法将所述基本信息、可视化参数信息和动态查询信息提交到后台;
查询模块,用于根据所述可视化参数信息和所述动态查询信息,通过所述后台生成所述系统所使用的数据源支持的查询语句,根据所述查询语句对所述数据源进行查询;
生成模块,用于将所述查询结果和所述基本信息作为报表信息,根据所述报表信息和预先生成的报表模板生成报表。
根据本发明实施例的第三个方面,还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器调用所述程序指令能够执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的报表生成方法。
根据本发明实施例的第四个方面,还提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行第一方面的各种可能的实现方式中任一种可能的实现方式所提供的报表生成方法。
本发明实施例提供一种报表生成方法及装置,该方法通过获取用户在前台可视化配置的报表信息,并对用户配置的信息进行校验,当校验通过时通过后台生成系统所使用的数据源支持的查询语句,使用查询语句对数据源进行查询,根据查询结果、配置的报表基础信息和报表模板生成报表,一方面通过可视化参数配置界面替代难懂的查询语句实现报表参数配置,不需要专业知识,操作简单,实现报表的快速生成;另一方面可兼容多种类型的数据源,解决了配置参数难,不同数据源信息不兼容的问题,提高了制作报表的灵活性、方便性、兼容性、高效性、优质性,大大降低了企业做报表时的时间成本、人员成本和经济成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的报表生成方法整体流程示意图;
图2为本发明又一实施例提供的报表生成方法流程示意图;
图3为本发明实施例提供的报表生成装置整体结构示意图;
图4为本发明实施例提供的电子设备整体结构示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
在本发明的一个实施例中提供一种报表生成方法,图1为本发明实施例提供的报表生成方法整体流程示意图,该方法包括:S101,获取用户在系统的前台配置的报表的基本信息、可视化参数信息和动态查询信息,并对所述报表的基本信息、可视化参数信息和动态查询信息进行校验;
具体地,通过构建一种基于B/S(Browser/Server,浏览器/服务器模式)的软件开发引擎系统来实现本实施例中的方法,该系统可见即可得,包括前台与后台两部分。其中,前台包括基本信息配置模块、可视化参数配置模块、动态查询配置模块和可行性校验模块;后台包括兼容查询语句生成模块、搜寻提取模块和报表生成模块。前台的工作内容包括获取用户通过基本信息配置模块填写的报表基本信息,通过可视化参数配置模块填写的可视化参数信息,通过动态查询配置模块填写的动态查询信息。其中,报表的基本信息为报表的基础属性信息,如报表的列宽和标题;报表可视化参数信息为与报表可视化相关的信息,如报表的类型,报表类型包括表格、折线图、柱状图和饼状图;动态查询信息为用户输入的查询字段,即为用户输入的查询字段,以根据查询字段进行查询获取报表中显示的数据。在用户填写完这些信息后,对用户填写的这些信息进行校验,判断用户填写的这些信息是否满足要求。
S102,若所述基本信息、可视化参数信息和动态查询信息均校验通过,则基于Ajax方法将所述基本信息、可视化参数信息和动态查询信息提交到后台;
若用户填写的信息均验证通过,则通过Ajax技术将前台用户配置的所有信息提交到后台。
S103,根据所述可视化参数信息和所述动态查询信息,通过所述后台生成所述系统所使用的数据源支持的查询语句,根据所述查询语句对所述数据源进行查询;
后台在接收到前台提交过来的报表配置信息后,根据报表配置信息中的可视化参数信息和动态查询信息,通过兼容查询语句生成模块生成当前系统所使用的数据源支持的查询语句。例如,如果当前系统所使用的数据源为关系型,则生成的查询语句为SQL(Structured Query Language,结构化查询语言)查询语句;如果当前系统所使用的数据源为和非关系型,则生成的查询语句为UnQL(UNstructured Query Language,非结构化查询语言)查询语句。然后根据查询语句通过搜寻提取模块获取报表所需要展示的数据源中的信息。
S104,将所述查询结果和所述基本信息作为报表信息,根据所述报表信息和预先生成的报表模板生成报表。
将查询到的信息和前台提交过来的基本信息配置模块中的报表基本信息一起作为报表信息,传入到报表生成模块中,并与报表生成模块中的报表模板一起通过报表计算引擎生成最终的报表传到前台。前台接收到后台传过来的报表后,通过报表渲染引擎按照报表类型渲染报表,并且可以将渲染后的报表以Pdf、Dwg、Html、Word、Excel、Png、Swf等多种形式导出。如图2所示,报表设计器用于根据报表基本信息对报表模板进行设计,将报表设计器输出的报表模板和查询的数据源中的信息输入报表计算引擎生成报表,前台通过报表渲染引擎根据报表类型将报表渲染为表格、折线图、柱状图或饼状图,并将渲染后的报表以多种形式导出。
本实施例通过获取用户在前台可视化配置的报表信息,并对用户配置的信息进行校验,当校验通过时通过后台生成系统所使用的数据源支持的查询语句,使用查询语句对数据源进行查询,根据查询结果、配置的报表基础信息和报表模板生成报表,一方面通过可视化参数配置界面替代难懂的查询语句实现报表参数配置,不需要专业知识,操作简单,实现报表的快速生成;另一方面可兼容多种类型的数据源,解决了配置参数难,不同数据源信息不兼容的问题,提高了制作报表的灵活性、方便性、兼容性、高效性、优质性,大大降低了企业做报表时的时间成本、人员成本和经济成本。
在上述实施例的基础上,本实施例对所述报表的基本信息、可视化参数信息和动态查询信息进行校验的步骤具体包括:判断所述基本信息、所述可视化参数信息和所述动态查询信息是否为空;当所述报表为表格时,判断所述报表的列宽是否为整数,列宽之和是否超过预设阈值,设置为明细的属性是否在用户配置的分组中均存在,用户配置的同一次排序中的属性是否相同,用户配置的动态查询信息是否为预设类型;当所述报表为折线图或柱状图时,判断所述报表的横轴上属性的显示名称和所述报表的纵轴上属性的显示名称是否相同,若所述纵轴上任一属性设置为明细,则判断所述纵轴上所有属性是否设置为明细;当所述报表为饼状图时,判断所述报表的横轴上属性的显示名称和所述报表的纵轴上属性的显示名称是否相同,判断所述报表的纵轴上是否只有一个属性。
具体地,在用户配置完前台各模块后,将报表配置信息提交到后台前,根据预先设定的查询语言语法规则对不同报表类型、不同类型的属性配置参数、排序属性和分组属性等各报表配置进行校验。若所有配置信息均校验通过,则将配置信息提交到后台,否则返回修改。校验的具体内容为对于所有配置信息判断用户配置的每个信息是否为空值,若为空值则校验不通过。对于表格判断表格的列宽是否为整数,列宽之和大于预设阈值,如大于100;判断在属性列表中设置为明细的属性在分组属性中是否都存在,其中属性的设置包括明细、总和和平均等;判断同一次排序中数据的属性是否都相同;用户配置的动态查询信息是否为预设类型,如字符串和日期类型。当报表为折线图或柱状图时,判断横轴上属性的显示名称和纵轴上属性的显示名称是否相同,横轴上的属性和纵轴上的属性可以相同,但显示属性的名称不能相同;当纵轴上的任一属性需要设置为明细时,纵轴上的所有属性都需要设置为明细。对于饼状图,纵轴上只能有一个属性,且横轴上属性的显示名称和纵轴上属性的显示名称不能相同。根据报名的类型判断是否满足相应的条件,当满足所有相应条件时,校验通过。
在上述各实施例的基础上,本实施例根据所述可视化参数信息和所述动态查询信息,通过所述后台生成所述系统所使用的数据源支持的查询语句的步骤具体包括:获取所述系统所使用的数据源的类型;将各类型所述数据源的查询语句的语法规则进行梳理和封装处理;根据处理后的所述语法规则,以及所述可视化参数信息和所述动态查询信息,生成所述数据源支持的查询语句。
具体地,根据当前系统所使用数据源的类型和前台提交过来的可视化参数信息、动态查询信息生成相应的查询语句,这就需要将各类型的数据源的查询语句的语法规则进行梳理并进行封装处理,使用处理后的语法规则根据数据源的类型生成数据源所指出的查询语句,从而实现指出多种数据源类型。
在上述各实施例的基础上,本实施例根据所述报表信息和预先生成的报表模板生成报表的步骤具体包括:将所述报表模板加载到内存中,将所述报表模板解析为AST结构,并对所述AST结构中的每个节点进行初始化;根据所述查询结果中各属性的值对各所述节点进行渲染,生成报表。
具体地,首先从磁盘中将报表模板加载到内存,然后将报表模板解析为AST(Abstract Syntax Tree,抽象语法树)结构,并对AST结构中的每个节点进行初始化。然后根据查询结果中各属性的值渲染相应的接地,通过报表计算引擎最终实现报表的生成。如果开始了缓存,则只有在首次加载该报表模板时才对报表模板进行解析,在后续加载该报表模板时,直接返回该报表模板的AST结构。通过使用资源缓存节省了从磁盘加载并重新将该报表模板解析为AST结构的开销,降低了报表渲染时间。
在本发明的另一个实施例中提供一种报表生成装置,该装置用于实现前述各实施例中的方法。因此,在前述报表生成方法的各实施例中的描述和定义,可以用于本发明实施例中各个执行模块的理解。图3为本发明实施例提供的报表生成装置整体结构示意图,该装置包括获取模块301、提交模块302、查询模块303和生成模块304;其中,
获取模块301用于获取用户在前台配置的报表的基本信息、可视化参数信息和动态查询信息,并对所述报表的基本信息、可视化参数信息和动态查询信息进行校验;
获取模块301获取用户通过基本信息配置模块填写的报表基本信息,通过可视化参数配置模块填写的可视化参数信息,通过动态查询配置模块填写的动态查询信息。其中,报表的基本信息为报表的基础属性信息,如报表的列宽和标题;报表可视化参数信息为与报表可视化相关的信息,如报表的类型,报表类型包括表格、折线图、柱状图和饼状图;动态查询信息为用户输入的查询字段,即为用户输入的查询字段,以根据查询字段进行查询获取报表中显示的数据。在用户填写完这些信息后,对用户填写的这些信息进行校验,判断用户填写的这些信息是否满足要求。
提交模块302用于若所述基本信息、可视化参数信息和动态查询信息均校验通过,则基于Ajax方法将所述基本信息、可视化参数信息和动态查询信息提交到后台;
提交模块302在用户填写的信息均验证通过时,通过Ajax技术将前台用户配置的所有信息提交到后台。
查询模块303用于根据所述可视化参数信息和所述动态查询信息,通过所述后台生成所述系统所使用的数据源支持的查询语句,根据所述查询语句对所述数据源进行查询;
后台在接收到前台提交过来的报表配置信息后,查询模块303根据报表配置信息中的可视化参数信息和动态查询信息,生成当前系统所使用的数据源支持的查询语句。然后根据查询语句通过搜寻提取模块获取报表所需要展示的数据源中的信息。
生成模块304用于将所述查询结果和所述基本信息作为报表信息,根据所述报表信息和预先生成的报表模板生成报表。
生成模块304将查询到的信息和前台提交过来的基本信息配置模块中的报表基本信息一起作为报表信息,与报表模板一起生成最终的报表传到前台。前台接收到后台传过来的报表后,通过报表渲染引擎按照报表类型渲染报表,并且可以将渲染后的报表以多种形式导出。
本实施例通过获取用户在前台可视化配置的报表信息,并对用户配置的信息进行校验,当校验通过时通过后台生成系统所使用的数据源支持的查询语句,使用查询语句对数据源进行查询,根据查询结果、配置的报表基础信息和报表模板生成报表,一方面通过可视化参数配置界面替代难懂的查询语句实现报表参数配置,不需要专业知识,操作简单,实现报表的快速生成;另一方面可兼容多种类型的数据源,解决了配置参数难,不同数据源信息不兼容的问题,提高了制作报表的灵活性、方便性、兼容性、高效性、优质性,大大降低了企业做报表时的时间成本、人员成本和经济成本。
在上述实施例的基础上,本实施例中所述报表的基本信息包括列宽和标题;所述可视化参数信息包括报表的类型,所述类型包括表格、折线图、柱状图和饼状图;所述动态查询信息为用户输入的查询字段。
在上述实施例的基础上,本实施例中获取模块具体用于:判断所述基本信息、所述可视化参数信息和所述动态查询信息是否为空;当所述报表为表格时,判断所述报表的列宽是否为整数,列宽之和是否超过预设阈值,设置为明细的属性是否在用户配置的分组中均存在,用户配置的同一次排序中的属性是否相同,用户配置的动态查询信息是否为预设类型;当所述报表为折线图或柱状图时,判断所述报表的横轴上属性的显示名称和所述报表的纵轴上属性的显示名称是否相同,若所述纵轴上任一属性设置为明细,则判断所述纵轴上所有属性是否设置为明细;当所述报表为饼状图时,判断所述报表的横轴上属性的显示名称和所述报表的纵轴上属性的显示名称是否相同,判断所述报表的纵轴上是否只有一个属性。
在上述各实施例的基础上,本实施例中查询模块具体用于:获取所述系统所使用的数据源的类型;将各类型所述数据源的查询语句的语法规则进行梳理和封装处理;根据处理后的所述语法规则,以及所述可视化参数信息和所述动态查询信息,生成所述数据源支持的查询语句。
在上述各实施例的基础上,本实施例中所述数据源的类型包括关系型和非关系型,所述查询语句包括SQL查询语句和UnQL查询语句;相应地,查询模块进一步用于:若所述数据源为关系型,则生成所述数据源支持的SQL查询语句;若所述数据源为非关系型,则生成所述数据源支持的UnQL查询语句。
在上述各实施例的基础上,本实施例中生成模块具体用于:将所述报表模板加载到内存中,将所述报表模板解析为AST结构,并对所述AST结构中的每个节点进行初始化;根据所述查询结果中各属性的值对各所述节点进行渲染,生成报表。
在上述各实施例的基础上,本实施例中生成模块具体用于:若所述报表模板首次加载到内存中,则将所述报表模板解析为AST结构,并对所述AST结构中的每个节点进行初始化;相应地,生成模块还用于:若所述报表模板不是首次加载到内存中且开启了缓存,则直接返回AST结构的所述报表模板。
本实施例提供一种电子设备,图4为本发明实施例提供的电子设备整体结构示意图,该设备包括:至少一个处理器401、至少一个存储器402和总线403;其中,
处理器401和存储器402通过总线403完成相互间的通信;
存储器402存储有可被处理器401执行的程序指令,处理器调用程序指令能够执行上述各方法实施例所提供的方法,例如包括:获取用户在系统的前台配置的报表的基本信息、可视化参数信息和动态查询信息,并对报表的基本信息、可视化参数信息和动态查询信息进行校验;若基本信息、可视化参数信息和动态查询信息均校验通过,则基于Ajax方法将基本信息、可视化参数信息和动态查询信息提交到系统的后台;根据可视化参数信息和动态查询信息,通过后台生成系统所使用的数据源支持的查询语句,根据查询语句对数据源进行查询;将查询结果和基本信息作为报表信息,根据报表信息和预先生成的报表模板生成报表。
本实施例提供一种非暂态计算机可读存储介质,非暂态计算机可读存储介质存储计算机指令,计算机指令使计算机执行上述各方法实施例所提供的方法,例如包括:获取用户在系统的前台配置的报表的基本信息、可视化参数信息和动态查询信息,并对报表的基本信息、可视化参数信息和动态查询信息进行校验;若基本信息、可视化参数信息和动态查询信息均校验通过,则基于Ajax方法将基本信息、可视化参数信息和动态查询信息提交到系统的后台;根据可视化参数信息和动态查询信息,通过后台生成系统所使用的数据源支持的查询语句,根据查询语句对数据源进行查询;将查询结果和基本信息作为报表信息,根据报表信息和预先生成的报表模板生成报表。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种报表生成方法,其特征在于,包括:
获取用户在系统的前台配置的报表的基本信息、可视化参数信息和动态查询信息,并对所述报表的基本信息、可视化参数信息和动态查询信息进行校验;
若所述基本信息、可视化参数信息和动态查询信息均校验通过,则基于Ajax方法将所述基本信息、可视化参数信息和动态查询信息提交到所述系统的后台;
根据所述可视化参数信息和所述动态查询信息,通过所述后台生成所述系统所使用的数据源支持的查询语句,根据所述查询语句对所述数据源进行查询;
将所述查询结果和所述基本信息作为报表信息,根据所述报表信息和预先生成的报表模板生成报表。
2.根据权利要求1所述的报表生成方法,其特征在于,所述报表的基本信息包括列宽和标题;
所述可视化参数信息包括报表的类型,所述类型包括表格、折线图、柱状图和饼状图;
所述动态查询信息为用户输入的查询字段。
3.根据权利要求2所述的报表生成方法,其特征在于,对所述报表的基本信息、可视化参数信息和动态查询信息进行校验的步骤具体包括:
判断所述基本信息、所述可视化参数信息和所述动态查询信息是否为空;
当所述报表为表格时,判断所述报表的列宽是否为整数,列宽之和是否超过预设阈值,设置为明细的属性是否在用户配置的分组中均存在,用户配置的同一次排序中的属性是否相同,用户配置的动态查询信息是否为预设类型;
当所述报表为折线图或柱状图时,判断所述报表的横轴上属性的显示名称和所述报表的纵轴上属性的显示名称是否相同,若所述纵轴上任一属性设置为明细,则判断所述纵轴上所有属性是否设置为明细;
当所述报表为饼状图时,判断所述报表的横轴上属性的显示名称和所述报表的纵轴上属性的显示名称是否相同,判断所述报表的纵轴上是否只有一个属性。
4.根据权利要求1-3任一所述的报表生成方法,其特征在于,根据所述可视化参数信息和所述动态查询信息,通过所述后台生成所述系统所使用的数据源支持的查询语句的步骤具体包括:
获取所述系统所使用的数据源的类型;
将各类型所述数据源的查询语句的语法规则进行梳理和封装处理;
根据处理后的所述语法规则,以及所述可视化参数信息和所述动态查询信息,生成所述数据源支持的查询语句。
5.根据权利要求1-3任一所述的报表生成方法,其特征在于,所述数据源的类型包括关系型和非关系型,所述查询语句包括SQL查询语句和UnQL查询语句;
相应地,根据所述数据源的类型生成所述数据源支持的查询语句的步骤具体包括:
若所述数据源为关系型,则生成所述数据源支持的SQL查询语句;
若所述数据源为非关系型,则生成所述数据源支持的UnQL查询语句。
6.根据权利要求1-3任一所述的报表生成方法,其特征在于,根据所述报表信息和预先生成的报表模板生成报表的步骤具体包括:
将所述报表模板加载到内存中,将所述报表模板解析为AST结构,并对所述AST结构中的每个节点进行初始化;
根据所述查询结果中各属性的值对各所述节点进行渲染,生成报表。
7.根据权利要求1-3任一所述的报表生成方法,其特征在于,将所述报表模板加载到内存中,将所述报表模板解析为AST结构,并对所述AST结构中的每个节点进行初始化的步骤具体包括:
若所述报表模板首次加载到内存中,则将所述报表模板解析为AST结构,并对所述AST结构中的每个节点进行初始化;
相应地,将所述报表模板加载到内存中,将所述报表模板解析为AST结构,并对所述AST结构中的每个节点进行初始化的步骤还包括:
若所述报表模板不是首次加载到内存中且开启了缓存,则直接返回AST结构的所述报表模板。
8.一种报表生成装置,其特征在于,包括:
获取模块,用于获取用户在系统的前台配置的报表的基本信息、可视化参数信息和动态查询信息,并对所述报表的基本信息、可视化参数信息和动态查询信息进行校验;
提交模块,用于若所述基本信息、可视化参数信息和动态查询信息均校验通过,则基于Ajax方法将所述基本信息、可视化参数信息和动态查询信息提交到所述系统的后台;
查询模块,用于根据所述可视化参数信息和所述动态查询信息,通过所述后台生成所述系统所使用的数据源支持的查询语句,根据所述查询语句对所述数据源进行查询;
生成模块,用于将所述查询结果和所述基本信息作为报表信息,根据所述报表信息和预先生成的报表模板生成报表。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述报表生成方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任一项所述报表生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910459261.2A CN110232178A (zh) | 2019-05-29 | 2019-05-29 | 报表生成方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910459261.2A CN110232178A (zh) | 2019-05-29 | 2019-05-29 | 报表生成方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110232178A true CN110232178A (zh) | 2019-09-13 |
Family
ID=67858600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910459261.2A Pending CN110232178A (zh) | 2019-05-29 | 2019-05-29 | 报表生成方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110232178A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112163941A (zh) * | 2020-09-23 | 2021-01-01 | 深圳市富途网络科技有限公司 | 数据处理方法、装置及存储介质 |
CN113190561A (zh) * | 2021-05-24 | 2021-07-30 | 平安国际智慧城市科技股份有限公司 | 数据列表配置方法、装置、电子设备及存储介质 |
CN114817267A (zh) * | 2022-05-16 | 2022-07-29 | 通联支付网络服务股份有限公司 | 用于生成数据报表的方法、设备和介质 |
CN115185983A (zh) * | 2022-09-14 | 2022-10-14 | 北京博点智合科技有限公司 | 一种报表生成方法及装置 |
CN116383544A (zh) * | 2023-06-05 | 2023-07-04 | 北京拓普丰联信息科技股份有限公司 | 一种网页报表的生成方法、装置、设备和介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744891A (zh) * | 2013-12-23 | 2014-04-23 | 大唐软件技术股份有限公司 | 一种数据查询方法和系统 |
CN104866599A (zh) * | 2015-06-01 | 2015-08-26 | 北京京东尚科信息技术有限公司 | 可视化报表的生产方法和系统 |
CN105138501A (zh) * | 2015-08-10 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种可配置的动态报表生成方法及系统 |
CN105843945A (zh) * | 2016-04-08 | 2016-08-10 | 联动优势科技有限公司 | 一种报表生成方法及系统 |
CN106933206A (zh) * | 2015-10-09 | 2017-07-07 | 费希尔-罗斯蒙特系统公司 | 分布式工业系统中的独立于源的查询 |
CN107066499A (zh) * | 2016-12-30 | 2017-08-18 | 江苏瑞中数据股份有限公司 | 面向异构存储多源数据管理及可视化系统的数据查询方法 |
CN107766344A (zh) * | 2016-08-15 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种模板渲染的方法、装置及浏览器 |
CN107832282A (zh) * | 2017-11-21 | 2018-03-23 | 苏州正载信息技术有限公司 | 一种定义可视化报表的实现方法 |
CN108090154A (zh) * | 2017-12-08 | 2018-05-29 | 广州市申迪计算机系统有限公司 | 一种异构多源数据融合查询方法及装置 |
CN109582937A (zh) * | 2017-09-28 | 2019-04-05 | 北京国双科技有限公司 | 报表生成方法、装置、存储介质和处理器 |
-
2019
- 2019-05-29 CN CN201910459261.2A patent/CN110232178A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744891A (zh) * | 2013-12-23 | 2014-04-23 | 大唐软件技术股份有限公司 | 一种数据查询方法和系统 |
CN104866599A (zh) * | 2015-06-01 | 2015-08-26 | 北京京东尚科信息技术有限公司 | 可视化报表的生产方法和系统 |
CN105138501A (zh) * | 2015-08-10 | 2015-12-09 | 北京思特奇信息技术股份有限公司 | 一种可配置的动态报表生成方法及系统 |
CN106933206A (zh) * | 2015-10-09 | 2017-07-07 | 费希尔-罗斯蒙特系统公司 | 分布式工业系统中的独立于源的查询 |
CN105843945A (zh) * | 2016-04-08 | 2016-08-10 | 联动优势科技有限公司 | 一种报表生成方法及系统 |
CN107766344A (zh) * | 2016-08-15 | 2018-03-06 | 阿里巴巴集团控股有限公司 | 一种模板渲染的方法、装置及浏览器 |
CN107066499A (zh) * | 2016-12-30 | 2017-08-18 | 江苏瑞中数据股份有限公司 | 面向异构存储多源数据管理及可视化系统的数据查询方法 |
CN109582937A (zh) * | 2017-09-28 | 2019-04-05 | 北京国双科技有限公司 | 报表生成方法、装置、存储介质和处理器 |
CN107832282A (zh) * | 2017-11-21 | 2018-03-23 | 苏州正载信息技术有限公司 | 一种定义可视化报表的实现方法 |
CN108090154A (zh) * | 2017-12-08 | 2018-05-29 | 广州市申迪计算机系统有限公司 | 一种异构多源数据融合查询方法及装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112163941A (zh) * | 2020-09-23 | 2021-01-01 | 深圳市富途网络科技有限公司 | 数据处理方法、装置及存储介质 |
CN113190561A (zh) * | 2021-05-24 | 2021-07-30 | 平安国际智慧城市科技股份有限公司 | 数据列表配置方法、装置、电子设备及存储介质 |
CN114817267A (zh) * | 2022-05-16 | 2022-07-29 | 通联支付网络服务股份有限公司 | 用于生成数据报表的方法、设备和介质 |
CN115185983A (zh) * | 2022-09-14 | 2022-10-14 | 北京博点智合科技有限公司 | 一种报表生成方法及装置 |
CN116383544A (zh) * | 2023-06-05 | 2023-07-04 | 北京拓普丰联信息科技股份有限公司 | 一种网页报表的生成方法、装置、设备和介质 |
CN116383544B (zh) * | 2023-06-05 | 2023-08-25 | 北京拓普丰联信息科技股份有限公司 | 一种网页报表的生成方法、装置、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110232178A (zh) | 报表生成方法及装置 | |
US11327935B2 (en) | Intelligent data quality | |
US9467344B2 (en) | Mechanism to display graphical IT infrastructure using configurable smart navigation | |
US11693871B1 (en) | Graphical user interface for dynamic elements of asset monitoring and reporting system | |
CN110147437A (zh) | 一种基于知识图谱的搜索方法及装置 | |
CN103020158A (zh) | 一种报表创建方法、装置和系统 | |
EP3671526A1 (en) | Dependency graph based natural language processing | |
US9547646B2 (en) | User-created members positioning for OLAP databases | |
CN112199086A (zh) | 自动编程控制系统、方法、装置、电子设备及存储介质 | |
CN109947399A (zh) | 代码结构生成方法、装置、计算机装置及可读存储介质 | |
US9032362B2 (en) | System and method for generating high performance calculators for calculation graphs | |
CN110888672A (zh) | 一种基于元数据架构的表达式引擎实现方法及系统 | |
López et al. | A component-based approach for engineering enterprise mashups | |
Voigt et al. | Using expert and empirical knowledge for context-aware recommendation of visualization components | |
CN117193964A (zh) | 任务处理方法以及自动问答方法 | |
CN110532448A (zh) | 基于神经网络的文档分类方法、装置、设备及存储介质 | |
CN110032574A (zh) | Sql语句的处理方法及装置 | |
CN115543428A (zh) | 一种基于策略模板的模拟数据生成方法和装置 | |
US11567967B2 (en) | Applying a visual analytics intent language to infer ambiguous or underspecified intent | |
CN115291869A (zh) | 一种基于vue自定义组件的零代码表单生成方法与系统 | |
Sellami et al. | Automating resources discovery for multiple data stores cloud applications | |
US9268533B2 (en) | Method and apparatus for enabling layered property definition in traditional and cloud computing environments | |
US10089414B2 (en) | System architecture generation | |
CN112989769A (zh) | 一种基于表单引擎构建多数据源表单的方法、装置及平台 | |
Krasic et al. | Big data and business intelligence: research and challenges in telecom industry |
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: 20190913 |
|
RJ01 | Rejection of invention patent application after publication |