报表生成方法、报表生成装置、电子设备及存储介质与流程

文档序号:32312408发布日期:2022-11-23 12:12阅读:100来源:国知局
报表生成方法、报表生成装置、电子设备及存储介质与流程

1.本发明涉及计算机技术领域,尤其涉及一种报表生成方法、报表生成装置、电子设备及存储介质。


背景技术:

2.报表加工方式多样,在实际生产中各类报表繁多且不时会需要新的报表。
3.现有技术一般通过使用人员提出报表需求,由产品开发作出报表映射并生成报表样例反馈使用人员,使用人员确定样例无误之后开始正式报表的开发并部署,期间需要反复沟通,成本高且响应速度慢。


技术实现要素:

4.本发明提供一种报表生成方法、报表生成装置、电子设备及存储介质,用以解决现有技术中报表开发时间长响应慢的技术问题。
5.本发明提供一种报表生成方法,包括:
6.基于报表生成需求和报表配置模板,确定报表配置信息,所述报表配置信息用于指示所述报表生成需求对应的报表信息来源和信息获取规则;
7.基于所述报表配置信息,生成报表加工程序;
8.基于所述报表加工程序,生成所述报表生成需求对应的目标报表。
9.在一些实施例中,所述基于报表生成需求和报表配置模板,确定报表配置信息之前,还包括:
10.基于报表属性要素、表间关系要素和报表维度要素,构建所述报表配置模板。
11.在一些实施例中,所述报表属性要素包括以下至少一项:数据项、数据类型、来源表、来源字段、计算规则和计算组别;
12.所述表间关系要素包括以下至少一项:表名、字段名、关系符号和预设参数;
13.所述报表维度要素包括以下至少一项:属性名、维度依赖表和维度依赖字段。
14.在一些实施例中,所述基于所述报表配置信息,生成报表加工程序,包括:
15.将所述报表配置信息导入至目标数据库对应的配置表中,生成所述报表加工程序,并将编译后的报表加工程序存储于所述目标数据库。
16.在一些实施例中,所述基于所述报表加工程序,生成所述报表生成需求对应的目标报表之后,还包括:
17.基于所述目标报表,更新数据字典,所述数据字典用于存储所有报表对应的源数据表和所述源数据表对应的字段信息。
18.在一些实施例中,所述基于所述报表配置信息,生成报表加工程序之后,还包括:
19.在目标数据库中创建所述报表加工程序对应的调度程序,所述调度程序用于调用所述报表加工程序,并输出所述目标报表。
20.本发明还提供一种报表生成装置,包括:
21.确定模块,用于基于报表生成需求和报表配置模板,确定报表配置信息,所述报表配置信息用于指示所述报表生成需求对应的报表信息来源和信息获取规则;
22.第一生成模块,用于基于所述报表配置信息,生成报表加工程序;
23.第二生成模块,用于基于所述报表加工程序,生成所述报表生成需求对应的目标报表。
24.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述报表生成方法。
25.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述报表生成方法。
26.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述报表生成方法。
27.本发明提供的报表生成方法、报表生成装置、电子设备及存储介质,通过报表配置模板生成报表加工程序,进而可以根据报表加工程序直接生成目标报表,简化了报表开发过程,还可以快速响应用户的报表生成需求,得到满足需求的目标报表。
附图说明
28.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
29.图1是本发明提供的报表生成方法的流程示意图;
30.图2是本发明提供的报表生成装置的结构示意图;
31.图3是本发明提供的电子设备的实体结构示意图。
具体实施方式
32.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.图1为本发明提供的报表生成方法的流程示意图。参照图1,本发明提供的报表生成方法可以包括:步骤110、步骤120和步骤130。
34.步骤110、基于报表生成需求和报表配置模板,确定报表配置信息,报表配置信息用于指示报表生成需求对应的报表信息来源和信息获取规则;
35.步骤120、基于报表配置信息,生成报表加工程序;
36.步骤130、基于报表加工程序,生成报表生成需求对应的目标报表。
37.需要说明的是,本发明提供的报表生成方法的执行主体可以是电子设备、电子设备中的部件、集成电路、或芯片。该电子设备可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、
可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本发明不作具体限定。
38.下面以计算机执行本发明提供的报表生成方法为例,详细说明本发明的技术方案。
39.在实际执行中,本发明实施例可以应用为基于关系型数据库系统开发的报表工具。关系型数据库例如可以包括:oracle数据库、sqlserver数据库、db2数据库或mysql数据库等。
40.其中,数据库是指存储数据的仓库,其本质是一个文件系统,按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加、修改、删除及查询等操作,数据库中以源数据表为组织单位存储数据。
41.在本发明实施例中,报表生成需求可以是用户提出的报表开发需求。
42.报表配置模板可以是预先构建的报表配置模块,也可以是基于报表生成需求设计的新报表配置模板。此外,可以根据报表生成需求对报表配置模板进行修改。
43.报表配置模板可以描述报表信息来源以及信息获取规则。报表信息来源指的是各报表信息的数据源。合理的报表配置模板能够精确描述以上报表相关信息,并且具有可扩展性。
44.在步骤110中,基于报表生成需求和报表配置模板,在数据字典中确定报表配置信息。
45.数据字典中维护有使用到的所有源数据表和字段信息,且会根据新生成的报表信息更新。
46.数据字典具体可以包括如下信息:数据表名、表属性、表字段名称、数据类型和关键字段等信息。数据字典的格式可以为excel表格。
47.可以理解的是,数据字典中可以包含报表配置模板中涉及到的所有要素信息,则可以在数据字典中筛选出与报表生成需求对应的报表配置信息。
48.在步骤120中,将报表配置信息导入至数据库中,自动生成报表加工程序。报表加工程序即为报表源码信息。
49.在本发明实施例中,步骤130为生成目标报表的主要进程。在本步骤中,编译报表加工程序之后,可以自动生成报表生成需求对应的目标报表,并可以自动输出该目标报表。
50.可以理解的是,在生成目标报表之后,可以对目标报表进行可视化处理,并通过显示终端展示出来。
51.目标报表可以用表格形式或图形来进行展示,目标报表的展示形式可以根据实际需求设置,例如可以包括:网格报表、交叉报表、柱状图、折线图、饼图或散点图等,本发明实施例对此不作具体限定。
52.本发明提供的报表生成方法,通过报表配置模板生成报表加工程序,进而可以根据报表加工程序直接生成目标报表,简化了报表开发过程,还可以快速响应用户的报表生成需求,得到满足需求的目标报表。
53.在一些实施例中,基于报表生成需求和报表配置模板,确定报表配置信息之前,还
包括:
54.基于报表属性要素、表间关系要素和报表维度要素,构建报表配置模板。
55.在实际执行中,报表配置模板包括但不限于上述三种类型的要素。报表配置模板的格式可以为excel表格。
56.本发明提供的报表生成方法,通过定义报表信息来源和信息获取规则来构建报表配置模板,便于生成新的各个维度的报表。
57.在一些实施例中,报表属性要素可以用以下至少一项信息描述:数据项、数据类型、来源表、来源字段、计算规则和计算组别。
58.数据元素可由若干个数据项组成,数据项是数据的不可分割的最小单位。数据项的名称有编号、别名、简述、数据项的长度、类型、数据项的取值范围。数据项是数据记录中最基本的、不可分的有名数据单位,是具有独立含义的最小标识单位。
59.数据类型可以是数字或者字符,也可以是字符串。
60.来源表用于表示生成目标报表的源数据表。
61.来源字段用于表示来源表的字段信息。
62.计算规则可以用进行数据计算的函数表示,例如可以是四则运算函数。
63.计算组别为进行计算的数据组。其中,数据组可以是根据预设规则划分,以便能对每个数据组进行聚集计算。
64.如表1所示,表1为报表属性示例表。下表的报表配置模板中包含报表属性要素及其对应的报表配置信息。目标报表指的是需要生成的报表。
65.表1报表属性
66.目标报表数据项数据类型来源表来源字段计算规则计算组别rpt1tar1数字src_t1src_c1sumg1rpt1tar2字符src_t2src_c3maxg2rtp1tar3字符src_t3src_c4averageg3.....................
67.表间关系要素可以用以下至少一项信息描述:表名、字段名、关系符号和预设参数。
68.表名为数据字典中源数据表的名称,例如“a表名或b表名”。
69.字段名为源数据表的字段名称。
70.关系符号用于表示源数据表之间的大小关系,可以用“=”、“>”或“<”等符号表示。
71.预设参数可以根据报表生成需求确定,本发明实施例对此不作具体限定。
72.如表2所示,表2为表间关系示例表。下表的报表配置模板中包含表间关系要素及其对应的报表配置信息。
73.表2表间关系
74.a表名a字段名b表名b字段名关系符号预设参数src_t1src_c5src_t2src_c6= src_t2src_c7src_t3src_c8= src_t1src_c9
ꢀꢀ
》10
..................
75.报表维度要素可以用以下至少一项信息描述:属性名、维度依赖表和维度依赖字段。
76.属性名可以为源数据表的属性名称。
77.维度依赖表可以表示报表维度所依赖的源数据表。
78.维度依赖字段可以表示报表维度所依赖的字段信息。
79.如表3所示,表3为表间关系示例表。下表的报表配置模板中包含报表维度要素及其对应的报表配置信息。目标报表指的是需要生成的报表。
80.表3报表维度
81.目标报表属性名维度依赖表维度依赖字段rpt1tar1src_t1src_c1rpt1tar1src_t2src_c7rpt1rpt_timeday:01:00:00 82.本发明提供的报表生成方法,通过设计不同类型的报表配置模板,将报表开发过程标准化和格式化,从而可以提高数据的提取效率,便于生成新的各个维度的报表。
83.在一些实施例中,基于报表配置信息,生成报表加工程序,包括:
84.将报表配置信息导入至目标数据库对应的配置表中,生成报表加工程序,并将编译后的报表加工程序存储于目标数据库。
85.在实际执行中,目标数据库可以包括:oracle数据库、sqlserver数据库、db2数据库或mysql数据库等。
86.以oracle数据库为例来说明本发明实施例。oracle数据库系统是主流关系数据库管理系统,该数据库系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率的、可靠性好的、适应高吞吐量的数据库方案。
87.将报表配置信息导入oracle数据库对应的配置表中,使用pl/sql语言编写程序,根据报表配置模板中各类要素对应的具体信息,自动生成报表源码信息,即报表加工程序。并将编译后的报表加工程序存储在oracle数据库对应的服务器中。
88.其中,pl/sql为过程化sql语言(procedural language/sql,pl/sql)。pl/sql是oracle数据库对sql语句的扩展。在普通sql语句的使用上增加了编程语言的特点,所以pl/sql把数据操作和查询语句组织在pl/sql代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算。
89.本发明提供的报表生成方法,可以根据报表配置模板自动生成报表加工程序,并将报表加工程序编译存储于目标数据库中,从而可以随时调用报表加工程序生成报表,从而简化了报表开发过程,提高报表生成效率。
90.在一些实施例中,基于报表加工程序,生成报表生成需求对应的目标报表之后,还包括:
91.基于目标报表,更新数据字典,数据字典用于存储所有报表对应的源数据表和源数据表对应的字段信息。
92.为进一步提高报表生成效率,可以维护一份准确的数据字典,数据字典中可以包括报表使用到的所有源数据表和源数据表对应的字段信息。
93.对于生成的新目标报表,则可以将该目标报表的报表信息和报表信息来源表存入数据字典中,以实时更新数据字典。
94.数据字典中的信息可以用于确定报表配置模板中的报表配置信息。
95.在实际执行中,数据字典中具体可包括如下至少一项信息:数据表名、表属性、表字段名称、数据类型和关键字段等。
96.数据表名即为数据表的名称。
97.表字段名称即为数据表中字段信息的名称。
98.数据类型即为数据表中数据的类型,例如可以是数字或字符等。关键字段为数据表中的关键字段信息,例如可以是索引字段。
99.本发明提供的报表生成方法,通过设置数据字典,可以将报表相关信息全部整合在一起,方便对报表工具进行扩展和维护,减少报表开发成本。
100.在一些实施例中,基于报表配置信息,生成报表加工程序之后,还包括:
101.在目标数据库中创建报表加工程序对应的调度程序,调度程序用于调用报表加工程序,并输出目标报表。
102.以oracle数据库为例来说明本发明实施例。根据报表配置模板,在oracel数据库中创建调度程序scheduler_job,可以实现报表加工程序的自动调用。
103.此调度程序可以按照用户设置的调用周期,定时调用报表加工程序来生成报表生成需求对应的目标报表,调用周期可以设置为一天、一周或一个月等,本发明实施例对此不作具体限定。
104.例如:在oracle数据库中注册scheduler_job,并将报表加工程序的调用周期设置为一周,具体为每周一上午九点定时调用报表加工程序,则在每周一上午九点,服务器可以根据注册的scheduler_job,调用报表加工程序,以生成最新的目标报表。
105.可以理解的是,可以根据实际需求选择是否在目标数据库中注册调度程序。
106.若在目标数据库中注册调度程序,则可以定时调用报表加工程序生成目标报表。
107.若不在目标数据库中注册调度程序,则可以直接调用当前生成的报表加工程序生成目标报表。
108.本发明提供的报表生成方法,通过在目标数据裤中创建调度程序,无需再次提交报表生成需求,就可以实现定时生成报表,进一步简化了报表开发过程。
109.在一些实施例中,可以按照如下步骤执行本发明实施例提供的报表生成方法:
110.(1)报表信息定义,根据用户需求和报表配置模板,定义报表信息以及信息获取规则,即确定报表配置信息。
111.(2)维护数据字典,将报表信息以及报表信息来源表维护于数据字典中。
112.(3)将报表配置信息导入到oracle数据库的对应配置表中。
113.(4)生成报表加工程序,并在oracle服务器中存储编译。
114.(5)注册oracle的scheduler_job。
115.(6)生成用户需求对应的报表。
116.在一些实施例中,本发明还提供一种报表生成系统,该系统可以包括如下功能模块:数据字典模块、报表配置模块、报表加工程序生成模块、报表生成任务模块和报表生成模块。
req_crdrpt_intcrttime
ꢀꢀ
》sysdate-1req_crdrpt_intcrttime
ꢀꢀ
《sysdate
130.表6日查询明细统计报表的报表维度配置
131.报表属性名维度依赖表维度依赖字段requery_crd_idv_rpt用户编号sys_user_infcstidrequery_crd_idv_rpt部门名称sys_org_infdeptnamerequery_crd_idv_rpt查询日期req_crdrpt_intcrttimerequery_crd_idv_rptrpt_timeday:00:00:00 132.本发明实施例提供的报表生成方法,通过维护报表配置模板和数据字典即可通过oracle数据库完成一个报表的开发,简化报表开发过程,还可以快速响应用户的报表生成需求。
133.下面对本发明提供的报表生成装置进行描述,下文描述的报表生成装置与上文描述的报表生成方法可相互对应参照。
134.图2为本发明提供的报表生成装置的结构示意图。参照图2,本发明提供的报表生成装置可以包括:确定模块210、第一生成模块220和第二生成模块230。
135.确定模块210,用于基于报表生成需求和报表配置模板,确定报表配置信息,所述报表配置信息用于指示所述报表生成需求对应的报表信息来源和信息获取规则;
136.第一生成模块220,用于基于所述报表配置信息,生成报表加工程序;
137.第二生成模块230,用于基于所述报表加工程序,生成所述报表生成需求对应的目标报表。
138.本发明提供的报表生成装置,通过报表配置模板生成报表加工程序,进而可以根据报表加工程序直接生成目标报表,简化了报表开发过程,还可以快速响应用户的报表生成需求,得到满足需求的目标报表。
139.在一些实施例中,所述报表生成装置还包括:
140.构建模块(图中未示出),用于基于报表属性要素、表间关系要素和报表维度要素,构建所述报表配置模板。
141.在一些实施例中,所述报表属性要素包括以下至少一项:数据项、数据类型、来源表、来源字段、计算规则和计算组别;
142.所述表间关系要素包括以下至少一项:表名、字段名、关系符号和预设参数;
143.所述报表维度要素包括以下至少一项:属性名、维度依赖表和维度依赖字段。
144.在一些实施例中,所述第一生成模块220,还用于:
145.将所述报表配置信息导入至目标数据库对应的配置表中,生成所述报表加工程序,并将编译后的报表加工程序存储于所述目标数据库。
146.在一些实施例中,所述报表生成装置还包括:
147.更新模块(图中未示出),用于基于所述目标报表,更新数据字典,所述数据字典用于存储所有报表对应的源数据表和所述源数据表对应的字段信息。
148.在一些实施例中,所述报表生成装置还包括:
149.调度模块(图中未示出),用于在目标数据库中创建所述报表加工程序对应的调度程序,所述调度程序用于调用所述报表加工程序,并输出所述目标报表。
150.图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(communications interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储器330中的逻辑指令,以执行报表生成方法,该方法包括:
151.基于报表生成需求和报表配置模板,确定报表配置信息,所述报表配置信息用于指示所述报表生成需求对应的报表信息来源和信息获取规则;
152.基于所述报表配置信息,生成报表加工程序;
153.基于所述报表加工程序,生成所述报表生成需求对应的目标报表。
154.此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
155.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的报表生成方法,该方法包括:
156.基于报表生成需求和报表配置模板,确定报表配置信息,所述报表配置信息用于指示所述报表生成需求对应的报表信息来源和信息获取规则;
157.基于所述报表配置信息,生成报表加工程序;
158.基于所述报表加工程序,生成所述报表生成需求对应的目标报表。
159.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的报表生成方法,该方法包括:
160.基于报表生成需求和报表配置模板,确定报表配置信息,所述报表配置信息用于指示所述报表生成需求对应的报表信息来源和信息获取规则;
161.基于所述报表配置信息,生成报表加工程序;
162.基于所述报表加工程序,生成所述报表生成需求对应的目标报表。
163.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
164.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指
令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
165.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1