发明内容
基于此,有必要针对效率差的问题,提供一种报表生成方法、装置、计算机设备及可读存储介质。
一种报表生成方法,包括:
获取报表模板,其中,所述报表模板包括报表字段信息;
获取源数据,所述源数据包括实时录入数据和/或历史存储数据;
对所述源数据进行流式处理,并根据所述报表字段信息提取报表所需的有效数据;
将所述有效数据写入所述报表模板,生成所述报表。
在其中一个实施例中,所述根据所述报表字段信息提取报表所需的有效数据,包括:
获取所述源数据对应的数据字段信息;
将所述源数据的数据字段信息与所述报表字段信息比对,提取所述源数据中数据字段信息与所述报表字段信息匹配的数据,得到所述有效数据。
在其中一个实施例中,所述将所述有效数据写入所述报表模板,生成所述报表,包括:
根据所述有效数据以及对应的数据字段信息,得到子报表;
根据所述有效数据对应的数据字段信息与所述报表字段信息的对应关系,将所述子报表写入所述报表模板,生成所述报表。
在其中一个实施例中,所述方法还包括:
获取对所述源数据的更新操作;
根据对所述源数据的更新操作,对所述报表进行对应的更新。
在其中一个实施例中,所述根据对所述源数据的更新操作,对所述报表进行对应的更新,包括:
将所述子报表与所述源数据建立链接关系;
根据所述源数据的更新操作及所述链接关系对所述子报表进行对应的更新。
在其中一个实施例中,所述根据所述源数据的更新操作及所述链接关系对所述子报表进行对应的更新,包括:
获取更新后的源数据;
对所述更新后的源数据进行流式处理,并根据所述报表字段信息提取报表所需的有效更新数据;
根据所述链接关系确定待更新子报表;
根据所述有效更新数据的数据字段信息与所述报表字段信息的对应关系,修改所述待更新子报表。
在其中一个实施例中,所述方法还包括:
建立所述报表的汇总算法,对所述有效数据进行计算汇总。
在其中一个实施例中,所述方法还包括:
接收对所述报表的查询请求,所述查询请求中包括查询条件;
根据所述查询条件,对所述报表进行过滤显示,输出与所述查询条件对应的需求报表。
一种报表生成装置,包括:
模板获取模块,用于获取报表模板,其中,所述报表模板包括报表字段信息;
源数据获取模块,用于获取源数据;
数据处理模块,用于对所述源数据进行流式处理,并根据所述报表字段信息提取报表所需的有效数据;
报表生成模块,用于将所述有效数据写入所述报表模板,生成所述报表。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
上述报表生成方法、装置、计算机设备及可读存储介质通过获取报表模板和源数据,并对所述源数据进行流式处理,然后根据所述报表字段信息提取报表所需的有效数据。将所述有效数据写入所述报表模板,生成所述报表。本申请提供的所述报表生成方法、装置、计算机设备及可读存储介质对所述源数据进行了流式处理,对所述源数据进行实时采集、实时计算和实时查询,从而快速的获取所述有效数据,快速的生成所述报表。本申请提供的所述方法、装置、计算机设备及可读存储介质无需通过繁琐的关联和查询生成报表,有效节约了所述计算机设备的资源,提高了运行速度和报表生成效率。另外,本申请实施例提供的所述方法,所述源数据包括实时录入数据和/或历史存储数据,因此本方法既可以对所述实时录入数据处理,也可以对所述历史存储数据进行处理。所述方法应用范围广,实用性强。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,通过下述实施例并结合附图,对本申请实施例中的技术方案的进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定申请。
请参见图1,本申请提供的报表生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102可以通过网络向服务器104获取或发送单据数据、出入库日志数据、传感器数据或最终的报表数据等。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本申请实施例提供的所述方法可以应用于销售管理系统、财务管理系统、学习管理系统、物料管理系统等等,这些系统可以运行在如图1所示的服务器中。本申请对所述方法的应用环境和系统并不做限定。以下实施例以销售管理系统为例进行说明。
请参见图2,本申请一个实施例提供一种报表生成方法,所述方法包括:
S10,获取报表模板,其中,所述报表模板包括报表字段信息。
所述报表模板可以根据用户需求不同进行不同的设定和选择。所述报表模板可以预先存储于所述计算机设备或服务器。根据需求参数的不同,所述报表模板包括不同的所述报表字段信息。每个所述报表字段信息包括唯一的供所述计算机设备识别的字段标识符。以销售系统为例,所述报表模板中的所述报表字段信息可以根据销售单据或其他数据源获取。所述销售单据中可以包括产品类型、产品数量、产品单价、生产地址、生产日期、物流信息等。根据需求,所述报表字段信息可以为表征以上信息中的产品类型、产品数量、产品单价的信息。
S20,获取源数据。
所述源数据是指生成报表的数据源包含的数据。所述源数据可以通过销售单据数据、出入库日志、传感器检测数据和/或第三方软件获取。获取所述源数据后,所述计算机设备可以通过消息队列进行源数据的传递和数据引擎处理的触发。在一个具体的实施例中,所述消息队列采用RocketMQ。
S30,对所述源数据进行流式处理,并根据所述报表字段信息提取报表所需的有效数据。
所述计算机设备对所述源数据进行流式处理,即将所述源数据根据预先设定的算法和规则进行实时分析处理。所述流式处理的具体算法本申请不做限定,可以根据实际需求选择。在一个具体的实施例中,所述流式处理采用Apache Flink算法。
所述计算机设备将所述源数据与所述报表字段信息比对,从而提取出与所述报表字段信息匹配的数据,即所述有效数据。
S40,将所述有效数据写入所述报表模板,生成所述报表。
生成的所述报表可以进行展示,也可以存储于所述计算机设备,以供需要时使用。
在一个实施例中,所述源数据包括实时录入数据和/或历史存储数据。
所述实时录入数据是指所述销售管理系统实时生成销售单据或实时出入库等产生的销售单据或出入库信息等数据。所述历史存储数据是指存储于所述计算机设备中的历史单据或历史出入库信息等数据。
当所述源数据为所述实时录入数据时,所述计算机设备对所述实时录入数据进行流式处理,并根据所述报表字段信息提取所述实时录入数据中的所述有效数据。
当所述源数据为历史存储数据时,例如所述源数据为历史销售单据。所述计算机设备从存储器中获取所述历史单据,并对所述历史单据进行预处理,将所述历史单据中的数据提取出来,得到所述历史存储数据。所述计算机设备对所述历史存储数据进行流式处理,并根据所述报表字段信息从所述历史存储数据中提取所述有效数据。
本实施例中,通过获取报表模板和源数据,并对所述源数据进行流式处理,然后根据所述报表字段信息提取报表所需的有效数据。将所述有效数据写入所述报表模板,生成所述报表。本实施例提供的所述报表生成方法对所述源数据进行了流式处理,对所述源数据进行实时采集、实时计算和实时查询,从而快速的获取所述有效数据,快速的生成所述报表。本实施例提供的所述方法无需通过繁琐的关联和查询生成报表,有效节约了所述计算机设备的资源,提高了运行速度和报表生成效率。另外,本申请实施例提供的所述方法,所述源数据包括实时录入数据和/或历史存储数据,因此本方法既可以对所述实时录入数据处理,也可以对所述历史存储数据进行处理。所述方法应用范围广,实用性强。
请参见图3,在一个实施例中,所述方法还包括:
S50,建立所述报表的汇总算法,对所述有效数据进行计算汇总。
根据需求,在所述报表中设立对应的栏目,对需要计算和汇总的所述报表字段信息对应的数据进行汇总。例如,对所述报表中产品数量对应的数据进行统计,得到销售的产品数量的总计。所述汇总的具体算法本申请不做具体限定,可以根据实际需求进行选择和设定。可以理解,所述汇总算法的设定,可以实现在所述报表中相关数据更新,汇总数据自动实现更新。本实施例中,通过建立所述报表的汇总算法,对所述有效数据进行汇总计算,使得所述有效数据能够得到统计和汇总,增强了所述报表的实用性和直观性。
请参见图4,在一个实施例中,S30中,所述根据所述报表字段信息提取报表所需的有效数据,包括:
S310,获取所述源数据对应的数据字段信息。
对所述源数据进行流式处理,并将所述源数据根据对应的数据字段信息输出。所述数据字段信息是指数据对应的唯一标识的字段信息。所述计算机设备获取所述源数据中每个数据的数据字段信息。例如,根据销售单据中获取的源数据中包含多个数据,其中第一个数据为“日用品”,第一个数据对应的的数据字段信息为产品类型;第二个数据为“8”,第二个数据对应的数据字段信息为产品数量;第三个数据为“22”,第三个数据对应的数据字段信息为产品单价;第四个数据为“江苏”,第四个数据对应的数据字段信息为生产地址……
S320,将所述源数据的数据字段信息与所述报表字段信息比对,提取所述源数据中数据字段信息与所述报表字段信息匹配的数据,得到所述有效数据。
所述计算机设备将所述源数据中的每个数据的数据字段信息与所述报表模板的所述报表字段信息比对,若数据对应的数据字段信息包含在所述报表字段信息中,则,该数据为有效数据。若该数据对应的数据字段信息未包含在所述报表字段信息中,则所述数据不是所述有效数据。在一个具体的实施例中,所述计算机设备对所述源数据进行流式处理,并将所述源数据按照对应的数据字段信息分类输出。所述计算机设备将所述源数据的数据字段信息与所述报表字段信息比对和匹配,得到所述源数据中与所述报表字段信息匹配的匹配区域,所述匹配区域中的数据即为所述有效数据。
本实施例中,通过获取所述源数据对应的数据字段信息,并将所述源数据的数据字段信息与所述报表字段信息比对,提取所述源数据中数据字段信息与所述报表字段信息匹配的数据,得到所述有效数据。本实施例提供的所述报表生成方法获取所述有效数据的方法简单、快捷,进一步提高了报表生成的效率。
请参见图5,在一个实施例中,S40包括:
S410,根据所述有效数据以及对应的数据字段信息,得到子报表。
即根据所述匹配区域,将所述有效数据与所述有效数据对应的数据字段信息打包,得到所述子报表。根据需要,可以对所述子报表进行标识,以区别不同过程或不同销售订单形成的所述子报表。所述子报表的字段信息与所述报表模板的所述报表字段信息相互对应。
S420,根据所述有效数据对应的数据字段信息与所述报表字段信息的对应关系,将所述子报表写入所述报表模板,生成所述报表。
例如,所述子报表的字段信息和所述报表字段信息相同,并依次包括:产品类型、产品数量、产品单价、生产地址、生产日期、物流信息。则,将所述子报表中的所述有效数据按照以上字段信息依次写入所述报表模板。可以理解,根据需要按照如上方法将多个过程或单据对应的所述子报表写入所述报表模板,即可得到所述报表。
本实施例中,根据所述有效数据以及对应的数据字段信息,得到子报表,并根据所述有效数据对应的数据字段信息与所述报表字段信息的对应关系,将所述子报表写入所述报表模板,生成所述报表。本实施例通过生成所述子报表,使得所述有效数据已整块报表形式写入所述报表模板,方便写入,提高报表生成效率,且便于后期的查找和跟踪。
请参见图6,在一个实施例中,所述方法还包括:
S60,接收对所述报表的查询请求,所述查询请求中包括查询条件。
S70,根据所述查询条件,对所述报表进行过滤显示,输出与所述查询条件对应的需求报表。
所述报表存储于所述计算机设备。当用户需要查看所述报表时,可以通过用户界面输入查询请求。所述计算机设备接收所述查询请求,并根据所述查询请求将所述报表显示于显示界面。
用户也可以根据需求,查询所述报表中的部分数据。用户可以通过用户界面数据查询条件。所述计算机设备接收所述查询条件,并根据显示符合所述查询条件的数据,生成所述需求报表。所述查询条件可以为报表字段信息,也可以为所述子报表信息等。本实施例中提供的所述方法能够接受对所述报表的查询请求和查询条件,并根据所述查询条件对所述报表进行过滤显示,输出与所述查询条件对应的所述需求报表。本实施例提供的所述方法能够根据用户需求对所述报表进行过滤显示,使用灵活,提高了实用性和用户体验度。
请继续参见图6,在一个实施例中,所述方法还包括:
S80,获取对所述源数据的更新操作。
S90,根据对所述源数据的更新操作,对所述报表进行对应的更新。
所述报表生成后,当用户对销售单据或者出入库日志等进行更新操作时,即,对所述源数据进行更新操作。所述计算机设备可以通过获取编辑指令、修改指令等方式获取所述源数据的更新操作。获取所述源数据的更新操作后,所述计算机设备对所述报表进行对应的更新,使得所述报表数据与所述源数据保持一致,保证所述报表的实时更新,从而保证所述报表的准确性。
请参见图7,在一个实施例中,S90包括:
S910,将所述子报表与所述源数据建立链接关系。
所述子报表可以直接与所述源数据中的数据建立链接关系,也可以通过与所述源数据对应的销售单据、出入库日志等建立链接关系,从而建立与所述源数据的连接关系。具体的,可以将所述子报表的唯一标识码与所述源数据对应的销售单据编码建立一一对应的链接关系。
S920,根据所述源数据的更新操作及所述链接关系对所述子报表进行对应的更新。
当所述源数据发生更新操作,根据所述链接关系,寻找与所述源数据对应的所述子报表,并对所述子报表进行更新。通过对所述子报表进行更新,使得所述报表的数据得到实时更新,提高所述报表信息的准确性。本实施例提供的所述方法通过将所述子报表与所述源数据建立链接关系,并根据所述源数据的更新操作及所述链接关系对所述子报表进行对应的更新。所述方法无需对所述报表中的数据进行逐一对比,而是直接对更新的所述源数据对应的所述子报表进行更新,更新速度快,节约了计算机资源,提高了报表更新效率。
请参见图8,在一个实施例中,S920包括:
S921,获取更新后的所述源数据。
获取更新后的所述源数据的具体方法与上述步骤中S20方法类似,在此不再赘述。
S922,对更新后的所述源数据进行流式处理,并根据所述报表字段信息提取报表所需的有效更新数据。
参照如上步骤中S30中的方法,对更新后的所述源数据进行处理,得到所述有效更新数据集。所述有效更新数据及其对应的数据字段信息命名为更新数据集。
S923,根据所述链接关系确定待更新子报表。
根据所述子报表与所述源数据建立的所述链接关系,在所述报表中对应找到所述源数据对应的所述子报表,确定为所述待更新子报表。例如,监测到用户更新了单据号为001的销售单据中的数据信息,根据预先建立的所述链接关系,确定所述报表中编号为001的所述子报表为所述待更新子报表。
S924,根据所述有效更新数据的数据字段信息与所述报表字段信息的对应关系,修改所述待更新子报表。
具体的,可以将所述更新数据集与所述待更新子报表进行对比,确定所述待更新子报表的更新类型,并根据更新类型对所述待更新子报表进行更新。
将所述更新数据集中的数据,与所述待更新子报表中的数据对比,并根据所述有效更新数据的数据字段信息与所述报表字段信息的对应关系,按照明细逐一进行对比。所述明细是指所述更新数据集或所述子报表中某一字段信息下的不同类型的数据。假设字段信息表征列数据,则所述明细则表征行数据。例如,所述明细可以为产品类型下的第一类型、第二类型、第三类型分别对应的数据。具体的,包括第一类型产品对应的产品数量、产品名称、单价等等数据;第二类型产品对应的产品数量、产品名称、单价等等数据;第三类型产品对应的产品数量、产品名称、单价等等数据。
对比所述更新数据集与所述待更新子报表,可能存在以下几种情况:
(1)对于所述待更新子报表中有,但所述更新数据集中无的明细,则删除所述待更新子报表中对应的明细;
(2)对于所述待更新子报表中无,但所述更新数据集中有的明细,则,在所述待更新子报表中增加对应的明细数据;
(3)对于所述待更新子报表和所述更新数据集中均有的明细,则,逐一对比该明细下每个字段信息对应的数据。对于不相同的数据,将所述待更新子报表中的数据修改为所述更新数据集中对应的数据。
本实施例中,通过获取更新后的所述源数据,对更新后的所述源数据进行流式处理,并根据所述报表字段信息提取报表所需的有效更新数据。同时,更具所述连接关系确定待更新子报表,更具所述有效更新数据的数据字段信息与所述报表字段信息的对应关系,修改所述待更新子报表。本实施例提供的所述方法对报表的更新更加准确,且修改效率更高。
请参见图9,本申请一个实施例提供一种报表生成装置10,所述报表生成装置10包括模板获取模块100、源数据获取模块200、数据处理模块300和报表生成模块400。所述模块获取模块100用于获取报表模板,其中,所述报表模板包括报表字段信息。所述源数据获取模块200用于获取源数据,所述源数据包括实时录入数据和/或历史存储数据。所述数据处理模块300用于对所述源数据进行流式处理,并根据所述报表字段信息提取报表所需的有效数据。所述报表生成模块400用于将所述有效数据写入所述报表模板,生成所述报表。
本实施例中,通过所述模板获取模块100获取报表模板,通过所述源数据获取模块200获取源数据。并通过所述数据处理模块300对所述源数据进行流式处理,然后根据所述报表字段信息提取报表所需的有效数据。所述报表生成模块400将所述有效数据写入所述报表模板,生成所述报表。本实施例提供的所述报表生成装置对所述源数据进行了流式处理,对所述源数据进行实时采集、实时计算和实时查询,从而快速的获取所述有效数据,快速的生成所述报表。本实施例提供的所述装置无需通过繁琐的关联和查询生成报表,有效节约了所述计算机设备的资源,提高了运行速度和报表生成效率。
在一个实施例中,所述数据处理模块300包括数据字段信息获取单元和对比单元。其中,所述数据字段信息获取单元用于获取所述源数据对应的数据字段信息。所述对比单元用于将所述源数据的数据字段信息与所述报表字段信息比对,提取所述源数据中数据字段信息与所述报表字段信息匹配的数据,得到所述有效数据。
在一个实施例中,所述报表生成模块400包括子报表获取单元和写入单元。其中,所述子报表获取单元用于根据所述有效数据以及对应的数据字段信息,得到子报表。所述写入单元用于根据所述有效数据对应的数据字段信息与所述报表字段信息的对应关系,将所述子报表写入所述报表模板,生成所述报表。
在一个实施例中,所述报表生成装置100还包括更新获取模块和更新模块。所述更新获取模块用于获取对所述源数据的更新操作。所述更新模块用于根据对所述源数据的更新操作,对所述报表进行对应的更新。
在一个实施例中,所述更新模块包括链接关系建立单元和操作单元。其中,链接关系建立单元用于将所述子报表与所述源数据建立链接关系。所述操作单元用于根据所述源数据的更新操作及所述链接关系对所述子报表进行对应的更新。
在一个实施例中,所述操作单元包括更新数据获取子单元、跟新数据处理子单元、待更新子报表确定子单元和修改子单元。其中,所述更新数据获取子单元用于获取更新后的所述源数据。所述跟新数据处理子单元用于对更新后的所述源数据进行流式处理,并根据所述报表字段信息提取报表所需的有效更新数据。所述待更新子报表确定子单元用于根据所述链接关系确定待更新子报表。所述修改子单元用于根据所述有效更新数据的数据字段信息与所述报表字段信息的对应关系,修改所述待更新子报表。
在一个实施例中,所述报表生成装置10还包括汇总模块。所述汇总模块用于建立所述报表的汇总算法,对所述有效数据进行计算汇总。
在一个实施例中,所述报表生成装置10还包括查询模块和需求报表输出模块。所述查询模块用于接收对所述报表的查询请求,所述查询请求中包括查询条件。所述需求报表输出模块用于根据所述查询条件,对所述报表进行过滤显示,输出与所述查询条件对应的需求报表。
关于所述报表生成装置10的具体限定可以参见上文中对于所述报表生成方法的限定,在此不再赘述。上述报表生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参见图10,在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储源数据、报表数据等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种报表生成方法。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
S10,获取报表模板,其中,所述报表模板包括报表字段信息;
S20,获取源数据,所述源数据包括实时录入数据和/或历史存储数据;
S30,对所述源数据进行流式处理,并根据所述报表字段信息提取报表所需的有效数据;
S40,将所述有效数据写入所述报表模板,生成所述报表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:S50,建立所述报表的汇总算法,对所述有效数据进行计算汇总。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:S310,获取所述源数据对应的数据字段信息;S320,将所述源数据的数据字段信息与所述报表字段信息比对,提取所述源数据中数据字段信息与所述报表字段信息匹配的数据,得到所述有效数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:S410,根据所述有效数据以及对应的数据字段信息,得到子报表;S420,根据所述有效数据对应的数据字段信息与所述报表字段信息的对应关系,将所述子报表写入所述报表模板,生成所述报表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:S60,接收对所述报表的查询请求,所述查询请求中包括查询条件;S70,根据所述查询条件,对所述报表进行过滤显示,输出与所述查询条件对应的需求报表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:S80,获取对所述源数据的更新操作;S90,根据对所述源数据的更新操作,对所述报表进行对应的更新。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:S910,将所述子报表与所述源数据建立链接关系;S920,根据所述源数据的更新操作及所述链接关系对所述子报表进行对应的更新。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:S921,获取更新后的所述源数据;S922,对更新后的所述源数据进行流式处理,并根据所述报表字段信息提取报表所需的有效更新数据;S923,根据所述链接关系确定待更新子报表;S924,根据所述有效更新数据的数据字段信息与所述报表字段信息的对应关系,修改所述待更新子报表。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
S10,获取报表模板,其中,所述报表模板包括报表字段信息;
S20,获取源数据,所述源数据包括实时录入数据和/或历史存储数据;
S30,对所述源数据进行流式处理,并根据所述报表字段信息提取报表所需的有效数据;
S40,将所述有效数据写入所述报表模板,生成所述报表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:S50,建立所述报表的汇总算法,对所述有效数据进行计算汇总。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:S310,获取所述源数据对应的数据字段信息;S320,将所述源数据的数据字段信息与所述报表字段信息比对,提取所述源数据中数据字段信息与所述报表字段信息匹配的数据,得到所述有效数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:S410,根据所述有效数据以及对应的数据字段信息,得到子报表;S420,根据所述有效数据对应的数据字段信息与所述报表字段信息的对应关系,将所述子报表写入所述报表模板,生成所述报表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:S60,接收对所述报表的查询请求,所述查询请求中包括查询条件;S70,根据所述查询条件,对所述报表进行过滤显示,输出与所述查询条件对应的需求报表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:S80,获取对所述源数据的更新操作;S90,根据对所述源数据的更新操作,对所述报表进行对应的更新。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:S910,将所述子报表与所述源数据建立链接关系;S920,根据所述源数据的更新操作及所述链接关系对所述子报表进行对应的更新。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:S921,获取更新后的所述源数据;S922,对更新后的所述源数据进行流式处理,并根据所述报表字段信息提取报表所需的有效更新数据;S923,根据所述链接关系确定待更新子报表;S924,根据所述有效更新数据的数据字段信息与所述报表字段信息的对应关系,修改所述待更新子报表。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。