CN111401023A - 一种报表生成方法、装置、服务器及存储介质 - Google Patents

一种报表生成方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN111401023A
CN111401023A CN202010175172.8A CN202010175172A CN111401023A CN 111401023 A CN111401023 A CN 111401023A CN 202010175172 A CN202010175172 A CN 202010175172A CN 111401023 A CN111401023 A CN 111401023A
Authority
CN
China
Prior art keywords
report
template
report template
target
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.)
Granted
Application number
CN202010175172.8A
Other languages
English (en)
Other versions
CN111401023B (zh
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.)
Zhejiang Supcon Technology Co Ltd
Original Assignee
Zhejiang Supcon Technology 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 Zhejiang Supcon Technology Co Ltd filed Critical Zhejiang Supcon Technology Co Ltd
Priority to CN202010175172.8A priority Critical patent/CN111401023B/zh
Publication of CN111401023A publication Critical patent/CN111401023A/zh
Application granted granted Critical
Publication of CN111401023B publication Critical patent/CN111401023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种报表生成方法、装置、服务器及存储介质,通过确定预先设置的至少一个报表模板中是否存在目标报表模板;若至少一个报表模板中存在目标报表模板,从目标报表模板关联的数据库中获取与目标报表模板指示的数据获取条件匹配的第一数据;基于目标报表模板指示的统计分析规则对第一数据进行统计分析得到第二数据;生成与目标报表模板相关的包含第二数据的报表。基于本发明,能够在实现报表的动态生成的基础上,降低报表生成的人工成本、提高报表生成效率。

Description

