CN115688717A - 一种报表生成方法和装置 - Google Patents
一种报表生成方法和装置 Download PDFInfo
- Publication number
- CN115688717A CN115688717A CN202211334494.8A CN202211334494A CN115688717A CN 115688717 A CN115688717 A CN 115688717A CN 202211334494 A CN202211334494 A CN 202211334494A CN 115688717 A CN115688717 A CN 115688717A
- Authority
- CN
- China
- Prior art keywords
- report
- header
- data
- generating
- configuration table
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种报表生成方法和装置,其中,该方法包括:获取生成目标报表的业务需求;响应于所述业务需求,根据表头配置表,生成表头运行表;获取表体配置表和报表SQL配置表;根据所述表头运行表、表体配置表和SQL配置表,生成表体运行表;从事实表中获取报表数据;基于所述报表数据,根据所述表头运行表、所述表体配置表和所述表体运行表,生成所述目标报表。通过上述方式不再需要人工进行报表的生成,解决了人工进行报表生成,以及程序生成报名所存在的效率和准确度较低的问题,达到了灵活快速准确生成目标报表的技术效果。
Description
技术领域
本发明涉及互联网技术领域,可用于金融领域,尤其涉及一种报表生成方法和装置。
背景技术
在银行系统中,报表是对业务数据的一种基本反映,因此,对报表的准确性和稳定性有较高的要求,然而,现有的报表开发过程较为繁琐,且维护起来较为困难,导致报表的质量难以保证。且现有的报表开发大多是通过手工的方式编写报表程序,手工开发报表过程较为繁琐,每张报表需要对应一个程序,在该程序中完成报表数据的加工、表样设计及加工、判断运行状态等。每次开发程序多半使用复制、粘贴的方式,这样导致开发质量得不到保证。
进一步的,因为报表风格不一致,表头和样式变化较大,修改较多,这样识别使得报表数据的准备过程较为繁琐,且表样检查、数据核对过程都较为复杂等。且,因为将报表程序的各个阶段融合在了一起,这样势必使得程序较为复杂,导致在各类测试中,尤其在系统集成测试中,测试问题过多。
针对上述问题,目前尚未提出有效的解决方案。
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
发明内容
本发明实施例提供一种报表生成方法和装置,以便简单高效地完成多种报表的生成。
本发明实施例提供了一种报表生成方法,包括:
获取生成目标报表的业务需求;
响应于所述业务需求,根据表头配置表,生成表头运行表;
获取表体配置表和报表SQL配置表;
根据所述表头运行表、表体配置表和SQL配置表,生成表体运行表;
从事实表中获取报表数据;
基于所述报表数据,根据所述表头运行表、所述表体配置表和所述表体运行表,生成所述目标报表。
在一个实施方式中,获取生成目标报表的业务需求,包括:
获取周期性报表生成需求;
响应于所述周期性报表生成需求,在出表周期从基础数据层获取周期内的全量数据;
对所述全量数据进行映射汇总操作,得到加工后的数据,并存储进临时表中;
在数据加工完成后,将临时表中的数据存入所述事实表中,作为报表数据;
删除所述临时表中的数据。
在一个实施方式中,响应于所述业务需求,根据表头配置表,生成表头运行表,包括:
根据所述业务需求,确定目标报表所需的表头项;
将所述表头配置表中各维度信息与目标报表所需的表头项进行逐一对比,确定将所述目标报表映射到表头配置表后,所需的维度字段,以及各维度字段对应的数据类型和数值范围;
根据确定的所需的维度字段,以及各字段对应的数据类型和数值范围,生成表头运行表。
在一个实施方式中,根据所述表头运行表、表体配置表和SQL配置表,生成表体运行表,包括:
通过所述表头运行表和所述表体配置表,确定目标报表中表体位置各位置的合计方式;
根据确定的合计方式,到所述SQL配置表中,获取计算合计值的SQL语句;
根据所述表头运行表、所述表体配置表和得到的SQL语句,生成表体运行表。
在一个实施方式中,所述合计方式包括以下至少之一:合计属性、合计名称、合计长度、合计维度、合计SQL语句。
在一个实施方式中,基于所述报表数据,根据所述表头运行表、所述表体配置表和所述表体运行表,生成所述目标报表,包括:
执行所述表头运行表,形成表头信息;
根据所述表体配置表和所述表体运行表,生成多个可执行的SQLFILE;
通过SQLPLUS执行所述多个SQLFILE,生成多个最小维度的文件;
将多个最小维度的文件按照预设格式,与对应的表头信息进行拼接,得到多个最小维度的报表;
将多个最小维度的报表进行合并操作,得到目标报表。
本发明实施例还提供了一种报表生成装置,包括:
第一获取模块,用于获取生成目标报表的业务需求;
第一生成模块,用于响应于所述业务需求,根据表头配置表,生成表头运行表;
第二获取模块,用于获取表体配置表和报表SQL配置表;
第二生成模块,用于根据所述表头运行表、表体配置表和SQL配置表,生成表体运行表;
第三获取模块,用于从事实表中获取报表数据;
第三生成模块,用于基于所述报表数据,根据所述表头运行表、所述表体配置表和所述表体运行表,生成所述目标报表。
本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述方法。
本发明实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述方法。
本发明实施例中,获取预先配置的表头配置表、表体配置表和SQL配置表,然后,响应于业务需求可以生成对应的表头运行表和表体运行表,从而基于报表数据,可以生成最终的目标报表。通过上述方式不再需要人工进行报表的生成,解决了人工进行报表生成,以及程序生成报名所存在的效率和准确度较低的问题,达到了灵活快速准确生成目标报表的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中报表生成方法一种实施例的方法流程图;
图2为本发明实施例中报表生成系统一种实施例的结构功能示意图;
图3为本发明实施例中报表生成步骤中的流程示意图;
图4为本发明实施例中一种报表生成方法的电子设备的硬件结构框图;
图5为本发明实施例中报表生成装置一种实施例的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
针对现有的生成报表的方式,一般是在别人程序的基础上进行修改,不是程序的复用而是程序的简单拷贝,导致开发质量不能保证,且不具备自动出表的能力。在本例中,提供了一种报表批量生成的方法,通过数据库表的配置新增与修改来实现新增报表的开发与维护,使得整个报表开发过程具备自动化、批量化。
图1是本申请提供的报表生成方法一种实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体的,如图1所示,上述的报表生成方法可以包括如下步骤:
步骤101:获取生成目标报表的业务需求;
步骤102:响应于所述业务需求,根据表头配置表,生成表头运行表;
步骤103:获取表体配置表和报表SQL配置表;
步骤104:根据所述表头运行表、表体配置表和SQL配置表,生成表体运行表;
步骤105:从事实表中获取报表数据;
步骤106:基于所述报表数据,根据所述表头运行表、所述表体配置表和所述表体运行表,生成所述目标报表。
其中,上述配置表(例如:表头配置表、表体配置表、SQL配置表)是需要预先配置的,即,是基于配置设定生成的表,上述运行表(例如:表头运行表、表体运行表)是运行生成目标报表所需的表,表示的是运行时的具体执行内容。
在上例中,获取预先配置的表头配置表、表体配置表和SQL配置表,然后,响应于业务需求可以生成对应的表头运行表和表体运行表,从而基于报表数据,可以生成最终的目标报表。通过上述方式不再需要人工进行报表的生成,解决了人工进行报表生成,以及程序生成报名所存在的效率和准确度较低的问题,达到了灵活快速准确生成目标报表的技术效果。即,通过对数据库配置表的新增与修改来实现新增报表的开发与维护,通过本例的方式可以自动化批量生成报表,并且在后续开发和维护的过程中,只需通过配置调整的方式,即可形成新的报表,无需手工编写报表代码。
具体的,对于事实表中的报表数据而言,可以是按照如下方式获取的:获取周期性报表生成需求(例如:每天生成一次报表,或者,每三天生成一次报表);响应于所述周期性报表生成需求,在出表周期从基础数据层获取周期内的全量数据;对所述全量数据进行映射汇总操作,得到加工后的数据,并存储进临时表中;在数据加工完成后,将临时表中的数据存入所述事实表中,作为报表数据;删除所述临时表中的数据。
即,可以包括如下阶段:
1)数据准备阶段,对基础(UDM)层数据进行映射、数据汇总等操作,生成临时(TEMP)层数据;
具体的,可以使用作业调度shell调起,读取UDM层存放的基础数据,对UDM层的数据进行映射、数据汇总等,生成了TEMP层的数据,存放在数据库中;
2)数据加工阶段,使用基础数据和临时层数据经过数据映射生成事实(FCT)层数据;
具体的,可以读取TEMP层、UDM层的数据,根据对应的逻辑映射生成FCT层数据,其中,FCT层数据用于存放报表出表时用到的具体业务数据及出表所需要的所有维度信息;
3)出表阶段,通过读取具体的报表配置信息,根据配置规则,读取事实层数据,生成符合报表规范的报表文件。
在响应于业务需求,根据表头配置表,生成表头运行表的时候,可以是根据所述业务需求,确定目标报表所需的表头项;将所述表头配置表中各维度信息与目标报表所需的表头项进行逐一对比,确定将所述目标报表映射到表头配置表后,所需的维度字段,以及各维度字段对应的数据类型和数值范围;根据确定的所需的维度字段,以及各字段对应的数据类型和数值范围,生成表头运行表。
在根据所述表头运行表、表体配置表和SQL配置表,生成表体运行表的时候,可以是通过所述表头运行表和所述表体配置表,确定目标报表中表体位置各位置的合计方式;根据确定的合计方式,到所述SQL配置表中,获取计算合计值的SQL语句;根据所述表头运行表、所述表体配置表和得到的SQL语句,生成表体运行表。
其中,合计方式可以包括但不限于以下至少之一:合计属性、合计名称、合计长度、合计维度、合计SQL语句。
在基于所述报表数据,根据所述表头运行表、所述表体配置表和所述表体运行表,生成所述目标报表的时候,可以包括如下步骤:
S1:执行所述表头运行表,形成表头信息;
S2:根据所述表体配置表和所述表体运行表,生成多个可执行的SQLFILE;
S3:通过SQLPLUS执行所述多个SQLFILE,生成多个最小维度的文件;
S4:将多个最小维度的文件按照预设格式,与对应的表头信息进行拼接,得到多个最小维度的报表;
S5:将多个最小维度的报表进行合并操作,得到目标报表。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
针对现有的手工出表所存在的错误多、效率低、耗时长、难测试的问题,在本例中,提供了一种模块化报表开发过程,对数据的加工过程和出表过程进行分离,具体的,报表生成系统,可以如图2所示,包括:
1)数据准备单元,对基础(UDM)层数据进行映射、数据汇总等操作,生成临时(TEMP)层数据;
具体的,可以使用作业调度shell调起,读取UDM层存放的基础数据,对UDM层的数据进行映射、数据汇总等,生成了TEMP层的数据,存放在数据库中;
2)数据加工单元,使用基础数据和临时层数据经过数据映射生成事实(FCT)层数据;
具体的,可以读取TEMP层、UDM层的数据,根据对应的逻辑映射生成FCT层数据,其中,FCT层数据用于存放报表出表时用到的具体业务数据及出表所需要的所有维度信息;
3)数据生成单元,用于通过读取具体的报表配置信息,根据配置规则,读取事实层数据,生成符合报表规范的报表文件。
对于报表配置层而言是参数层数据,主要存放报表配置信息,每张报表都有独立的配置信息,用以区分每张报表。
如下表1所示,为对每层数据的分析:
表1
具体的,数据表的生成流程可以包括:
1)数据准备:
数据准备单元将报表需要的数据提前准备到TEMP层中,这些TEMP层是从基础数据表整理产生的数据;
2)数据加工:
数据加工单元用于从数据库的基础表中抽取数据,通过筛选插入到建立的物理表中,其中,程序触发执行的周期可以是报表的出表周期,在插入数据前,可以将之前周期的数据删除,按照物理表的数据结构,抽取当前周期的数据插入到物理表中。
对于数据加工单元而言可以理解为对报表程序的简化操作,将报表出表的数据直接存储在FCT层,方便下一步的报表生成;
3)报表生成:
数据生成单元,可以如图3所示,主要用于表头生成、表体生成和报表文件生成;
3-1)表头生成:
表头生成单元,通过表头配置表,事实表和主配置表,生成表头运行表。具体的,可以读取表头配置表中的信息和维度信息,动态生成表头信息;即,可以基于业务需求,结合表头配置表,确定出哪些维度是需要的,哪些维度是不需要的,即,确定哪些字段是需要的,哪些字段是不需要的。其中,表头的维度(或字段)可以包括:
第1位表示表头省行号
第2位表示表头机构号
第3位表示表头机构号名称
第4位表示币种
第5位表示集团客户号
第6位表示集团客户名称
第7位表示账户组
第8位表示账户
第9位表示账户名称
第10位(用A表示)表示所属省行机构号
第11位(用B表示)表示所属省行机构号名称
第12位(用C表示)表示扩充维度字段
第13位(用D表示)表示扩充维度字段名称
X表示日期
Y表示页码
如果分析出业务需求的表头顺序为:82B5X,那么就表示当前要出的报表包括如下字段:账户机构号省行机构号名称客户集团号日期。
通过上述方式,可以动态生成不固定的表头信息,为自动化报表生成提供动态表头信息;
3-2)表体生成:
通过读取表头运行表、SQL配置表、表体配置表来生成表体运行表,具体的,一般表体需要涉及到合计,在表体的配置中,合计可以包括:合计属性、合计名称、合计长度、合计维度、合计SQL语句。对于SQL语句而言,WHERE条件的值用$1到$7来代替,然后根据这些值替换关系以及从事实表中抽取数据到表头运行表的维度值来替换$1到$7,这样就生产了一个完整的SQL语句。最后,公共程序将SQL语句及各类合计值的类型和对齐格式拼成一个SQL文件,使用@命令执行SQL文件就生产了报表的小计、合计、总计等合计类的值。
3-3)报表文件生成:
表头生成单元,根据主配置表及表头配置表配置的事实表来生成表头运行表,表头配置表中每条信息对应一条最小维度的数据。
表体生成单元,根据表头运行表、SQl配置表以及表体配置表(即,具体的维度配置信息)生成表体运行表表。
报表生成单元,根据表头配置表的数据生成表头,根据表体配置表和表体运行表生成可执行的SQLFILE;通过SQLPLUS执行该SQLFILE生成最小维度的文件,然后与表头信息根据一定的格式拼接(在拼接的时候,可以考虑到是否打印索引行、是否换行等问题)生成一个最小维度的报表。然后,将所有最小维度的报表合并生成一个完整的报表。
其中,针对主配置表、表头配置表、表体配置表、表体SQL配置表、表头运行表和表体运行表,以及最终的目标报表,在本例中给出了一个具体实例,如下所示:
主配置表可以如下表2所示:
表2
表头配置表可以如下表3所示:
表3
表体配置表可以如下表4所示:
表4
表头运行表可以如下表5所示:
表5
表体运行表可以如下表6所示:
表6
SQL配置表可以如下表7所示:
表7
最终生成的目标报表可以如下表8所示:
表8
客户明细月报表
日期机构号
在上例中,通过数据准备、数据加工、报表生成,最终生成目标报表,其中,报表生成可以包括:表头生成、表体生成和报表文件生成。即,将数据加工和出表过程进行分离,且采用配置的方式自动化生成多样表头、表体和多种规格的报表文件,将原有的报表过程模块化、规范化、将数据加工和出表过程分离,易于性能优化,且可以减少报表模块和其他模块之间的耦合程度,提高模块内聚合的程度,减少冗余代码及重复代码,使得报表生成更为清晰准确。采用分层结构,各层功能更易于测试,方便日后自动化测试过程,对报表模块的基础数据抽象化,将来做数据分析工作可以直接使用报表层数据,易于扩展。
本申请上述实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在电子设备上为例,图4是本申请提供的一种报表生成方法的电子设备的硬件结构框图。如图4所示,电子设备10可以包括一个或多个(图中仅示出一个)处理器02(处理器02可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器04、以及用于通信功能的传输模块06。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备10还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
存储器04可用于存储应用软件的软件程序以及模块,如本申请实施例中的报表生成方法对应的程序指令/模块,处理器02通过运行存储在存储器04内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的报表生成方法。存储器04可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器04可进一步包括相对于处理器02远程设置的存储器,这些远程存储器可以通过网络连接至电子设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块06用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备10的通信供应商提供的无线网络。在一个实例中,传输模块06包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块06可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在软件层面,上述报表生成装置可以如图5所示,包括:
第一获取模块501,用于获取生成目标报表的业务需求;
第一生成模块502,用于响应于所述业务需求,根据表头配置表,生成表头运行表;
第二获取模块503,用于获取表体配置表和报表SQL配置表;
第二生成模块504,用于根据所述表头运行表、表体配置表和SQL配置表,生成表体运行表;
第三获取模块505,用于从事实表中获取报表数据;
第三生成模块506,用于基于所述报表数据,根据所述表头运行表、所述表体配置表和所述表体运行表,生成所述目标报表。
在一个实施方式中,上述第一获取模块501具体可以用于获取周期性报表生成需求;响应于所述周期性报表生成需求,在出表周期从基础数据层获取周期内的全量数据;对所述全量数据进行映射汇总操作,得到加工后的数据,并存储进临时表中;在数据加工完成后,将临时表中的数据存入所述事实表中,作为报表数据;删除所述临时表中的数据。
在一个实施方式中,上述第一生成模块502具体可以用于根据所述业务需求,确定目标报表所需的表头项;将所述表头配置表中各维度信息与目标报表所需的表头项进行逐一对比,确定将所述目标报表映射到表头配置表后,所需的维度字段,以及各维度字段对应的数据类型和数值范围;根据确定的所需的维度字段,以及各字段对应的数据类型和数值范围,生成表头运行表。
在一个实施方式中,上述第二生成模块504具体可以用于通过所述表头运行表和所述表体配置表,确定目标报表中表体位置各位置的合计方式;根据确定的合计方式,到所述SQL配置表中,获取计算合计值的SQL语句;根据所述表头运行表、所述表体配置表和得到的SQL语句,生成表体运行表。
在一个实施方式中,上述合计方式可以包括但不限于以下至少之一:合计属性、合计名称、合计长度、合计维度、合计SQL语句。
在一个实施方式中,上述第三生成模块506具体可以用于执行所述表头运行表,形成表头信息;根据所述表体配置表和所述表体运行表,生成多个可执行的SQLFILE;通过SQLPLUS执行所述多个SQLFILE,生成多个最小维度的文件;将多个最小维度的文件按照预设格式,与对应的表头信息进行拼接,得到多个最小维度的报表;将多个最小维度的报表进行合并操作,得到目标报表。
本申请的实施例还提供能够实现上述实施例中的报表生成方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的报表生成方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:获取生成目标报表的业务需求;
步骤2:响应于所述业务需求,根据表头配置表,生成表头运行表;
步骤3:获取表体配置表和报表SQL配置表;
步骤4:根据所述表头运行表、表体配置表和SQL配置表,生成表体运行表;
步骤5:从事实表中获取报表数据;
步骤6:基于所述报表数据,根据所述表头运行表、所述表体配置表和所述表体运行表,生成所述目标报表。
本申请的实施例还提供能够实现上述实施例中的报表生成方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的报表生成方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:获取生成目标报表的业务需求;
步骤2:响应于所述业务需求,根据表头配置表,生成表头运行表;
步骤3:获取表体配置表和报表SQL配置表;
步骤4:根据所述表头运行表、表体配置表和SQL配置表,生成表体运行表;
步骤5:从事实表中获取报表数据;
步骤6:基于所述报表数据,根据所述表头运行表、所述表体配置表和所述表体运行表,生成所述目标报表。
本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述报表生成方法。
本发明实施例中,获取预先配置的表头配置表、表体配置表和SQL配置表,然后,响应于业务需求可以生成对应的表头运行表和表体运行表,从而基于报表数据,可以生成最终的目标报表。通过上述方式不再需要人工进行报表的生成,解决了人工进行报表生成,以及程序生成报名所存在的效率和准确度较低的问题,达到了灵活快速准确生成目标报表的技术效果。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种报表生成方法,其特征在于,包括:
获取生成目标报表的业务需求;
响应于所述业务需求,根据表头配置表,生成表头运行表;
获取表体配置表和报表SQL配置表;
根据所述表头运行表、表体配置表和SQL配置表,生成表体运行表;
从事实表中获取报表数据;
基于所述报表数据,根据所述表头运行表、所述表体配置表和所述表体运行表,生成所述目标报表。
2.根据权利要求1所述的方法,其特征在于,获取生成目标报表的业务需求,包括:
获取周期性报表生成需求;
响应于所述周期性报表生成需求,在出表周期从基础数据层获取周期内的全量数据;
对所述全量数据进行映射汇总操作,得到加工后的数据,并存储进临时表中;
在数据加工完成后,将临时表中的数据存入所述事实表中,作为报表数据;
删除所述临时表中的数据。
3.根据权利要求1所述的方法,其特征在于,响应于所述业务需求,根据表头配置表,生成表头运行表,包括:
根据所述业务需求,确定目标报表所需的表头项;
将所述表头配置表中各维度信息与目标报表所需的表头项进行逐一对比,确定将所述目标报表映射到表头配置表后,所需的维度字段,以及各维度字段对应的数据类型和数值范围;
根据确定的所需的维度字段,以及各字段对应的数据类型和数值范围,生成表头运行表。
4.根据权利要求1所述的方法,其特征在于,根据所述表头运行表、表体配置表和SQL配置表,生成表体运行表,包括:
通过所述表头运行表和所述表体配置表,确定目标报表中表体位置各位置的合计方式;
根据确定的合计方式,到所述SQL配置表中,获取计算合计值的SQL语句;
根据所述表头运行表、所述表体配置表和得到的SQL语句,生成表体运行表。
5.根据权利要求4所述的方法,其特征在于,所述合计方式包括以下至少之一:合计属性、合计名称、合计长度、合计维度、合计SQL语句。
6.根据权利要求1所述的方法,其特征在于,基于所述报表数据,根据所述表头运行表、所述表体配置表和所述表体运行表,生成所述目标报表,包括:
执行所述表头运行表,形成表头信息;
根据所述表体配置表和所述表体运行表,生成多个可执行的SQLFILE;
通过SQLPLUS执行所述多个SQLFILE,生成多个最小维度的文件;
将多个最小维度的文件按照预设格式,与对应的表头信息进行拼接,得到多个最小维度的报表;
将多个最小维度的报表进行合并操作,得到目标报表。
7.一种报表生成装置,其特征在于,包括:
第一获取模块,用于获取生成目标报表的业务需求;
第一生成模块,用于响应于所述业务需求,根据表头配置表,生成表头运行表;
第二获取模块,用于获取表体配置表和报表SQL配置表;
第二生成模块,用于根据所述表头运行表、表体配置表和SQL配置表,生成表体运行表;
第三获取模块,用于从事实表中获取报表数据;
第三生成模块,用于基于所述报表数据,根据所述表头运行表、所述表体配置表和所述表体运行表,生成所述目标报表。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6任一所述方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任一所述方法。
10.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211334494.8A CN115688717A (zh) | 2022-10-28 | 2022-10-28 | 一种报表生成方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211334494.8A CN115688717A (zh) | 2022-10-28 | 2022-10-28 | 一种报表生成方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115688717A true CN115688717A (zh) | 2023-02-03 |
Family
ID=85045169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211334494.8A Pending CN115688717A (zh) | 2022-10-28 | 2022-10-28 | 一种报表生成方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115688717A (zh) |
-
2022
- 2022-10-28 CN CN202211334494.8A patent/CN115688717A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111722839B (zh) | 一种代码生成方法、装置、电子设备及存储介质 | |
CN113297320B (zh) | 分布式数据库系统及数据处理方法 | |
CN105787058B (zh) | 一种用户标签系统及基于用户标签系统的数据推送系统 | |
CN114356921A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN112559525B (zh) | 数据检查系统、方法、装置和服务器 | |
CN111061733A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN115757626A (zh) | 一种数据质量检测方法、装置、电子设备及存储介质 | |
CN114168565B (zh) | 业务规则模型的回溯测试方法、装置、系统及决策引擎 | |
CN110781235A (zh) | 基于大数据的采购数据处理方法、装置、终端及存储介质 | |
CN104881336A (zh) | 数据备份方法及装置 | |
CN115688717A (zh) | 一种报表生成方法和装置 | |
CN115099769A (zh) | 一种用于汽车金融订单自动审批的风控审批平台 | |
CN111309623B (zh) | 一种坐标类数据分类测试方法及装置 | |
CN113254455A (zh) | 数据库的动态配置方法、装置、计算机设备及存储介质 | |
CN118445293B (zh) | 一种复杂业务场景下多级数据联动方法、装置及存储介质 | |
CN112347095B (zh) | 数据表的处理方法、装置和服务器 | |
CN111968022B (zh) | 一种基于json配置方式的业务编号生成系统及方法 | |
CN115934684B (zh) | 一种多源数据库数据移植方法及装置、设备及存储介质 | |
CN118132562A (zh) | 数据关联方法、装置、存储介质以及终端 | |
CN118152036A (zh) | 调度模板处理方法、装置、计算机设备和存储介质 | |
CN114037399A (zh) | 一种保险行业薪酬管理平台的构建方法及系统 | |
CN118708293A (zh) | 基于Java面向云生态集群的操作数据审计方法、装置及产品 | |
CN115203237A (zh) | 基于hive元数据生成查询sql的方法、装置及设备 | |
CN118733567A (zh) | 数据迁移测试方法、装置、设备及存储介质 | |
KR101617651B1 (ko) | 트랜잭션 에디터를 이용한 이 기종간 데이터 전송 시스템 및 방법 |
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 |