CN112861501A - 报表的生成方法、装置、电子设备及计算机可读存储介质 - Google Patents
报表的生成方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN112861501A CN112861501A CN202110079121.XA CN202110079121A CN112861501A CN 112861501 A CN112861501 A CN 112861501A CN 202110079121 A CN202110079121 A CN 202110079121A CN 112861501 A CN112861501 A CN 112861501A
- Authority
- CN
- China
- Prior art keywords
- report
- data
- processing logic
- data processing
- template
- 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
Classifications
-
- 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/186—Templates
-
- 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/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- 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/174—Form filling; Merging
-
- 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)
- Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种报表的生成方法、装置、电子设备及计算机可读存储介质。该方法包括:当接收到报表生成请求时,获取报表生成请求所对应的报表模板以及报表生成请求所对应的初始报表数据;获取报表模板中的栏位所关联的数据处理逻辑,并基于数据处理逻辑对初始报表数据进行处理得到目标报表数据;基于目标报表数据以及报表模板生成报表。本方案中,通过获取数据处理逻辑对初始报表数据进行处理,得到待填入报表模板中相应栏位的目标报表数据,能够替代现有技术中通过编写额外的应用程序来实现处理逻辑的方案,能够提升报表的生成效率,并且具有更好的通用性。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种报表的生成方法、装置、电子设备及计算机可读存储介质。
背景技术
现有技术中,报表生成工具一般都是预先设置定义要生成的报表的模板,然后运行时将获取到的报表数据直接根据模板来进行内容替换和填充。当生成报表逻辑复杂时,如某个报表栏位的获取处理逻辑通过其他栏位一系列运算所得,或报表的当前行记录是之前输出的各行记录的累计计算值,这时则无法通过直接将获取报表数据实现,需要编写处理逻辑所对应的应用程序来实现数据处理逻辑,被添加的应用程序的处理逻辑则会被完全嵌入到报表生成工具中,当类似需要进行复杂处理的栏位比较多时,上述方法仍然不够通用和高效。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一。本申请所采用的技术方案如下:
第一方面,本申请实施例提供了一种报表的生成方法,该方法包括:
当接收到报表生成请求时,获取报表生成请求所对应的报表模板以及报表生成请求所对应的初始报表数据;
获取报表模板中的栏位所关联的数据处理逻辑,并基于数据处理逻辑对初始报表数据进行处理得到目标报表数据;
基于目标报表数据以及报表模板生成报表。
可选地,获取报表模板中的栏位所关联的数据处理逻辑,包括:
对报表模板进行解析;
基于解析结果获取报表模板中的栏位所关联的数据处理逻辑。
可选地,数据处理逻辑包括预定义的目标函数。
可选地,获取报表模板中的栏位所关联的数据处理逻辑,包括:
从预定义的函数库中获取报表模板中的栏位所关联的目标函数。
可选地,基于数据处理逻辑对初始报表数据进行处理得到目标报表数据,包括:
对目标函数进行语义分析,确定目标函数中的各字段是否已经被定义;
若已被定义,则基于数据处理逻辑对初始报表数据进行处理得到目标报表数据。
可选地,获取报表生成请求所对应的初始报表数据,包括:
获取报表模板中的栏位所关联的数据来源;
从数据来源获取报表生成请求所对应的初始报表数据。
可选地,若数据来源为数据库,从数据来源获取报表生成请求所对应的初始报表数据,包括:
基于SQL语句从数据来源获取报表生成请求所对应的初始报表数据。
可选地,基于数据处理逻辑对初始报表数据进行处理得到目标报表数据,包括:
通过报表生成引擎,并基于数据处理逻辑对初始报表数据进行处理,得到目标报表数据。
可选地,基于目标报表数据以及报表模板生成报表,包括:
通过将目标报表数据写入报表的对应栏位,生成报表。
第二方面,本申请实施例提供了一种报表模板的生成方法,该方法包括:
获取用户针对报表模板中的目标栏位所配置的数据处理逻辑;
将目标栏位与数据处理逻辑建立关联关系;
基于关联关系生成报表模板。
可选地,若数据处理逻辑为目标函数,上述方法还包括:
将目标函数存入预设置的函数库中。
第三方面,本申请实施例提供了一种报表的生成装置,该装置包括:
报表生成请求模块,用于在接收到报表生成请求时,获取报表生成请求所对应的报表模板以及报表生成请求所对应的初始报表数据;
数据处理模块,用于获取报表模板中的栏位所关联的数据处理逻辑,并基于数据处理逻辑对初始报表数据进行处理得到目标报表数据;
报表生成模块,用于基于目标报表数据以及报表模板生成报表。
可选地,数据处理模块在获取报表模板中的栏位所关联的数据处理逻辑时,具体用于:
对报表模板进行解析;
基于解析结果获取报表模板中的栏位所关联的数据处理逻辑。
可选地,数据处理逻辑包括预定义的目标函数。
可选地,数据处理模块在获取报表模板中的栏位所关联的数据处理逻辑时,具体用于:
从预定义的函数库中获取报表模板中的栏位所关联的目标函数。
可选地,数据处理模块在基于数据处理逻辑对初始报表数据进行处理得到目标报表数据时,具体用于:
对目标函数进行语义分析,确定目标函数中的各字段是否已经被定义;
若已被定义,则基于数据处理逻辑对初始报表数据进行处理得到目标报表数据。
可选地,报表生成请求模块在获取报表生成请求所对应的初始报表数据时,具体用于:
获取报表模板中的栏位所关联的数据来源;
从数据来源获取报表生成请求所对应的初始报表数据。
可选地,若数据来源为数据库,报表生成请求模块在从数据来源获取报表生成请求所对应的初始报表数据,包括:
基于SQL语句从数据来源获取报表生成请求所对应的初始报表数据。
可选地,数据处理模块在基于数据处理逻辑对初始报表数据进行处理得到目标报表数据时,具体用于:
通过报表生成引擎,并基于数据处理逻辑对初始报表数据进行处理,得到目标报表数据。
可选地,报表生成模块具体用于:通过将目标报表数据写入报表的对应栏位,生成报表。
第四方面,本申请实施例提供了一种报表模板的生成装置,该装置包括:
数据处理逻辑获取模块,用于获取用户针对报表模板中的目标栏位所配置的数据处理逻辑;
关联关系建立模块,用于将目标栏位与数据处理逻辑建立关联关系;
报表模板生成模块,用于基于关联关系生成报表模板。
可选地,若数据处理逻辑为目标函数,上述装置还包括:
目标函数存储模块,用于将目标函数存入预设置的函数库中。
第五方面,本申请实施例提供了一种电子设备,该电子设备包括:处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行如本申请的第一方面的任一实施方式中或者第二方面的任一实施方式中所示的方法。
第六方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本申请的第一方面的任一实施方式中或者第二方面的任一实施方式中所示的方法。
本申请实施例提供的技术方案带来的有益效果是:
本申请实施例提供的方案,在接收到报表生成请求时,获取报表生成请求所对应的报表模板以及报表生成请求所对应的初始报表数据,并获取报表模板中的栏位所关联的数据处理逻辑,从而基于数据处理逻辑对初始报表数据进行处理得到目标报表数据,并基于目标报表数据以及报表模板生成报表。本方案中,通过获取数据处理逻辑对初始报表数据进行处理,得到待填入报表模板中相应栏位的目标报表数据,能够替代现有技术中通过编写额外的应用程序来实现处理逻辑的方案,能够提升报表的生成效率,并且具有更好的通用性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种报表的生成方法的流程示意图;
图2为本申请实施例提供的报表的生成装置的具体实施中的结构示意图;
图3为本申请实施例提供的报表的生成方法的一种具体实施方式流程示意图;
图4为本申请实施例提供的一种报表模板的生成方法的流程示意图;
图5为本申请实施例提供的一种报表的生成装置的结构示意图;
图6为本申请实施例提供的又一种报表的生成装置的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
现有报表生成工具一般都是预先设置定义要生成的报表的模板,然后运行时将获取到的报表数据直接根据模板来进行内容替换和填充,而获取填充的数据一般都是根据报表生成请求,获取到预先配置的信息,然后根据报表生成请求参数组装出生成报表所需要的目标结构化查询语句SQL,SQL语句的查询栏位信息与报表需要展示的栏位信息完成一致,然后执行此SQL语句来获取报文数据。该方法通常将需要展示的报表的元数据相关配置信息,如报文的栏位信息(如列编号、列名称、列数据类型)以及对应的报表展现形式配置在文件或者数据库中,根据这些配置信息自动生成不同的报表数据,一定程度上提高了报表生成效率。但上述方法需要事先将报表中的各个栏位信息如何进行数据获取的处理逻辑预先定义好,如预先定义报表栏位的查询SQL模板,但当生成报表逻辑复杂时(如某个报表栏位的获取处理逻辑通过其他栏位一系列运算所得,或报表的当前行记录是之前输出的各行记录的累计计算值),则无法通过SQL语句及对应数据库的SQL函数来实现时,此时需要通过应用程序额外添加处理逻辑解决,添加的应用程序的处理逻辑完全嵌入到报表生成工具中,当类似需要进行复杂处理的栏位比较多时,上述方法仍然不够通用和高效。
为了解决如上技术问题中的至少一个,本申请实施例提供的报表的生成方法、装置、电子设备及计算机可读存储介质,在定义报表模板中支持复杂函数引用,正好可以解决上述不够通用和效率低下等问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1示出了本申请实施例提供的一种报表的生成方法的流程示意图,如图1所示,该方法主要可以包括:
步骤S110:当接收到报表生成请求时,获取报表生成请求所对应的报表模板以及报表生成请求所对应的初始报表数据;
步骤S120:获取报表模板中的栏位所关联的数据处理逻辑,并基于数据处理逻辑对初始报表数据进行处理得到目标报表数据;
步骤S130:基于目标报表数据以及报表模板生成报表。
本申请实施例中,在接收到报表生成请求时,可以获取相应的报表模板以及初始报表数据。
本申请实施例中,可以对在制定报表模板时,对报表模板中的各栏位定义字段名称、字段类型、字段长度、字段所包含的标准数据等信息。
初始报表数据即直接获取到的原始数据,在实际使用中可以通过编写结构化查询语言(Structured Query Language,SQL)语句来获取初始报文数据。
报表模板中一些栏位中所需要填充的数据为初始报表数据,对于这些栏位,可以在获取到初始报表数据后将初始报表数据填入其中。
报表中的另一些栏位所需要填充的数据为目标报表数据,目标报表数据是对初始报表数据进行相应的逻辑运算处理得到的。可以在制定报表模板时将这些栏位与对应的数据处理逻辑进行关联,在生成报表时调用相应的数据处理逻辑进行处理,从而得到目标报表数据。
本申请实施例中,通过将报表中的栏位关联数据处理逻辑,并在生成报表时获取数据处理逻辑,通过数据处理逻辑对初始报表数据进行处理,从而得到所需填入这些栏位的目标报表数据。由于报表模板中可能存在一些栏位的对应的数据处理逻辑较为复杂,或者需要进行处理的栏位可能较多,如果通过编写额外的应用程序来实现处理逻辑,则会造成应用程序开发较为复杂,并且带来效率低下的问题,并且各栏位均需要分别进行应用程序的编写,变成出的应用程序通用性差。
本申请实施例提供的方法,在接收到报表生成请求时,获取报表生成请求所对应的报表模板以及报表生成请求所对应的初始报表数据,并获取报表模板中的栏位所关联的数据处理逻辑,从而基于数据处理逻辑对初始报表数据进行处理得到目标报表数据,并基于目标报表数据以及报表模板生成报表。本方案中,通过获取数据处理逻辑对初始报表数据进行处理,得到待填入报表模板中相应栏位的目标报表数据,能够替代现有技术中通过编写额外的应用程序来实现处理逻辑的方案,能够提升报表的生成效率,并且具有更好的通用性。
作为一个示例,报表中的各栏位如表1中所示:
表1
A栏位 | B栏位 | C栏位 | D栏位 | E栏位 |
其中A栏位、B栏位、C栏位以及D栏位中填充的数据可以直接获取到,E栏位中的数据被预配置有目标函数,如E栏位=max(A栏位、B栏位)-C栏位,可以通过该目标函数确定出E栏位中填充的数据。
本申请实施例的一种可选方式中,获取报表模板中的栏位所关联的数据处理逻辑,包括:
对报表模板进行解析;
基于解析结果获取报表模板中的栏位所关联的数据处理逻辑。
本申请实施例中,可以对报表模板进行解析,从而根据解析结果来获取栏位所对应的数据处理逻辑。
本申请实施例的一种可选方式中,数据处理逻辑包括预定义的目标函数。
本申请实施例的一种可选方式中,获取报表模板中的栏位所关联的数据处理逻辑,包括:
从预定义的函数库中获取报表模板中的栏位所关联的目标函数。
本申请实施例中,数据处理逻辑可以包括预定义的目标函数,具体而言,可以预定义函数库,将报表生成时可能会使用的函数添加至函数库中。在生成报表时,可以直接从函数库中获取目标函数,使得函数库中的函数具有较好的通用性。另外,目标函数可能根据实际需要进行开发,能够支持较为复杂的运算逻辑。
作为一个示例,报表模板中E栏位所对应的数据处理逻辑为A栏位与B栏位中数据最大的,则E栏位所关联的目标函数的表达式可以为[max(A,B)-E]。
本申请实施例的一种可选方式中,基于数据处理逻辑对初始报表数据进行处理得到目标报表数据,包括:
对目标函数进行语义分析,确定目标函数中的各字段是否已经被定义;
若已被定义,则基于数据处理逻辑对初始报表数据进行处理得到目标报表数据。
本申请实施例中,可以在进行对初始报表数据进行数据处理之前,对目标函数进行语义分析,以确保目标函数中的各字段已经被定义,从而保证对数据的正确处理。
本申请实施例的一种可选方式中,获取报表生成请求所对应的初始报表数据,包括:
获取报表模板中的栏位所关联的数据来源;
从数据来源获取报表生成请求所对应的初始报表数据。
本申请实施例中,报表模板中的各个栏位被分被配置有数据来源,数据来源可以为初始报表数据的存放位置,如存放于数据库中。相应的还可以分别配置向各数据来源获取初始报表数据的具体方式。
本申请实施例的一种可选方式中,若数据来源为数据库,从数据来源获取报表生成请求所对应的初始报表数据,包括:
基于结构化查询语言(Structured Query Language,SQL)语句从数据来源获取报表生成请求所对应的初始报表数据。
本申请实施例中,当数据来源为数据库时,可以通过对应的SQL语句从数据库中请求对应的初始报表位置。
本申请实施例的一种可选方式中,基于数据处理逻辑对初始报表数据进行处理得到目标报表数据,包括:
通过报表生成引擎,并基于数据处理逻辑对初始报表数据进行处理,得到目标报表数据。
本申请实施例中,可以通过预先实现的报表生成引擎(如编译原理、表达式求值引擎等)来对报表数据中的每一行,每一列来进行求值,获得最终的报表输出数据。
本申请实施例的一种可选方式中,通过将目标报表数据写入报表的对应栏位,生成报表。
本申请实施例中,可以将目标报表数据写入报表的对应栏位,从而生成报表。
作为一个示例,图2中示出了本申请实施例提供的报表的生成装置的具体实施中的结构示意图,该装置包括:报表模板解析模块、报表渲染生成模块、报表自定义函数库及本领域元数据库。
(1)本领域元数据库:定义用于生成报表所使用到的各个栏位的字段名称、字段类型、字段长度、字段所包含的标准数据等信息。
(2)报表自定义函数库:定义本报表生成工具在进行报表模板定义时可以使用的函数,如max函数。
(3)报表模板解析模块:对于需要生成的报表均需定义其对应的报表模板,报表模板如之前示例所示,其中包含这个报表的每一个栏位的字段名称及其计算方式、展示方法。此模块用于解析报表模板用于后续报表渲染。
(4)报表渲染生成模块:将报表数据作为输入,根据预先编写好的表达式求值程序对报表的每一行、每一列进行求值,获得最后的报表输出数据。
作为一个示例,图3中示出了本申请实施例提供的报表生成方法的一种具体实施方式的结构示意图。
(1)根据报表生成请求,获取到生成此报表所预先定义的报表模板。
(2)使用报表定义解析模块来解析报表模板
(3)获取生成这次报表所需要的原始数据(即初始报表数据)。
(4)针对模板中的特定函数表达式(即目标函数)进行语义分析,比如检查表达式中的各字段是否存在于本领域的元数据库中。
(5)进行报表渲染,通过预先实现的报表生成引擎(具体使用到编译原理、表达式求值引擎)来对报表数据中的每一行,每一列来进行求值,获得最终的报表输出数据。
(6)将报文输出数据写入到报文文件中。
图4示出了本申请实施例提供的一种报表模板的生成方法的流程示意图,如图4所示,该方法主要可以包括:
步骤S210:获取用户针对报表模板中的目标栏位所配置的数据处理逻辑;
步骤S220:将目标栏位与数据处理逻辑建立关联关系;
步骤S230:基于关联关系生成报表模板。
本申请实施例中,可以在构建报表模板时,通过配置文件来定制报表模板中各栏位的数据来源,以及展现形式。
报表模板中一些栏位中所需要填充的数据为初始报表数据,对于这些栏位,可以报表模板中直接配置其数据来源。
报表中的另一些栏位(即目标栏位)所需要填充的数据为目标报表数据,目标报表数据是对初始报表数据进行相应的逻辑运算处理得到的。因此,可以获取用户针对报表模板中的目标栏位所配置的数据处理逻辑,将目标栏位与数据处理逻辑建立关联关系,从而基于关联关系生成报表模板。
本申请实施例提供的方法,通过获取用户针对报表模板中的目标栏位所配置的数据处理逻辑,并将目标栏位与数据处理逻辑建立关联关系,从而基于关联关系生成报表模板。本方案中,由于报表模板中的目标栏位被关联了数据处理逻辑,为基于报表模板生成报表时,通过获取数据处理逻辑对初始报表数据进行处理,得到待填入报表模板中相应栏位的目标报表数据提供了基础,能够替代现有技术中通过编写额外的应用程序来实现处理逻辑的方案,能够提升报表的生成效率,并且具有更好的通用性。
本申请的一种可选实施方式中,若数据处理逻辑为目标函数,上述方法还包括:
将目标函数存入预设置的函数库中。
本申请实施例中,数据处理逻辑可以被配置为目标函数,目标函数能够支持较为复杂的数据处理逻辑,满足实际的使用需求。
可以预定义函数库,将目标函数添加至函数库中,以便后续生成报表时,可以直接从函数库中获取目标函数,使得函数库中的函数具有较好的通用性。
本申请实施例中,将目标函数存入预设置的函数库之后,在后续生成报表模板时,可以直接建立报表模板中栏位与目标函数的关联关系,避免用户重复配置目标函数,增强目标函数的复用性。
基于与图1中所示的方法相同的原理,图5示出了本申请实施例提供的一种报表的生成装置的结构示意图,如图5所示,该报表的生成装置20可以包括:
报表生成请求模块310,用于在接收到报表生成请求时,获取报表生成请求所对应的报表模板以及报表生成请求所对应的初始报表数据;
数据处理模块320,用于获取报表模板中的栏位所关联的数据处理逻辑,并基于数据处理逻辑对初始报表数据进行处理得到目标报表数据;
报表生成模块330,用于基于目标报表数据以及报表模板生成报表。
本申请实施例提供的装置,在接收到报表生成请求时,获取报表生成请求所对应的报表模板以及报表生成请求所对应的初始报表数据,并获取报表模板中的栏位所关联的数据处理逻辑,从而基于数据处理逻辑对初始报表数据进行处理得到目标报表数据,并基于目标报表数据以及报表模板生成报表。本方案中,通过获取数据处理逻辑对初始报表数据进行处理,得到待填入报表模板中相应栏位的目标报表数据,能够替代现有技术中通过编写额外的应用程序来实现处理逻辑的方案,能够提升报表的生成效率,并且具有更好的通用性。
可选地,数据处理模块在获取报表模板中的栏位所关联的数据处理逻辑时,具体用于:
对报表模板进行解析;
基于解析结果获取报表模板中的栏位所关联的数据处理逻辑。
可选地,数据处理逻辑包括预定义的目标函数。
可选地,数据处理模块在获取报表模板中的栏位所关联的数据处理逻辑时,具体用于:
从预定义的函数库中获取报表模板中的栏位所关联的目标函数。
可选地,数据处理模块在基于数据处理逻辑对初始报表数据进行处理得到目标报表数据时,具体用于:
对目标函数进行语义分析,确定目标函数中的各字段是否已经被定义;
若已被定义,则基于数据处理逻辑对初始报表数据进行处理得到目标报表数据。
可选地,报表生成请求模块在获取报表生成请求所对应的初始报表数据时,具体用于:
获取报表模板中的栏位所关联的数据来源;
从数据来源获取报表生成请求所对应的初始报表数据。
可选地,若数据来源为数据库,报表生成请求模块在从数据来源获取报表生成请求所对应的初始报表数据,包括:
基于SQL语句从数据来源获取报表生成请求所对应的初始报表数据。
可选地,数据处理模块在基于数据处理逻辑对初始报表数据进行处理得到目标报表数据时,具体用于:
通过报表生成引擎,并基于数据处理逻辑对初始报表数据进行处理,得到目标报表数据。
可选地,报表生成模块具体用于:通过将目标报表数据写入报表的对应栏位,生成报表。
可以理解的是,本实施例中的报表的生成装置的上述各模块具有实现图1中所示的实施例中的报表的生成方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述报表的生成装置的各模块的功能描述具体可以参见图1中所示实施例中的报表的生成方法的对应描述,在此不再赘述。
基于与图4中所示的方法相同的原理,图6示出了本申请实施例提供的一种报表的生成装置的结构示意图,如图6所示,该报表模板的生成装置40可以包括:
数据处理逻辑获取模块410,用于获取用户针对报表模板中的目标栏位所配置的数据处理逻辑;
关联关系建立模块420,用于将目标栏位与数据处理逻辑建立关联关系;
报表模板生成模块430,用于基于关联关系生成报表模板。
本申请实施例提供的装置,通过获取用户针对报表模板中的目标栏位所配置的数据处理逻辑,并将目标栏位与数据处理逻辑建立关联关系,从而基于关联关系生成报表模板。本方案中,由于报表模板中的目标栏位被关联了数据处理逻辑,为基于报表模板生成报表时,通过获取数据处理逻辑对初始报表数据进行处理,得到待填入报表模板中相应栏位的目标报表数据提供了基础,能够替代现有技术中通过编写额外的应用程序来实现处理逻辑的方案,能够提升报表的生成效率,并且具有更好的通用性。
可选地,若数据处理逻辑为目标函数,上述装置还包括:
目标函数存储模块,用于将目标函数存入预设置的函数库中。
可以理解的是,本实施例中的报表的生成装置的上述各模块具有实现图4中所示的实施例中的报表的生成方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述报表的生成装置的各模块的功能描述具体可以参见图4中所示实施例中的报表的生成方法的对应描述,在此不再赘述。
本申请实施例提供了一种电子设备,包括处理器和存储器;
存储器,用于存储操作指令;
处理器,用于通过调用操作指令,执行本申请任一实施方式中所提供的报表的生成方法。
作为一个示例,图7示出了本申请实施例所适用的一种电子设备的结构示意图,如图7所示,该电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选的,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。
其中,处理器2001应用于本申请实施例中,用于实现上述方法实施例所示的方法。收发器2004可以包括接收机和发射机,收发器2004应用于本申请实施例中,用于执行时实现本申请实施例的电子设备与其他设备通信的功能。
处理器2001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
可选的,存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现本申请任一实施方式中所提供的报表的生成方法。
本申请实施例提供的电子设备,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供了一种电子设备,与现有技术相比,在接收到报表生成请求时,获取报表生成请求所对应的报表模板以及报表生成请求所对应的初始报表数据,并获取报表模板中的栏位所关联的数据处理逻辑,从而基于数据处理逻辑对初始报表数据进行处理得到目标报表数据,并基于目标报表数据以及报表模板生成报表。本方案中,通过获取数据处理逻辑对初始报表数据进行处理,得到待填入报表模板中相应栏位的目标报表数据,能够替代现有技术中通过编写额外的应用程序来实现处理逻辑的方案,能够提升报表的生成效率,并且具有更好的通用性。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述方法实施例所示的报表的生成方法。
本申请实施例提供的计算机可读存储介质,适用于上述方法任一实施例,在此不再赘述。
本申请实施例提供了一种计算机可读存储介质,与现有技术相比,在接收到报表生成请求时,获取报表生成请求所对应的报表模板以及报表生成请求所对应的初始报表数据,并获取报表模板中的栏位所关联的数据处理逻辑,从而基于数据处理逻辑对初始报表数据进行处理得到目标报表数据,并基于目标报表数据以及报表模板生成报表。本方案中,通过获取数据处理逻辑对初始报表数据进行处理,得到待填入报表模板中相应栏位的目标报表数据,能够替代现有技术中通过编写额外的应用程序来实现处理逻辑的方案,能够提升报表的生成效率,并且具有更好的通用性。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种报表的生成方法,其特征在于,包括:
当接收到报表生成请求时,获取所述报表生成请求所对应的报表模板以及所述报表生成请求所对应的初始报表数据;
获取所述报表模板中的栏位所关联的数据处理逻辑,并基于数据处理逻辑对所述初始报表数据进行处理得到目标报表数据;
基于所述目标报表数据以及所述报表模板生成报表。
2.根据权利要求1所述的方法,其特征在于,所述获取所述报表模板中的栏位所关联的数据处理逻辑,包括:
对所述报表模板进行解析;
基于解析结果获取所述报表模板中的栏位所关联的数据处理逻辑。
3.根据权利要求1所述的方法,其特征在于,所述数据处理逻辑包括预定义的目标函数。
4.根据权利要求3所述的方法,其特征在于,所述获取所述报表模板中的栏位所关联的数据处理逻辑,包括:
从预定义的函数库中获取所述报表模板中的栏位所关联的目标函数。
5.根据权利要求3所述的方法,其特征在于,所述基于数据处理逻辑对所述初始报表数据进行处理得到目标报表数据,包括:
对所述目标函数进行语义分析,确定所述目标函数中的各字段是否已经被定义;
若已被定义,则基于数据处理逻辑对所述初始报表数据进行处理得到目标报表数据。
6.根据权利要求1所述的方法,其特征在于,获取所述报表生成请求所对应的初始报表数据,包括:
获取所述报表模板中的栏位所关联的数据来源;
从所述数据来源获取所述报表生成请求所对应的初始报表数据。
7.根据权利要求6所述的方法,其特征在于,若所述数据来源为数据库,所述从所述数据来源获取所述报表生成请求所对应的初始报表数据,包括:
基于SQL语句从所述数据来源获取所述报表生成请求所对应的初始报表数据。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述基于数据处理逻辑对所述初始报表数据进行处理得到目标报表数据,包括:
通过报表生成引擎,并基于数据处理逻辑对所述初始报表数据进行处理,得到目标报表数据。
9.根据权利要求1-7中任一项所述的方法,其特征在于,所述基于所述目标报表数据以及所述报表模板生成报表,包括:
通过将所述目标报表数据写入报表的对应栏位,生成所述报表。
10.一种报表模板的生成方法,其特征在于,包括:
获取用户针对报表模板中的目标栏位所配置的数据处理逻辑;
将所述目标栏位与所述数据处理逻辑建立关联关系;
基于所述关联关系生成报表模板。
11.根据权利要求10所述的方法,其特征在于,若所述数据处理逻辑为目标函数,所述方法还包括:
将所述目标函数存入预设置的函数库中。
12.一种报表的生成装置,其特征在于,包括:
报表生成请求模块,用于在接收到报表生成请求时,获取所述报表生成请求所对应的报表模板以及所述报表生成请求所对应的初始报表数据;
数据处理模块,用于获取所述报表模板中的栏位所关联的数据处理逻辑,并基于数据处理逻辑对所述初始报表数据进行处理得到目标报表数据;
报表生成模块,用于基于所述目标报表数据以及所述报表模板生成报表。
13.根据权利要求12所述的装置,所述数据处理模块在获取报表模板中的栏位所关联的数据处理逻辑时,具体用于:
对所述报表模板进行解析;
基于解析结果获取所述报表模板中的栏位所关联的数据处理逻辑。
14.一种报表模板的生成装置,其特征在于,包括:
数据处理逻辑获取模块,用于获取用户针对报表模板中的目标栏位所配置的数据处理逻辑;
关联关系建立模块,用于将所述目标栏位与所述数据处理逻辑建立关联关系;
报表模板生成模块,用于基于所述关联关系生成报表模板。
15.一种电子设备,其特征在于,包括处理器和存储器;
所述存储器,用于存储操作指令;
所述处理器,用于通过调用所述操作指令,执行权利要求1-11中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110079121.XA CN112861501A (zh) | 2021-01-21 | 2021-01-21 | 报表的生成方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110079121.XA CN112861501A (zh) | 2021-01-21 | 2021-01-21 | 报表的生成方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112861501A true CN112861501A (zh) | 2021-05-28 |
Family
ID=76008478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110079121.XA Pending CN112861501A (zh) | 2021-01-21 | 2021-01-21 | 报表的生成方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112861501A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342821A (zh) * | 2021-06-29 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 报表配置方法、装置、设备及计算机存储介质 |
CN113568915A (zh) * | 2021-07-29 | 2021-10-29 | 中国工商银行股份有限公司 | 报表生成方法及装置 |
CN113626194A (zh) * | 2021-08-10 | 2021-11-09 | 上海微盟企业发展有限公司 | 一种报表文件生成方法、装置、设备及可读存储介质 |
CN113723812A (zh) * | 2021-08-30 | 2021-11-30 | 平安国际智慧城市科技股份有限公司 | 基于项目申报的数据处理方法及装置 |
CN113792138A (zh) * | 2021-09-14 | 2021-12-14 | 广东电网有限责任公司 | 报表生成方法、装置、电子设备及存储介质 |
CN114500640A (zh) * | 2022-01-24 | 2022-05-13 | 中国工商银行股份有限公司 | 报文生成方法及发送方法、装置、电子设备和介质 |
-
2021
- 2021-01-21 CN CN202110079121.XA patent/CN112861501A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113342821A (zh) * | 2021-06-29 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 报表配置方法、装置、设备及计算机存储介质 |
CN113568915A (zh) * | 2021-07-29 | 2021-10-29 | 中国工商银行股份有限公司 | 报表生成方法及装置 |
CN113626194A (zh) * | 2021-08-10 | 2021-11-09 | 上海微盟企业发展有限公司 | 一种报表文件生成方法、装置、设备及可读存储介质 |
CN113723812A (zh) * | 2021-08-30 | 2021-11-30 | 平安国际智慧城市科技股份有限公司 | 基于项目申报的数据处理方法及装置 |
CN113792138A (zh) * | 2021-09-14 | 2021-12-14 | 广东电网有限责任公司 | 报表生成方法、装置、电子设备及存储介质 |
CN113792138B (zh) * | 2021-09-14 | 2024-04-30 | 广东电网有限责任公司 | 报表生成方法、装置、电子设备及存储介质 |
CN114500640A (zh) * | 2022-01-24 | 2022-05-13 | 中国工商银行股份有限公司 | 报文生成方法及发送方法、装置、电子设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112861501A (zh) | 报表的生成方法、装置、电子设备及计算机可读存储介质 | |
CN110413634B (zh) | 数据查询方法、系统、装置及计算机可读存储介质 | |
CN110955410B (zh) | 一种代码自动生成方法、装置、设备及介质 | |
CN110109656B (zh) | 接口模拟方法、装置、计算机设备和存储介质 | |
CN111797073A (zh) | 数据库管理方法、电子设备与计算机可读存储介质 | |
CN112182036A (zh) | 数据的发送与写入方法、装置、电子设备及可读存储介质 | |
CN110688544A (zh) | 一种查询数据库的方法、设备及存储介质 | |
CN113268500B (zh) | 业务处理方法、装置及电子设备 | |
CN114090671A (zh) | 数据导入方法、装置、电子设备及存储介质 | |
CN112860730A (zh) | Sql语句的处理方法、装置、电子设备及可读存储介质 | |
US11366704B2 (en) | Configurable analytics for microservices performance analysis | |
CN110955714A (zh) | 一种将非结构化文本转化为结构化文本的方法及装置 | |
CN115167831A (zh) | 基于autosar的软件集成方法、设备和使用方法 | |
CN107797805B (zh) | 一种代码封装方法、装置及计算机可读存储介质 | |
CN108763524B (zh) | 电子装置、聊天数据处理方法和计算机可读存储介质 | |
CN114091383A (zh) | 测试序列生成方法、装置、系统及相关设备 | |
CN108228604B (zh) | 基于内存对象的模型构建方法、信息查询方法及装置 | |
CN105786478A (zh) | 用于数据处理的方法及设备 | |
CN110515653B (zh) | 文档生成方法、装置、电子设备及计算机可读存储介质 | |
CN113064928A (zh) | 报表数据查询方法、装置、电子设备及存储介质 | |
CN112380820A (zh) | 数据自动回填方法、装置、电子设备及计算机存储介质 | |
CN106445524B (zh) | 基于模型的SystemC代码生成方法 | |
CN115291889B (zh) | 一种数据血缘关系建立方法、装置及电子设备 | |
CN117708094B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN113377674B (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 |