一种报表生成方法、装置、服务器及存储介质
技术领域
本发明涉及计算机技术领域,更具体地说,涉及一种报表生成方法、装置、服务器及存储介质。
背景技术
目前企业对统计分析的需求越来越多,且大多数企业都需要支持报表的功能作为决策分析的支撑。在生产现场或者企业经营中,传统的是均通过人员手工进行数据的统计分析和报表填写,这就导致企业需要投入大量的人力手动生成报表,不仅人工成本高、报表生成效率低,而且不便于后期维护。目前虽然基于Excel功能可以在一定程度上降低人工成本、解决报表手工维护的局面,但仍需要人员手动参与数据统计分析、报表填写等过程,报表生成效率低。而且,Excel功能所生成的报表是静态的,只能响应人工操作生成报表或报表中的数据,无法实现报表的动态生成。
发明内容
有鉴于此,本申请提供一种报表生成方法、装置、服务器及存储介质,以在实现报表的动态生成的基础上,降低报表生成的人工成本、提高报表生成效率。技术方案如下:
本发明第一方面公开了一种报表生成方法,包括:
确定预先设置的至少一个报表模板中是否存在目标报表模板;
若所述至少一个报表模板中存在目标报表模板,从所述目标报表模板关联的数据库中获取与所述目标报表模板指示的数据获取条件匹配的第一数据;
基于所述目标报表模板指示的统计分析规则对所述第一数据进行统计分析得到第二数据;
生成与所述目标报表模板相关的包含所述第二数据的报表。
可选的,所述报表模板携带生成条件,所述确定预先设置的至少一个报表模板中是否存在目标报表模板,包括:
获取当前系统时间;
判断预先设置的至少一个报表模板中是否存在生成条件与所述当前系统时间匹配的报表模板;
若所述至少一个报表模板中存在生成条件与所述当前系统时间匹配的报表模板,将生成条件与所述当前系统时间匹配的报表模板作为目标报表模板;
若所述至少一个报表模板中不存在生成条件与所述当前系统时间匹配的报表模板,确定当前所述至少一个报表模板中不存在目标报表模板。
可选的,所述生成条件包括生成周期,所述判断预先设置的至少一个报表模板中是否存在生成条件与所述当前系统时间匹配报表模板,包括:
判断所述当前系统时间是否满足所述报表模板的生成周期;
若所述当前系统时间满足所述报表模板的生成周期,确定所述报表模板为目标报表模板;
若所述当前系统时间不满足预先设置的至少一个报表模板中任意一个所述报表模板的生成周期,确定预先设置的至少一个报表模板中不存在生成条件与所述当前系统时间匹配的报表模板。
可选的,所述生成与所述目标报表模板相关的包含所述第二数据的报表,包括:
获取所述目标报表模板指示的待生成的报表的报表格式信息,所述报表格式信息包括所述报表的表头信息和用于填充于所述报表中的数据的数据格式信息;
基于所述报表格式信息生成与所述目标报表模板相关的包含所述第二数据的报表。
可选的,还包括:
获取所述目标报表模板所属的模板类型,所述模板类型为第一模板类型或第二模板类型;
当所述目标报表模板所属的模板类型为第一模板类型时,所述生成与所述目标报表模板相关的包含所述第二数据的报表,包括:新建与所述目标报表模板相关的包含所述第二数据的报表;
当所述目标报表模板所属的模板类型为第二模板类型时,所述生成与所述目标报表模板相关的包含所述第二数据的报表,包括:确定历史最近生成的与所述目标报表模板相关的报表,将所确定的报表中的数据替换为所述第二数据。
可选的,所述报表格式信息还包括所述报表的样式信息,该方法还包括:
基于所述样式信息渲染展示所述报表。
可选的,还包括:
接收报表查询请求,所述报表查询请求携带报表查询条件;
从历史生成的各个所述报表中查询与所述报表查询条件匹配的报表;
基于与所查询到的报表相关的报表模板携带的样式信息渲染展示所查询到的报表。
本发明第二方面公开了一种报表生成装置,包括:
目标报表模板确定单元,用于确定预先设置的至少一个报表模板中是否存在目标报表模板;
第一获取单元,用于若所述至少一个报表模板中存在目标报表模板,从所述目标报表模板关联的数据库中获取与所述目标报表模板指示的数据获取条件匹配的第一数据;
统计分析单元,用于基于所述目标报表模板指示的统计分析规则对所述第一数据进行统计分析得到第二数据;
报表生成单元,用于生成与所述目标报表模板相关的包含所述第二数据的报表。
本发明第三方面公开了一种服务器,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现如上述本发明第一方面任意一项公开的报表生成方法。
本发明第四方面公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行如上述本发明第一方面任意一项公开的报表生成方法。
本申请提供的一种报表生成方法、装置、服务器及存储介质,每预先设置的当至少一个报表模板中存在目标模板时,便自动从数据库获取第一数据、统计分析第一数据得到第二数据,进而生成包含第二数据的报表。这种报表生成方法每当在存在目标模板时便生成当前与目标模板相关的报表,实现了报表的动态生成;而且在报表生成过程中不依赖于手工操作,降低了报表生成的人工成本、提高了报表生成效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种报表生成方法的流程示意图;
图2为本发明实施例提供的另一种报表生成方法的流程示意图;
图3为本发明实施例提供的另一种报表生成方法的流程示意图;
图4为本发明实施例提供的另一种报表生成方法的流程示意图;
图5为本发明实施例提供的一种报表生成装置的结构示意图;
图6为本发明实施例提供的一种服务器的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由上述背景技术可知,目前基于Excel功能虽然可以在一定程度上降低人工成本、解决报表手工维护的局面,但仍需要人员手动参与数据统计分析、报表填写过程,报表生成效率低。而且,Excel功能所生成的报表是静态的,只能响应人工操作生成报表或报表中的数据,无法实现报表的动态生成。
本申请发明人经研究发现,目前虽然有能够实现报表的动态生成的软件,但这些软件都是基于C/S架构进行设计的,不仅需要独立安装,还需要经过专业的培训后才会使用。这些软件只关联了关系型数据库,虽然直接能够基于关联的关系型数据库动态生成关系型报表,但是由于没有关联实时/历史数据库,无法直接基于实时/历史数据库动态生成生产报表。当需要生成生产报表时,需要报表维护人员将实时/历史数据库中的数据转进关系型数据库后,才能基于关系型数据库中的数据生成生产报表,这就导致企业需要投入大量的人力手动生成报表,不仅人工成本高、报表生成效率低。
因此,本发明提供一种报表生成方法、装置、服务器及存储介质,不仅能够实现报表的动态生成,还能够在报表生成的过程中不依赖于手工操作,降低了报表生成的人工成本,提高了报表生成效率。
参见图1,示出了本发明实施例提供的一种报表生成方法的流程示意图。该报表生成方法,具体包括以下步骤:
S101:确定预先设置的至少一个报表模板中是否存在目标报表模板;若预先设置的至少一个报表模板中存在目标报表模板,执行步骤S102。
在本申请实施例中,预先设置有至少一个报表模板。比如,可以预先设置4个报表模板,或者预先设置10个报表模板,或者预先设置20个报表模板,有关于预先设置的至少一个报表模板的具体数量,发明人可根据自己的需求进行设置,本申请实施例不加以限定。
在具体执行步骤S101的过程中,预先设置的至少一个报表模板中的每个报表模板均携带有生成条件。获取当前系统时间,进而判断预先设置的至少一个报表模板中是否存在生成条件与当前系统时间匹配的报表模板,若预先设置的至少一个报表模板中存在生成条件与当前系统时间匹配的报表模板,将生成条件与当前系统时间匹配的报表模板作为目标报表模板;若预先设置的至少一个报表模板中不存在生成条件与当前系统时间匹配的报表模板,确定当前至少一个报表模板中不存在目标报表模板。
在本申请实施例中,可以确定多个目标报表模板,本申请以图1所示的报表生成方法以步骤S101所确定的目标报表模板为1个为例进行说明。
在本申请实施例中,预先设置的报表模板携带的生成条件包括:生成周期。比如,可以将预先设置的报表模板携带的生成条件包括的生成周期设置为8小时、1天、1周。有关于预先设置的报表模板中携带的生成条件包括的生成周期的具体设置方式,发明人可以根据自己的需求进行设置,本申请实施例不加以限定。
在本申请实施例中,针对预先设置的至少一个报表模板中的每个报表模板而言,可以判断当前系统时间是否满足该报表模板的生成周期,若当前系统时间满足该报表模板的生成周期,则认为该报表模板的生成条件与当前系统时间匹配,将该报表模板确定为一个目标报表模板;若当前系统时间不满足该报表模板的生成周期,则认为该报表模板的生成条件不与当前系统时间匹配,进而确定该报表模板不为目标报表模板。
需要说明的是,针对一个报表模板而言,可以根据该报表模板的生成周期确定与该报表模板对应的报表生成时间,判断当前系统时间是否位于报表的生成时间内,若是,则认为当前系统时间满足该报表模板的生成周期,若否,则认为当前系统时间不满足该报表模板的生成周期。
比如,预先设置有2个报表模板,其中,报表模板1携带的生成条件包括的生成周期为8小时;报表模板2携带的生成条件包括的生成周期为1天。当报表模板1和报表模板2的生效时间均为2019年12月9号24:00时,报表模板1的生成周期指示的各个报表生成时间可以为2019年12月10号8:00、2019年12月10号16:00等等;报表模板2的生成周期指示的各个报表生成时间可以为2019年12月10号24:00、2019年12月11号24:00等等。若获取当前系统时间为2019年12月10号8:00,则确定报表模板1为目标报表模板,报表模板2不为目标报表模板。
反之,若当前系统时间为2019年12月9号11:00,则确定预先预设的2个报表模板中不存在生成条件与当前系统时间匹配的报表模板。
S102:从目标报表模板关联的数据库中获取与目标报表模板指示的数据获取条件匹配的第一数据;
在本申请实施例中,针对预先设置的至少一个报表模板中的每个报表模板,可以预先设置该报表模板关联的数据库以及该报表模板指示的数据获取条件。
需要说明的是,与报表模板关联的数据库可以为关系型数据和实时/历史数据中的任意一个或多个。报表模板指示的数据获取条件可以为:获取2019年12月1号至8号的数据,或者获取5号生产车间至10号生产车间的数据。有关于目标报表模板具体关联的数据库,以及报表模板指示的数据获取条件的具体内容,发明人可根据自己的需求进行设置,本申请实施例不加以限定。
在具体执行步骤S102的过程中,在确定预先设置的至少一个报表模板中存在目标报表模板后,可以从目标报表模板关联的数据库中获取与目标报表模板指示的数据获取条件匹配的第一数据。
比如,当目标报表模板关联的数据库为关系型数据库,数据获取条件为获取5号生产车间至10号生产车间的数据时,可以从目标报表模板关联的关系型数据库中获取5号生产车间至10号生产车间的数据,此时,获取到的数据即为第一数据。
S103:基于目标报表模板指示的统计分析规则对第一数据进行统计分析得到第二数据;
在本申请实施例中,预先设置有目标报表模板指示的对第一数据进行统计分析的统计分析规则。在获取到与目标报表模板指示的数据获取条件匹配的第一数据后,根据预先设置的目标报表模板指示的统计分析规则对第一数据进行统计分析,得到第二数据。
在本申请实施例中,针对预先设置的至少一个报表模板中的每个报表模板,预先设置有该报表模板指示的统计分析规则。其中,报表模板指示统计分析规则可以为:对第一数据中的脏数据进行滤除,或者对第一数据中的数据进行整合,即将第一数据中相同的数据整合成1个数据,或者对第一数据中预设字段的数据进行计算。有关于报表模板指示的统计分析规则的具体内容,发明人可根据自己的需求进行设置,本申请实施例不加以限定。
S104:生成与目标报表模板相关的包含第二数据的报表。
在本申请实施例中,针对至少一个报表模板中的每个报表模板而言,预先设置有该报表模板指示的报表格式信息。在从至少一个报表模板中确定目标报表模板,并根据目标报表模板得到第二数据后,可以根据该目标报表模板指示的报表格式信息生成包含该第二数据的报表。
在本申请实施例中,报表格式信息包括报表的表头信息和用于填充于报表中的数据的数据格式信息。其中,报表的表头信息可以包括用于构成报表的表头的各个字段,用于填充于报表中的数据的数据格式信息可以指示用于填充在报表中的字段的字段值的数据格式。相应的,根据报表格式信息生成的报表的表头的表头信息和报表格式信息包括的表头信息相同,根据报表格式信息生成的报表中字段的字段值的数据格式与报表格式信息指示的该字段的字段值的数据格式相同。
在本申请实施例中,报表的表头信息可以包括用于构成报表的表头的各个字段。比如,报表的表头的字段可以为姓名、性别、年龄等等;用于填充于报表中的数据的数据格式信息可以指示用于填充在报表中的字段的字段值的数据格式。比如,用于填充在报表中的字段的字段值的数据格式可以为宋体4号,或者宋体5号加粗,或者楷体4号。有关于报表格式信息包括的报表的表头信息的具体内容,以及用于填充于报表中的数据的数据格式信息的具体内容,发明人可根据自己的需求进行设置,本申请实施例不加以限定。
本发明提供的一种报表生成方法,每当预先设置的至少一个报表模板中存在目标模板时,便自动从数据库获取第一数据、统计分析第一数据得到第二数据,进而生成包含第二数据的报表。这种报表生成方法每当在存在目标模板时便生成当前与目标模板相关的报表,实现了报表的动态生成;而且在报表生成过程中不依赖于手工操作,降低了报表生成的人工成本、提高了报表生成效率。
进一步的,参见图2,示出了本发明实施例提供的另一种报表生成方法的流程示意图。该报表生成方法具体包括以下步骤:
S201:获取当前系统时间;
S202:判断预先设置的至少一个报表模板中是否存在生成条件与当前系统时间匹配的报表模板;若预先设置的至少一个报表模板中存在生成条件与当前系统时间匹配的报表模板,执行步骤S203;若预先设置的至少一个报表模板中不存在生成条件与当前系统时间匹配的报表模板,执行步骤S209。
在具体执行步骤S202的过程中,预先设置的至少一个报表模板中的每个报表模板均携带有各自对应的生成条件,且该报表模板携带的生成条件包括生成周期。在获取到当前系统时间后,判断当前系统时间是否满足预先设置的至少一个报表模板中任意一个报表模板的生成周期,若存在,则将当前系统时间满足的生成周期对应的报表模板确定为目标报表模板;若不存在,则确定预先设置的至少一个报表模板中不存在生成条件与所述当前系统时间匹配的报表模板。
在本申请实施例中,针对预先设置的至少一个报表模板中的每个报表模板而言,该报表模板携带的生成条件包括生成周期。比如,报表模板携带的生成条件包括的生成周期可以为生成周期可以为8小时、1天、1周。当报表模板的生效时间为2019年12月9号24:00,且报表模板携带的生成条件包括的生成周期为1天时。报表模板的生成周期指示的各个生成报表的时间可以为2019年12月10号24:00、2019年12月11号24:00、2019年12月12号24:00等等。有关于预先设置的报表模板中携带的生成条件包括的生成周期的具体设置方式,发明人可以根据自己的需求进行设置,本申请实施例不加以限定。
比如,预先设置有2个报表模板,其中,报表模板1携带的生成条件包括的生成周期为1天;报表模板2携带的生成条件包括的生成周期为1周。当报表模板1和报表模板2和报表模板3的生效时间均为2019年12月9号24:00时,报表模板1的生成周期指示的各个报表生成时间可以为2019年12月10号24:00、2019年12月11号24:00等等;报表模板2的生成周期指示的各个报表生成时间可以为2019年12月16号24:00、2019年12月23号24:00等等。若获取当前系统时间为2019年12月11号24:00,则确定报表模板1为目标报表模板。
反之,若当前系统时间为2019年12月11号11:00,则确定预先预设的2个报表模板中不存在生成条件与当前系统时间匹配的报表模板。
S203:将生成条件与当前系统时间匹配的报表模板作为目标报表模板;
S204:从目标报表模板关联的数据库中获取与目标报表模板指示的数据获取条件匹配的第一数据;
在具体执行步骤S204的过程中,步骤S204的具体实现原理和执行过程与上述图1公开的步骤S102的具体实现原理和执行过程相同,可参见上述图1公开的相应部分,这里不再进行赘述。
S205:基于目标报表模板指示的统计分析规则对第一数据进行统计分析得到第二数据;
在具体执行步骤S205的过程中,步骤S205的具体实现原理和执行过程与上述图1公开的步骤S103的具体实现原理和执行过程相同,可参见上述图1公开的相应部分,这里不再进行赘述。
S206:获取目标报表模板指示的待生成的报表的报表格式信息;
其中,报表格式信息包括报表的表头信息和用于填充于报表中的数据的数据格式信息。
在具体执行步骤S206的过程中,在确定预先设置的至少一个报表模板中存在目标报表模板后,获取目标报表模板指示的待生成的报表格式信息。
需要说明的是,报表的表头信息可以包括用于构成报表的表头中的各个字段,比如,报表的表头的字段可以为姓名、性别、年龄等等;用于填充于报表中的数据的数据格式信息可以指示用于填充在报表中的字段的字段值的数据格式,比如,用于填充在报表中的字段的字段值的数据格式可以为宋体4号,或者宋体5号加粗,或者楷体4号。有关于报表格式信息包括的报表的表头信息的具体内容,以及用于填充于报表中的数据的数据格式信息的具体内容,发明人可根据自己的需求进行设置,本申请实施例不加以限定。
S207:基于报表格式信息生成与目标报表模板相关的包含第二数据的报表;
在具体执行步骤S207的过程中,在获取目标报表模板指示的待生成的报表的报表格式信息后,将获取到的第二数据按照报表格式信息中的报表的表头信息和用于填充于报表中的数据的数据格式信息填入目标报表模板的相应位置,进而生成与目标报表模板相关的包含第二数据的报表。
S208:基于样式信息渲染展示报表。
在具体执行步骤S208的过程中,目标报表模板指示的待生成的报表的报表格式信息还包括样式信息,在生成与目标报表模板相关的包含第二数据的报表后,根据报表格式信息中包括的样式信息对生成的报表进行渲染展示。
在本申请实施例中,报表格式信息还包括样式信息。该样式信息可以为将生成的报表中的字体颜色更改为黄色,或者对生成的报表中的字体加粗。有关于报表格式信息中包括的样式信息的具体内容,发明人可根据自己的需求进行设置,本申请实施例不加以限定。
S209:确定当前至少一个报表模板中不存在目标报表模板。
在本申请实施例中,当至少一个报表模板中不存在目标报表模板时,不生成报表。
进一步的,在上述图2公开的另一种报表生成方法的基础上,如图3所示,具体还包括以下步骤:
S301:接收报表查询请求;
在本申请实施例中,用户可以通过浏览器发送的查询报表请求,报表查询条件中携带有报表查询条件。当接收到用户发送的报表查询请求时,获取报表查询请求中携带的报表查询条件。
需要说明的是,报表查询条件可以为查询2019年12月9号的报表。有关于报表查询条件的具体内容,发明人可根据自己的需求进行设置,本申请实施例不加以限定。
S302:从历史生成的各个报表中查询与报表查询条件匹配的报表;
在具体执行步骤S302的过程中,当接收到报表查询请求时,根据报表查询请求中携带的报表查询请求,从历史生成的各个报表中查询与报表查询条件匹配的报表。
比如,当报表查询条件携带的报表查询条件为查询2019年12月9号的报表时,从历史生成的各个报表中查询2019年12月9号生成的报表。
S303:基于与所查询到的报表相关的报表模板携带的样式信息渲染展示所查询到的报表。
在具体执行步骤S303的过程中,在查询到与报表查询条件匹配的报表后,根据报表相关的报表模板携带的样式信息,对查询到的报价表进行渲染展示。
在本申请实施例中,报表格式信息还包括样式信息。该样式信息可以为将查询到的报表中的字体的颜色更改为黄色,或者对查询到的报表中的字体加粗。有关于报表格式信息中包括的样式信息的具体内容,发明人可根据自己的需求进行设置,本申请实施例不加以限定。
在本发明实施例中,通过根据报表查询请求中携带的报表查询条件,从历史生成的各个报表中查询与报表查询条件匹配的报表,并根据报表相关的报表模板携带的样式信息,对查询到的报价表进行渲染展示,以供用户查看。
进一步的,参见图4,示出了本发明实施例提供的另一种报表生成方法的流程示意图。该报表生成方法具体包括以下步骤:
S401:获取当前系统时间;
S402:判断预先设置的至少一个报表模板中是否存在生成条件与当前系统时间匹配的报表模板;若预先设置的至少一个报表模板中存在生成条件与当前系统时间匹配的报表模板,执行步骤S403;若预先设置的至少一个报表模板中不存在生成条件与当前系统时间匹配的报表模板,执行步骤410。
S403:将生成条件与当前系统时间匹配的报表模板作为目标报表模板;
S404:从目标报表模板关联的数据库中获取与目标报表模板指示的数据获取条件匹配的第一数据;
S405:基于目标报表模板指示的统计分析规则对第一数据进行统计分析得到第二数据;
在具体执行步骤S401至步骤S405的过程中,步骤S401至步骤S405的具体实现原理和执行过程与上述图2公开的步骤S201至步骤S205的具体实现原理和执行过程相同,可参见上述图2公开的相应部分,这里不再进行赘述。
S406:获取目标报表模板所属的模板类型;
在本申请实施例中,预先设置的至少一个报表模板中的每个报表模板均有各自所属的模板类型。报表模板所属的模板类型可以为第一模板类型或者第二模板类型。其中,第一模板类型可以为生产报表模板类型;第二模板类型可以为关系型报表模板类型。模板类型为生产报表模板类型的报表模板关联的数据库可以为实时/历史数据库;模板类型为关系型报表模板类型关联的数据库可以为关系型数据库。
在本申请实施例中,当模板类型为生成报表模板类型时,报表模板的设置过程可以为:当报表编辑器接收到报表模板设置人员发送的建立报表模板的命令时,获取命令中携带的生成周期,根据该生成周期生成生产报表模板类型的报表,以及将生成的生产报表模板类型的报表关联的数据库设置为实时/历史数据库;根据命令中携带的业务类型在生产报表模板类型的报表中添加相应的数据获取条件和统计分析规则,在添加完成后,将生产报表模板类型的报表进行保存,生成生产报表模板类型的报表模板。
需要说明的是,对于需要回填的生产报表模板类型的报表模板,在添加完相应的数据获取条件和统计分析规则后,进行回填设置,即在利用进行设置了回填设置的报表模板生成报表后,将该报表返回的与该报表模板关联的数据库的位号中。
在本申请实施例中,当模板类型为关系型报表模板类型时,报表模板的设置过程可以为:当报表编辑器接收到报表模板设置人员发送的建立报表模板的命令时,获取命令中携带的生成周期,根据该生成周期生成生产报表模板类型的报表,以及将关系型报表模板类型的报表关联的数据库设置为关系型数据库;填写关联关系型数据库的连接信息,并对填写的连接信息进行校验,在校验通过后,对关系型报表模板类型的报表进行保存。根据命令中携带的业务类型,在生成的关系型报表模板类型的报表中添加数据获取条件和统计分析规则,在添加完成后,将关系型报表模板类型的报表进行保存,生成关系型报表模板类型的报表模板。
需要说明的是,统计分析规则可以为SQL语句。当统计分析规则为SQL语句时,根据命令中携带的业务类型编写SQL语句。比如,编写的SQL语句可以为:“select*from tb_stuwhere sex=${sex}”,其中“sex”为识别参数,当模板设置人员输入预先设置的默认值后,可以自动识别“sex”。当识别出相应的SQL语句时,形成临时的数据集,将该临时的数据集的格式转换为JSON格式的数据集,对将JSON格式的数据集进行解析,并将进行解析得到的数据返回至报表编辑器的编辑页面,以供报表模板设置人员查看。
进一步需要说明的是,当统计分析规则为SQL语句时,对于编写的SQL语句中的识别参数会生成相应的查询控件,以供模板设置人员根据查询控件对与识别参数对应的SQL语句进行查看。
在本申请实施例中,报表编辑器可以为Hansontable。Hansontable是一款开源的类Excel的web表格编辑器,支持丰富的展现和交互,有多样的单元格类型供配置。核心是根据原生JavaScript进行构建,充分模块化,除了核心表格渲染,大部分功能以插件提供。可以灵活构建插拔,自定义添加新功能插件。在Handsontable基础上开发的报表组态软件能够使得用户更加灵活的操作,展示更加丰富的表达形式。
S407:判断目标报表模板所属的模板类型是否第一模板类型;
需要说明的是,若目标报表模板所属的模板类型为第一模板类型,执行步骤S408;若目标报表模板所属的模板类型不为第一模型类型,则确定目标报表模板所属的模板类型为第二模板类型,执行步骤S409。
在本申请实施例中,第一模板类型可以为生产报表模板类型,在此情况下,可以判断获取到的目标报表模板所属的模板类型是否为生产报表模板类型,若目标报表模板所属的模板类型为生产报表模板类型,确定目标报表模板所属的模板类型为第一模板类型;若目标报表模板所属的模板类型不为生产报表模板类型,确定目标模板所属的模板类型不为第一模板类型。
S408:新建与目标报表模板相关的包含第二数据的报表;
在本申请实施例中,第一模板类型为生产报表模板类型且目标报表模板所属的模板类型为生产报表模板类型时,可以获取目标报表模板指示的待生成报表的报表格式信息,根据获取的报表格信息新建与目标报表模板相关的包含第二数据的报表,此时该新建的报表为生产报表。
S409:确定历史最近生成的与目标报表模板相关的报表,将所确定的报表中的数据替换为第二数据;
在本申请实施例中,第二模板类型为关系型报表模板类型且目标报表模板所属的模板类型为关系型报表模板类型时,可以确定历史最近生成的与目标报表模板相关的报表,并根据获取的目标报表模板指示的待生成报表的报表格式信息将所确定的报表中的数据替换为第二数据。
S410:确定当前至少一个报表模板中不存在目标报表模板。
本发明提供的一种报表生成方法,针对生产报表模板类型的报表模板而言,可以通过以新建的方式生成与生产报表模板类型相关的各个报表,可以保留实时生产的历史记录;针对关系型报表模板类型的报表模板而言,可以通过替换的方式生成与关系型报表模板类型相关的报表,可以保留最新的数据。
参见图5,示出了本发明实施例提供的一种报表生成装置的结构示意图,该报表生成装置,包括:
目标报表模板确定单元51,用于确定预先设置的至少一个报表模板中是否存在目标报表模板;
第一获取单元52,用于若至少一个报表模板中存在目标报表模板,从目标报表模板关联的数据库中获取与目标报表模板指示的数据获取条件匹配的第一数据;
统计分析单元53,用于基于目标报表模板指示的统计分析规则对第一数据进行统计分析得到第二数据;
报表生成单元54,用于生成与目标报表模板相关的包含第二数据的报表。
上述本发明实施例公开的报表生成装置中各个单元具体的原理和执行过程,与上述本发明实施例公开的报表生成方法相同,可参见上述本发明实施例公开的报表生成方法中相应的部分,这里不再进行赘述。
本申请提供的一种报表生成装置,每当预先设置的至少一个报表模板中存在目标模板时,便自动从数据库获取第一数据、统计分析第一数据得到第二数据,进而生成包含第二数据的报表。这种报表生成方法每当在存在目标模板时便生成当前与目标模板相关的报表,实现了报表的动态生成;而且在报表生成过程中不依赖于手工操作,降低了报表生成的人工成本、提高了报表生成效率。
在本申请实施例中,目标报表模板确定单元,包括:
第二获取单元,用于获取当前系统时间;
第一判断单元,用于判断预先设置的至少一个报表模板中是否存在生成条件与当前系统时间匹配的报表模板;
第一确定单元,用于若至少一个报表模板中存在生成条件与当前系统时间匹配的报表模板,将生成条件与当前系统时间匹配的报表模板作为目标报表模板;
第二确定单元,用于若至少一个报表模板中不存在生成条件与当前系统时间匹配的报表模板,确定当前至少一个报表模板中不存在目标报表模板。
在本申请实施例中,第一判断单元,包括:
第二判断单元,用于判断当前系统时间是否满足报表模板的生成周期;
第三确定单元,用于若当前系统时间满足报表模板的生成周期,确定报表模板为目标报表模板;
第四确定单元,用于若当前系统时间不满足预先设置的至少一个报表模板中任意一个报表模板的生成周期,确定预先设置的至少一个报表模板中不存在生成条件与当前系统时间匹配的报表模板。
在本申请实施例中,报表生成单元,包括:
第三获取单元,用于获取目标报表模板指示的待生成的报表的报表格式信息,报表格式信息包括报表的表头信息和用于填充于报表中的数据的数据格式信息;
报表生成子单元,用于基于报表格式信息生成与目标报表模板相关的包含第二数据的报表。
进一步在,本申请实施例提供的一种报表生成装置,还包括:
第四获取单元,用于获取目标报表模板所属的模板类型,模板类型为第一模板类型或第二模板类型;
相应的,报表生成单元,具体用于当目标报表模板所属的模板类型为第一模板类型时,新建与目标报表模板相关的包含第二数据的报表;当目标报表模板所属的模板类型为第二模板类型时,确定历史最近生成的与目标报表模板相关的报表,将所确定的报表中的数据替换为第二数据。
进一步在,报表格式信息还包括报表的样式信息,本申请实施例提供的一种报表生成装置,还包括:
第一渲染展示单元,用于基于样式信息渲染展示报表。
进一步在,本申请实施例提供的一种报表生成装置,还包括:
接收单元,用于接收报表查询请求,报表查询请求携带报表查询条件;
查询单元,用于从历史生成的各个报表中查询与报表查询条件匹配的报表;
第二渲染展示单元,用于基于与所查询到的报表相关的报表模板携带的样式信息渲染展示所查询到的报表。
下面以报表生成方法应用于服务器为例,对本申请实施例提供的一种报表生成方法所适用于的服务器的硬件结构进行详细说明。
本申请实施例提供的一种报表生成方法可应用于服务器,该服务器可以是网络侧为用户提供服务的服务设备,其可能是多台服务器组成的服务器集群,也可能是单台服务器。
可选的,图6示出了本申请实施例提供的一种报表生成方法所适用于的服务器的硬件结构框图,参照图6,服务器的硬件结构可以包括:处理器61,存储器62,通信接口63和通信总线64;
在本发明实施例中,处理器61、存储器62、通信接口63、通信总线64的数量均可以为至少一个,且处理器61、存储器62、通信接口63通过通信总线64完成相互间的通信;
处理器61可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器62可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,程序用于:
确定预先设置的至少一个报表模板中是否存在目标报表模板;
若至少一个报表模板中存在目标报表模板,从目标报表模板关联的数据库中获取与目标报表模板指示的数据获取条件匹配的第一数据;
基于目标报表模板指示的统计分析规则对第一数据进行统计分析得到第二数据;
生成与目标报表模板相关的包含第二数据的报表。
有关程序的功能可参见上文对本申请实施例提供的一种报表生成方法的详细描述,在此不做赘述。
进一步的,本申请实施例还提供一种计算机存储介质,该计算机存储介质中存储有计算机可执行指令,该计算机可执行指令用于执行上述报表生成方法。
有关计算机可执行指令的具体内容可参见上文对本申请实施例提供的一种报表生成方法的详细描述,在此不做赘述。
以上对本发明所提供的一种报表生成方法、装置、服务器及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种报表生成方法,其特征在于,包括:
确定预先设置的至少一个报表模板中是否存在目标报表模板;
若所述至少一个报表模板中存在目标报表模板,从所述目标报表模板关联的数据库中获取与所述目标报表模板指示的数据获取条件匹配的第一数据;
基于所述目标报表模板指示的统计分析规则对所述第一数据进行统计分析得到第二数据;
生成与所述目标报表模板相关的包含所述第二数据的报表。
2.根据权利要求1所述的方法,其特征在于,所述报表模板携带生成条件,所述确定预先设置的至少一个报表模板中是否存在目标报表模板,包括:
获取当前系统时间;
判断预先设置的至少一个报表模板中是否存在生成条件与所述当前系统时间匹配的报表模板;
若所述至少一个报表模板中存在生成条件与所述当前系统时间匹配的报表模板,将生成条件与所述当前系统时间匹配的报表模板作为目标报表模板;
若所述至少一个报表模板中不存在生成条件与所述当前系统时间匹配的报表模板,确定当前所述至少一个报表模板中不存在目标报表模板。
3.根据权利要求2所述的方法,其特征在于,所述生成条件包括生成周期,所述判断预先设置的至少一个报表模板中是否存在生成条件与所述当前系统时间匹配报表模板,包括:
判断所述当前系统时间是否满足所述报表模板的生成周期;
若所述当前系统时间满足所述报表模板的生成周期,确定所述报表模板为目标报表模板;
若所述当前系统时间不满足预先设置的至少一个报表模板中任意一个所述报表模板的生成周期,确定预先设置的至少一个报表模板中不存在生成条件与所述当前系统时间匹配的报表模板。
4.根据权利要求1所述的方法,其特征在于,所述生成与所述目标报表模板相关的包含所述第二数据的报表,包括:
获取所述目标报表模板指示的待生成的报表的报表格式信息,所述报表格式信息包括所述报表的表头信息和用于填充于所述报表中的数据的数据格式信息;
基于所述报表格式信息生成与所述目标报表模板相关的包含所述第二数据的报表。
5.根据权利要求4所述的方法,其特征在于,还包括:
获取所述目标报表模板所属的模板类型,所述模板类型为第一模板类型或第二模板类型;
当所述目标报表模板所属的模板类型为第一模板类型时,所述生成与所述目标报表模板相关的包含所述第二数据的报表,包括:新建与所述目标报表模板相关的包含所述第二数据的报表;
当所述目标报表模板所属的模板类型为第二模板类型时,所述生成与所述目标报表模板相关的包含所述第二数据的报表,包括:确定历史最近生成的与所述目标报表模板相关的报表,将所确定的报表中的数据替换为所述第二数据。
6.根据权利要求4所述的方法,其特征在于,所述报表格式信息还包括所述报表的样式信息,该方法还包括:
基于所述样式信息渲染展示所述报表。
7.根据权利要求6所述的方法,还包括:
接收报表查询请求,所述报表查询请求携带报表查询条件;
从历史生成的各个所述报表中查询与所述报表查询条件匹配的报表;
基于与所查询到的报表相关的报表模板携带的样式信息渲染展示所查询到的报表。
8.一种报表生成装置,其特征在于,包括:
目标报表模板确定单元,用于确定预先设置的至少一个报表模板中是否存在目标报表模板;
第一获取单元,用于若所述至少一个报表模板中存在目标报表模板,从所述目标报表模板关联的数据库中获取与所述目标报表模板指示的数据获取条件匹配的第一数据;
统计分析单元,用于基于所述目标报表模板指示的统计分析规则对所述第一数据进行统计分析得到第二数据;
报表生成单元,用于生成与所述目标报表模板相关的包含所述第二数据的报表。
9.一种服务器,其特征在于,包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现如权利要求1-7任意一项所述的报表生成方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1-7任意一项所述的报表生成方法。
CN202010175172.8A 2020-03-13 2020-03-13 一种报表生成方法、装置、服务器及存储介质 Active CN111401023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010175172.8A CN111401023B (zh) 2020-03-13 2020-03-13 一种报表生成方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010175172.8A CN111401023B (zh) 2020-03-13 2020-03-13 一种报表生成方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN111401023A true CN111401023A (zh) 2020-07-10
CN111401023B CN111401023B (zh) 2024-01-19

Family

ID=71430863

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010175172.8A Active CN111401023B (zh) 2020-03-13 2020-03-13 一种报表生成方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN111401023B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817650A (zh) * 2020-12-28 2021-05-18 浙江中控技术股份有限公司 一种实验室管理系统中的任务创建方法、装置及系统
CN113435175A (zh) * 2021-06-17 2021-09-24 长沙通诺信息科技有限责任公司 审查批件的生成方法、装置、终端设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221233A1 (en) * 2003-04-29 2004-11-04 David Thielen Systems and methods for report design and generation
EP1729235A1 (en) * 2005-06-03 2006-12-06 Agfa Corporation Structured reporting report data manager
CN101308490A (zh) * 2008-04-28 2008-11-19 北京航空航天大学 一种动态报表生成方法及平台
CN109582937A (zh) * 2017-09-28 2019-04-05 北京国双科技有限公司 报表生成方法、装置、存储介质和处理器

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040221233A1 (en) * 2003-04-29 2004-11-04 David Thielen Systems and methods for report design and generation
EP1729235A1 (en) * 2005-06-03 2006-12-06 Agfa Corporation Structured reporting report data manager
CN101308490A (zh) * 2008-04-28 2008-11-19 北京航空航天大学 一种动态报表生成方法及平台
CN109582937A (zh) * 2017-09-28 2019-04-05 北京国双科技有限公司 报表生成方法、装置、存储介质和处理器

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112817650A (zh) * 2020-12-28 2021-05-18 浙江中控技术股份有限公司 一种实验室管理系统中的任务创建方法、装置及系统
CN112817650B (zh) * 2020-12-28 2022-04-26 浙江中控技术股份有限公司 一种实验室管理系统中的任务创建方法、装置及系统
CN113435175A (zh) * 2021-06-17 2021-09-24 长沙通诺信息科技有限责任公司 审查批件的生成方法、装置、终端设备及存储介质

Also Published As

Publication number Publication date
CN111401023B (zh) 2024-01-19

Similar Documents

Publication Publication Date Title
CN107391538B (zh) 点击数据采集、处理和展示方法、装置、设备及存储介质
EP2924588B1 (en) Report creation method, device and system
CN111563368A (zh) 报表生成方法、装置、计算机设备和存储介质
CN111339171B (zh) 数据查询的方法、装置及设备
CN111401023A (zh) 一种报表生成方法、装置、服务器及存储介质
CN113268403B (zh) 时间序列的分析预测方法、装置、设备及存储介质
CN113032633A (zh) 一种利用引用数据项自定义表格的方法
CN111090803A (zh) 一种数据处理方法、装置、电子设备和存储介质
CN110737432A (zh) 一种基于词根表的脚本辅助设计方法及装置
CN111858596A (zh) 数据获取方法、装置、计算机设备和存储介质
CN111178026A (zh) 一种实现集客专线运行分析报告的方法
CN116151897A (zh) 一种基于bim模型的造价管理方法、系统、介质及设备
CN112819582B (zh) 订单数据显示方法、装置、存储介质及电子设备
CN115563950A (zh) 报告自动生成方法、装置、设备及存储介质
CN114860759A (zh) 一种数据处理方法、装置、设备及可读存储介质
CN113486133A (zh) 人口分布信息生成方法、装置、服务器及存储介质
CN113282278A (zh) 一种基础数据参与者矩阵设计方法、装置及介质
CN115017185A (zh) 一种数据处理方法、装置及存储介质
CN111143356A (zh) 报表检索方法及装置
CN110955686A (zh) 数据多维交叉处理方法、装置、电子设备及存储介质
EP3759665A1 (en) Multi-dimensional organization of data for efficient analysis
CN110837365A (zh) 一种基于词根表的脚本辅助设计方法及装置
CN114548062B (zh) 一种报表编排方法
CN111898354B (zh) 铁路工程概预算文件编制方法、装置及电子设备
CN113132164B (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