CN115826928B - 程序生成方法、系统、电子设备及计算机可读存储介质 - Google Patents
程序生成方法、系统、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115826928B CN115826928B CN202211641958.XA CN202211641958A CN115826928B CN 115826928 B CN115826928 B CN 115826928B CN 202211641958 A CN202211641958 A CN 202211641958A CN 115826928 B CN115826928 B CN 115826928B
- Authority
- CN
- China
- Prior art keywords
- index
- statement
- sql statement
- combined
- target report
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000001914 filtration Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 21
- 238000011161 development Methods 0.000 abstract description 16
- 238000006243 chemical reaction Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种程序生成方法、系统、电子设备及计算机可读存储介质。该方法包括:根据目标报表生成指标SQL语句;根据指标SQL语句确定目标报表的组合语句;查询指标SQL语句和组合语句之间的关联关系,并将指标SQL语句和组合语句进行拼接;根据关联关系确定指标SQL语句是否拼接完成;若指标SQL语句拼接完成,根据拼接完成的SQL语句和组合语句生成目标报表对应的完整的SQL语句;指标SQL语句为目标报表中各指标对应的语句,组合语句为指标SQL语句对应的规则语句。本申请实施例通过将目标报表经过一系列转化、匹配等处理生成对应的完整的SQL语句,实现了程序的自动生成,能降低开发人员的工作量,提升开发效率。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种程序生成方法、系统、电子设备及计算机可读存储介质。
背景技术
现有的平台技术架构,从源系统(如,业务系统、财务系统、风险等系统)做数据抽取时,需要经过数据加载并转换进入数据仓库,在数据仓库中做数据加工汇总,进而形成报表使用的宽表,最后再用报表工具从宽表中取数以做数据展示。针对每一单一数据的统计需求,都需要完整的开发流程。但是目前不同数据的开发工作十分依赖开发人员的经验,且开发工作量大,开发效率较低。
发明内容
有鉴于此,本申请实施例的目的在于提供一种程序生成方法、系统、电子设备及计算机可读存储介质,能够自动生成程序,减少开发工作人员工作量,提高工作效率。
第一方面,本申请实施例提供了一种程序生成方法,包括:根据目标报表生成指标SQL语句;根据所述指标SQL语句确定所述目标报表的组合语句;查询所述指标SQL语句和所述组合语句之间的关联关系,并将所述指标SQL语句和所述组合语句进行拼接;判断所述指标SQL语句是否拼接完成;若所述指标SQL语句拼接完成,根据拼接完成的所述SQL语句和所述组合语句生成所述目标报表对应的完整的SQL语句,以用于程序执行;其中,所述目标报表对应至少一个指标,所述指标SQL语句为所述目标报表中各指标对应的结构化语言,所述组合语句为所述指标SQL语句对应的规则语句。
在上述实现过程中,通过根据目标报表生成相应的指标SQL语句,并基于指标SQL语句确定组合语句,通过该指标SQL语句和组合语句生成目标报表对应的完整的SQL语句,实现了目标报表的自动程序生成,减少了开发人员的工作量,提升了开发效率。
在一个实施例中,所述根据目标报表生成指标SQL语句,包括:根据所述目标报表的不同维度生成所述目标报表的每个维度对应的指标SQL语句。
在上述实现过程中,由于目标报表的指标SQL语句是从多个不同维度分别确定,能够更加全面的确定出目标报表对应的完整的SQL语句,提高了目标报表的目标报表对应的完整的SQL语句的准确性。
在一个实施例中,所述查询所述指标SQL语句和所述组合语句之间的关联关系,并将所述指标SQL语句和所述组合语句进行拼接,包括:查询每个维度对应的所述指标SQL语句和每个维度对应的所述指标SQL语句对应的所述组合语句之间的关联关系,并将每个维度对应的所述指标SQL语句和每个维度对应的所述指标SQL语句对应的所述组合语句进行拼接。
在上述实现过程中,通过将各维度的指标SQL语句和每个维度对应的指标SQL语句对应的组合语句分别进行关联关系查询和拼接,防止了各个维度指标SQL语句之间的相互影响,提高了指标SQL语句和对应的组合语句的拼接和关联关系查询的准确性,进而提高了该目标报表对应的完整的SQL语句的准确性。
在一个实施例中,所述根据所述关联关系确定所述指标SQL语句是否拼接完成之后,所述方法还包括:若所述指标SQL语句拼接完成,根据所述目标报表生成查询条件,所述查询条件为所述目标报表的查看信息;根据所述查询条件对拼接完成的所述指标SQL语句和所述组合语句进行过滤。
在上述实现过程中,通过设置过滤条件,在指标SQL语句和组合语句拼接完成后,通过该过滤条件过滤掉一些不需要查看的数据或内容,仅展示目标报表相应的数据或内容,能够更加直观,提高了目标报表相应的数据或内容查看的便利性。
在一个实施例中,若存在拼接未完成的所述指标SQL语句,根据所述拼接未完成的所述指标SQL语句重新确定组合语句,直到所述指标SQL语句拼接完成。
在上述实现过程中,对于拼接未完成的指标SQL语句,通过重新根据该指标SQL语句确定组合语句,直到该指标SQL语句和组合语句拼接完成。通过在指标SQL语句与组合语句没有拼接完成时,重新确定组合语句,保证通过指标SQL语句确定的组合语句是完整的,提高了该组合语句的完整性和准确性,进而提高该目标报表对应的完整的SQL语句完整性和准确性。
在一个实施例中,所述根据目标报表生成指标SQL语句之前,所述方法还包括:配置所有指标的共有属性,以得到每个指标每个属性对应的语句;将所述每个指标每个属性对应的语句进行存储。
在上述实现过程中,通过事先配置好所有指标的共有属性,以将每个指标每个属性对应的语句进行存储,以在确定目标表格后,可以直接根据目标表格生成相应的指标SQL语句,实现了将目标表格中的指标转换为程序语言中的指标SQL语句,能够实现目标表格程序语言块的自动生成,减少了开发人员的代码编写工作,提升了开发效率。
在一个实施例中,所述所有指标的共有属性包括基础指标、衍生指标、泛衍生指标;所述衍生指标通过所述基础指标统计逻辑获得;所述泛衍生指标为每个所述指标额外的计算类型。
在上述实现过程中,通过配置多种类型的共有属性,增加了属性的多样性,能够实现多维度生成目标报表的指标SQL语句,提高了目标报表指标SQL语句生成的准确性。
第二方面,本申请实施例还提供一种程序生成系统,包括:指标语句查询单元,用于根据目标报表生成指标SQL语句;组合语句查询单元,用于根据所述指标SQL语句确定所述目标报表的组合语句;关联信息查询单元,用于查询所述指标SQL语句和所述组合语句之间的关联关系,并将所述指标SQL语句和所述组合语句进行拼接;拼接结果判断单元,用于判断所述指标SQL语句是否拼接完成;完整语句生成单元,用于若所述指标SQL语句拼接完成,生成所述目标报表对应的完整的SQL语句,以用于程序执行;其中,所述目标报表对应至少一个指标,所述指标SQL语句为所述目标报表中各指标对应的结构化语言,所述组合语句为所述指标SQL语句对应的规则语句。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面的任一种可能的实施方式中的方法的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面的任一种可能的实施方式中程序生成方法的步骤。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的程序生成方法的整体流程图;
图2为本申请实施例提供的程序生成方法的循环流程图;
图3为本申请实施例提供的程序生成装置的功能模块示意图;
图4为本申请实施例提供的电子设备的方框示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
现有的平台设计方案,可以满足指标数量不多的单一报表。但是监管报送类报表,存在以下特点:报表数量大,单一报表指标数量多,且指标来源于不同系统,不同报表间有相同指标,但统计维度不一致。现有开发流程难以满足监管报送报表的快速迭代开发,十分依赖开发人员的经验。
有鉴于此,发明人经过长期研究发现,此类报表的开发工作存在一定的重复性。通过将不同指标定义、指标维度、数据来源、指标加工规则逻辑等配置后存储在数据库中。针对不同的报表可以直接确定出指标SQL语句,并尽信组合语句拼接,形成该报表对应的完整SQL语句。实现了系统自动加工指标数据,将原有依赖人工编写的计算逻辑转化为标准化配置工作,降低了开发人员工作量,提升了开发效率。提升了系统的可维护性,仅需要修改配置项就可以完成变更工作。
为便于对本实施例进行理解,首先对执行本申请实施例所公开的一种程序生成方法进行详细介绍。
请参阅图1,是本申请实施例提供的程序生成方法的流程图。下面将对图1所示的具体流程进行详细阐述。
步骤201,根据目标报表生成指标SQL语句。
其中,该目标报表对应至少一个指标,指标SQL语句(Structured Query Language中文名称:结构化查询语言)为目标报表中各指标对应的结构化语言。该指标可以包括指标的编码、名称、业务类型、计算类型、度量类型、指标单位等。每个目标报表可以对应多个维度的指标。
这里的目标报表为待编程报表,该目标报表可以是财务报表、销售报表、利润分配表等。该目标报表的类型可以根据实际情况进行选择,本申请不做具体限制。
可以理解地,目标报表的每个指标都配置有相应的指标SQL语句,该指标SQL语句可以提前存储在数据库中。当获取到目标报表后,可以直接根据该目标报表确定出该目标报表需要的指标,基于该指标匹配出相应的指标SQL语句。
当然,在一些实施例中,目标报表的每个指标都配置有相应的指标SQL语句确定规则,该规则可以提前存储在数据库中。当获取到目标报表后,可以直接根据该目标报表确定出该目标报表需要的指标,基于该指标匹配出相应的指标SQL语句确定规则,并基于该规则确定出相应的指标SQL语句等。该目标报表的指标SQL语句可以根据实际情况进行确定,本申请不做具体限制。
步骤202,根据指标SQL语句确定目标报表的组合语句。
这里的组合语句为指标SQL语句对应的规则语句。例如,计算规则、排列规则、循环规则等。
步骤203,查询指标SQL语句和组合语句之间的关联关系,并将指标SQL语句和组合语句进行拼接。
这里的关联关系包括但不限于等于、不等于、包含、不包含。
可以理解地,在确定出目标报表的指标SQL语句和指标SQL语句对应的组合语句之后,将每个指标SQL语句和对应的组合语句进行拼接,可以确定每个维度的指标对应的程序语言。
步骤204,判断指标SQL语句是否拼接完成。
这里的一个指标SQL语句可能会对应多个组合语句,在将指标SQL语句和组合语句拼接后,确定该指标SQL语句是否拼接了指标SQL语句对应的所有的组合语句,需要进一步判断该指标SQL语句是否匹配了对应的所有的组合语句。若该指标SQL语句匹配了对应的所有组合语句,则该指标SQL语句拼接完成。若该指标SQL语句没有匹配完对应的所有组合语句,则该指标SQL语句拼接未完成。
这里的每个指标SQL语句对应的组合语句数量和类型可以提前配置好,并存储在数据库。在需要判断该指标SQL语句是否拼接完成时,将该指标SQL语句已拼接的组合语句和数据库中该指标SQL语句对应的组合语句数量和类型进行匹配,确定该指标SQL语句已拼接的组合语句是否能够完全匹配成功。若能够完全匹配成功,则说明拼接完成。若不能完全匹配成功,则说明拼接未完成。
步骤205,若指标SQL语句拼接完成,根据拼接完成的SQL语句和组合语句生成目标报表对应的完整的SQL语句,以用于程序执行。
若目标报表的所有指标SQL语句和对应的组合语句均拼接完成后,再根据多个拼接完成的SQL语句和组合语句进一步生成该目标报表对应的完整的SQL语句,该完整的SQL语句即为处理该目标报表对应的程序。
在上述实现过程中,通过根据目标报表生成相应的指标SQL语句,并基于指标SQL语句确定组合语句,通过该指标SQL语句和组合语句生成目标报表对应的完整的SQL语句,实现了目标报表的自动程序生成,减少了开发人员的工作量,提升了开发效率。
在一种可能的实现方式中,步骤201,包括:根据目标报表的不同维度生成目标报表的每个维度对应的指标SQL语句。
可以理解地,一个目标报表包括可以对应多个维度的指标,每个目标报表可以从一个或多个维度指标确定指标SQL语句。该目标报表对应确定指标SQL语句的维度可以根据实际情况进行调整,本申请不做具体限制。
例如,该目标报表为财务报表,该财务报表可以从时间、名称、业务类型、度量类型以及指标单元5个维度的指标确定指标SQL语句。若该目标包括为集团利润分配报表,则该集团利润分配报表可以从时间、名称、度量类型以及指标单元4个维度的指标确定指标SQL语句等。
可选地,若该目标报表对应多个维度的指标,则该多个维度的指标对应的指标SQL语句可以同时生成,也可以分别生成。
在上述实现过程中,由于目标报表的指标SQL语句是从多个不同维度分别确定,能够更加全面的确定出目标报表对应的完整的SQL语句,提高了目标报表的目标报表对应的完整的SQL语句的准确性。
在一种可能的实现方式中,步骤203,包括:查询每个维度对应的指标SQL语句和每个维度对应的指标SQL语句对应的组合语句之间的关联关系,并将每个维度对应的指标SQL语句和每个维度对应的指标SQL语句对应的组合语句进行拼接。
在目标表格需要多个维度对应的指标SQL语句时,分别查询每个维度的指标SQL语句和对应的组合语句之间关联关系,并分别拼接每个维度的指标SQL语句和对应的组合语句。
例如,目标表格需要3个维度对应的指标SQL语句,分别为维度A、维度B和维度C。则需要查询维度A的指标SQL语句和对应的组合语句之间关联关系,并拼接维度A的指标SQL语句和对应的组合语句。再查询维度B的指标SQL语句和对应的组合语句之间关联关系,并拼接维度B的指标SQL语句和对应的组合语句。并查询维度C的指标SQL语句和对应的组合语句之间关联关系,并拼接维度B的指标SQL语句和对应的组合语句。该维度A、维度B和维度C的指标SQL语句和对应的组合语句的拼接和之间关联关系的查询执行顺序可以同时进行,也可以按照预设顺序依次进行,本申请不对各个维度的指标SQL语句和对应的组合语句的拼接和之间关联关系的查询执行顺序不做限制。
在上述实现过程中,通过将各维度的指标SQL语句和每个维度对应的指标SQL语句对应的组合语句分别进行关联关系查询和拼接,防止了各个维度指标SQL语句之间的相互影响,提高了指标SQL语句和对应的组合语句的拼接和关联关系查询的准确性,进而提高了该目标报表对应的完整的SQL语句的准确性。
在一种可能的实现方式中,步骤204之后,该方法还包括:若指标SQL语句拼接完成,根据目标报表生成查询条件;根据查询条件对拼接完成的指标SQL语句和组合语句进行过滤。
其中,查询条件为目标报表的查看信息。例如,若目标报表为2000年-2010年的财务报表,工作人员仅需要查看2010年的财务报表即可,则该查询条件可以为:查询日期2010。若目标报表为某一集团多个子公司当年的盈利报表,工作人员仅需要查看甲公司当年的盈利报表即可,则该查询条件可以为:查询对象甲公司等。该查询条件可以根据实际情况进行调整,本申请不做具体限制。
在一些实施例中,该查询条件还可以在步骤201-步骤205的任意步骤生成。
可以理解地,若目标报表存在查询条件,则在对目标报表进行最终呈现时,可以根据该查询条件对查询条件之外的拼接完成的指标SQL语句和组合语句进行过滤,仅呈查询条件所涉及内容,能够更加直观的展示该目标报表相应的数据或内容。
在上述实现过程中,通过设置过滤条件,在指标SQL语句和组合语句拼接完成后,通过该过滤条件过滤掉一些不需要查看的数据或内容,仅展示目标报表相应的数据或内容,能够更加直观,提高了目标报表相应的数据或内容查看的便利性。
在一种可能的实现方式中,如图2所示,若存在拼接未完成的指标SQL语句,根据拼接未完成的指标SQL语句重新确定组合语句,直到指标SQL语句拼接完成。
可以理解地,若某一指标SQL语句未拼接完成,说明在根据指标SQL语句确定目标报表的组合语句时,根据该指标SQL语句确定的组合语句是不完整的,则需要根据该指标SQL语句进一步和组合语句进行匹配,进一步再根据关联关系确定该指标SQL语句和再次拼接后的组合语句是否拼接完成,直到该指标SQL语句与组合语句拼接完成。
在一些实施例中,对于多个指标SQL语句,则每个指标SQL语句均需要通过上述方法和对应的组合语句拼接完成,直到所有的指标SQL语句均和对应的组合语句拼接完成。
若该目标报表确定出多个指标SQL语句,其中部分指标SQL语句与该目标报表的完整SQL语句的关联性较弱,另一部分与目标报表的完整SQL语句的关联性较强,则该指标SQL语句中与目标报表关联性较强的部分中的每个指标SQL语句均需要通过上述方法和对应的组合语句拼接完成,直到所有的指标SQL语句均和对应的组合语句拼接完成。
可选地,需要和组合语句拼接完成的指标SQL语句可以根据实际情况进行调整,本申请不做具体限制。
在上述实现过程中,对于拼接未完成的指标SQL语句,通过重新根据该指标SQL语句确定组合语句,直到该指标SQL语句和组合语句拼接完成。通过在指标SQL语句与组合语句没有拼接完成时,重新确定组合语句,保证通过指标SQL语句确定的组合语句是完整的,提高了该组合语句的完整性和准确性,进而提高该目标报表对应的完整的SQL语句完整性和准确性。
在一种可能的实现方式中,步骤201之前,该方法还包括:配置所有指标的共有属性,以得到每个指标每个属性对应的语句;将每个指标每个属性对应的语句进行存储。
这里的共有属性包括指标计算规则、指标对应的指标SQL语句、指标SQL语句与指标之间规则之间的关联关系等。
上述所有指标为目标报表对应的每个维度的多个指标。
在一些实施例中,该每个指标每个属性对应的语句可以通过编号后进行存储。
可以理解地,配置所有指标的共有属性可以在首次执行步骤201之前配置所有目标表格的所有指标的共有属性,也可以在每次执行步骤201之前配置当前目标表格的所有指标的共有属性,还可以在目标表格为新表格时,在执行步骤201之前配置该新目标表格的所有指标的共有属性。该所有指标的共有属性配置形式可以根据实际情况进行调整,本申请不做具体限制。
在上述实现过程中,通过事先配置好所有指标的共有属性,以将每个指标每个属性对应的语句进行存储,以在确定目标表格后,可以直接根据目标表格生成相应的指标SQL语句,实现了将目标表格中的指标转换为程序语言中的指标SQL语句,能够实现目标表格程序语言块的自动生成,减少了开发人员的代码编写工作,提升了开发效率。
在一种可能的实现方式中,所有指标的共有属性包括基础指标、衍生指标、泛衍生指标。
其中,衍生指标通过基础指标统计逻辑获得;泛衍生指标为每个指标额外的计算类型。
这里的基础指标为根据目标报表直接获取的指标,该基础指标可以通过指标数据来源表获得,基础指标来源于该指标数据来源表中的字段。例如,该基础指标为日期、业务类型、指标单位等。
上述的衍生指标是通过两个及以上的基础指标运算获得。该衍生指标是通过将基础指标作为指标因子计算获得。该衍生指标在计算过程中也可能会出现复用衍生指标作为指标因子。例如,该衍生指标为利润额、营业状况、发展趋势等。
这里的泛衍生指标为目标报表进行基础运算之外的指标。例如,该泛衍生指标还可以是年初数、上期数、上年数等。
在一些实施例中,该共有属性还可以包括其他指标。该其他指标不同于业务类指标,通常可以采用会计科目号、借方、贷方、余额、发生额等来定义。
在上述实现过程中,通过配置多种类型的共有属性,增加了属性的多样性,能够实现多维度生成目标报表的指标SQL语句,提高了目标报表指标SQL语句生成的准确性。
基于同一申请构思,本申请实施例中还提供了与程序生成方法对应的程序生成装置,由于本申请实施例中的装置解决问题的原理与前述的程序生成方法实施例相似,因此本实施例中的装置的实施可以参见上述方法的实施例中的描述,重复之处不再赘述。
请参阅图3,是本申请实施例提供的程序生成装置的功能模块示意图。本实施例中的程序生成装置中的各个模块用于执行上述方法实施例中的各个步骤。程序生成装置包括指标语句查询单元301、组合语句查询单元302、关联信息查询单元303、拼接结果判断单元304、完整语句生成单元305;
其中,
指标语句查询单元301用于根据目标报表生成指标SQL语句。
组合语句查询单元302用于根据所述指标SQL语句确定所述目标报表的组合语句。
关联信息查询单元303用于查询所述指标SQL语句和所述组合语句之间的关联关系,并将所述指标SQL语句和所述组合语句进行拼接。
拼接结果判断单元304用于根据所述关联关系确定所述指标SQL语句是否拼接完成。
完整语句生成单元305用于若所述指标SQL语句拼接完成,根据拼接完成的所述SQL语句和所述组合语句生成所述目标报表对应的完整的SQL语句,以用于程序执行;其中,所述目标报表对应至少一个指标,所述指标SQL语句为所述目标报表中各指标对应的语句,所述组合语句为所述指标SQL语句对应的规则语句。
一种可能的实施方式中,指标语句查询单元301,还用于:根据所述目标报表的不同视角组合生成所述目标报表的每个维度对应的指标SQL语句。
一种可能的实施方式中,关联信息查询单元303,还用于:查询每个维度对应的所述指标SQL语句和每个维度对应的所述指标SQL语句对应的所述组合语句之间的关联关系,并将每个维度对应的所述指标SQL语句和每个维度对应的所述指标SQL语句对应的所述组合语句进行拼接。
一种可能的实施方式中,该程序生成装置还包括过滤模块,用于若所述指标SQL语句拼接完成,根据所述目标报表生成查询条件,所述查询条件为所述目标报表的查看信息;根据所述查询条件对拼接完成的所述指标SQL语句和所述组合语句进行过滤。
一种可能的实施方式中,组合语句查询单元302,具体用于:若存在拼接未完成的所述指标SQL语句,根据所述拼接未完成的所述指标SQL语句重新确定组合语句,直到所述指标SQL语句拼接完成。
为便于对本实施例进行理解,下面对执行本申请实施例所公开的程序生成方法的电子设备进行详细介绍。
如图4所示,是电子设备的方框示意图。电子设备100可以包括存储器111和处理器113。本领域普通技术人员可以理解,图4所示的结构仅为示意,其并不对电子设备100的结构造成限定。例如,电子设备100还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
上述的存储器111、处理器113相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。上述的处理器113用于执行存储器中存储的可执行模块。
其中,存储器111可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,简称EEPROM)等。其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序,本申请实施例任一实施例揭示的过程定义的电子设备100所执行的方法可以应用于处理器113中,或者由处理器113实现。
上述的处理器113可能是一种集成电路芯片,具有信号的处理能力。上述的处理器113可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(digital signalprocessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本实施例中的电子设备100可以用于执行本申请实施例提供的各个方法中的各个步骤。下面通过几个实施例详细描述程序生成方法的实现过程。
一种可能的实施方式中,该程序生成装置还包括配置模块,用于配置所有指标的共有属性,以得到每个指标每个属性对应的语句;将所述每个指标每个属性对应的语句进行存储。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的程序生成方法的步骤。
本申请实施例所提供的程序生成方法的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行上述方法实施例中所述的程序生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (6)
1.一种程序生成方法,其特征在于,包括:
根据目标报表生成指标SQL语句;
根据所述指标SQL语句确定所述目标报表的组合语句;
查询所述指标SQL语句和所述组合语句之间的关联关系,并将所述指标SQL语句和所述组合语句进行拼接;
判断所述指标SQL语句是否拼接完成;
若所述指标SQL语句拼接完成,根据拼接完成的所述SQL语句和所述组合语句生成所述目标报表对应的完整的SQL语句,以用于程序执行;
其中,所述目标报表对应至少一个指标,所述目标报表的每个指标都配置有相应的所述指标SQL语句,所述指标SQL语句提前存储在数据库中;所述指标SQL语句为所述目标报表中各指标对应的结构化语言,所述组合语句为所述指标SQL语句对应的规则语句;
所述判断所述指标SQL语句是否拼接完成之后,所述方法还包括:
若所述指标SQL语句拼接完成,根据所述目标报表生成查询条件,所述查询条件为所述目标报表的查看信息;
根据所述查询条件对拼接完成的所述指标SQL语句和所述组合语句进行过滤,以展示所述目标报表中所述查询条件涉及的内容;
所述根据目标报表生成指标SQL语句,包括:
根据所述目标报表的不同维度生成所述目标报表的每个维度对应的指标SQL语句;
所述查询所述指标SQL语句和所述组合语句之间的关联关系,并将所述指标SQL语句和所述组合语句进行拼接,包括:
查询每个维度对应的所述指标SQL语句和每个维度对应的所述指标SQL语句对应的所述组合语句之间的关联关系,并将每个维度对应的所述指标SQL语句和每个维度对应的所述指标SQL语句对应的所述组合语句进行拼接;
所述根据目标报表生成指标SQL语句之前,所述方法还包括:
配置所有指标的共有属性,以得到每个指标每个属性对应的语句;
将所述每个指标每个属性对应的语句进行存储;
其中,所述共有属性包括指标计算规则、指标对应的指标SQL语句、指标SQL语句与指标之间规则之间的关联关系。
2.根据权利要求1所述的方法,其特征在于,还包括:
若存在拼接未完成的所述指标SQL语句,根据所述拼接未完成的所述指标SQL语句重新确定组合语句,直到所述指标SQL语句拼接完成。
3.根据权利要求1所述的方法,其特征在于,所述所有指标的共有属性包括基础指标、衍生指标、泛衍生指标;
所述衍生指标通过所述基础指标统计逻辑获得;
所述泛衍生指标为每个所述指标额外的计算类型。
4.一种程序生成系统,其特征在于,包括:
指标语句查询单元,用于根据目标报表生成指标SQL语句;
组合语句查询单元,用于根据所述指标SQL语句确定所述目标报表的组合语句;
关联信息查询单元,用于查询所述指标SQL语句和所述组合语句之间的关联关系,并将所述指标SQL语句和所述组合语句进行拼接;
拼接结果判断单元,用于判断所述指标SQL语句是否拼接完成;
完整语句生成单元,用于若所述指标SQL语句拼接完成,生成所述目标报表对应的完整的SQL语句,以用于程序执行;
其中,所述目标报表对应至少一个指标,所述目标报表的每个指标都配置有相应的所述指标SQL语句,所述指标SQL语句提前存储在数据库中;所述指标SQL语句为所述目标报表中各指标对应的结构化语言,所述组合语句为所述指标SQL语句对应的规则语句;
过滤模块,用于若所述指标SQL语句拼接完成,根据所述目标报表生成查询条件,所述查询条件为所述目标报表的查看信息;根据所述查询条件对拼接完成的所述指标SQL语句和所述组合语句进行过滤,以展示所述目标报表中所述查询条件涉及的内容;
所述指标语句查询单元,还用于根据所述目标报表的不同维度生成所述目标报表的每个维度对应的指标SQL语句;
所述关联信息查询单元,还用于:查询每个维度对应的所述指标SQL语句和每个维度对应的所述指标SQL语句对应的所述组合语句之间的关联关系,并将每个维度对应的所述指标SQL语句和每个维度对应的所述指标SQL语句对应的所述组合语句进行拼接;
存储模块,用于配置所有指标的共有属性,以得到每个指标每个属性对应的语句;将所述每个指标每个属性对应的语句进行存储;其中,所述共有属性包括指标计算规则、指标对应的指标SQL语句、指标SQL语句与指标之间规则之间的关联关系。
5.一种电子设备,其特征在于,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行如权利要求1至3任一所述的方法的步骤。
6.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至3任一所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211641958.XA CN115826928B (zh) | 2022-12-20 | 2022-12-20 | 程序生成方法、系统、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211641958.XA CN115826928B (zh) | 2022-12-20 | 2022-12-20 | 程序生成方法、系统、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115826928A CN115826928A (zh) | 2023-03-21 |
CN115826928B true CN115826928B (zh) | 2024-03-22 |
Family
ID=85517054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211641958.XA Active CN115826928B (zh) | 2022-12-20 | 2022-12-20 | 程序生成方法、系统、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115826928B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942287A (zh) * | 2014-04-10 | 2014-07-23 | 大唐移动通信设备有限公司 | 海量数据处理方法、数据库服务器及应用服务器 |
CN110211646A (zh) * | 2019-05-22 | 2019-09-06 | 浙江大学 | 一种基于OCQL与openEHR的动态可配置医疗报表生成方法 |
CN111967234A (zh) * | 2020-07-29 | 2020-11-20 | 深圳市麦谷科技有限公司 | 可视化报表的生成方法、装置、终端设备和存储介质 |
CN114090608A (zh) * | 2020-07-20 | 2022-02-25 | 北京沃东天骏信息技术有限公司 | 数据报表的生成方法及装置 |
CN114238379A (zh) * | 2021-12-20 | 2022-03-25 | 浙江太美医疗科技股份有限公司 | 基于sql生成器的报表查询方法和系统 |
CN115220731A (zh) * | 2022-07-29 | 2022-10-21 | 招商局金融科技有限公司 | 指标数据获取方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112069201A (zh) * | 2020-09-04 | 2020-12-11 | 北京百度网讯科技有限公司 | 目标数据的获取方法和装置 |
-
2022
- 2022-12-20 CN CN202211641958.XA patent/CN115826928B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942287A (zh) * | 2014-04-10 | 2014-07-23 | 大唐移动通信设备有限公司 | 海量数据处理方法、数据库服务器及应用服务器 |
CN110211646A (zh) * | 2019-05-22 | 2019-09-06 | 浙江大学 | 一种基于OCQL与openEHR的动态可配置医疗报表生成方法 |
CN114090608A (zh) * | 2020-07-20 | 2022-02-25 | 北京沃东天骏信息技术有限公司 | 数据报表的生成方法及装置 |
CN111967234A (zh) * | 2020-07-29 | 2020-11-20 | 深圳市麦谷科技有限公司 | 可视化报表的生成方法、装置、终端设备和存储介质 |
CN114238379A (zh) * | 2021-12-20 | 2022-03-25 | 浙江太美医疗科技股份有限公司 | 基于sql生成器的报表查询方法和系统 |
CN115220731A (zh) * | 2022-07-29 | 2022-10-21 | 招商局金融科技有限公司 | 指标数据获取方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115826928A (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111522816B (zh) | 基于数据库引擎的数据处理方法、装置、终端及介质 | |
US10013439B2 (en) | Automatic generation of instantiation rules to determine quality of data migration | |
US8875110B2 (en) | Code inspection executing system for performing a code inspection of ABAP source codes | |
CN111061833B (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN109359277B (zh) | 数据监控方法、设备及计算机存储介质 | |
US9152662B2 (en) | Data quality analysis | |
CN112559554A (zh) | 一种查询语句优化方法及装置 | |
CN110795455A (zh) | 依赖关系解析方法、电子装置、计算机设备及可读存储介质 | |
CN112445875B (zh) | 数据关联及检验方法、装置、电子设备及存储介质 | |
JP2018026135A (ja) | 静的解析警告の効率的な運用のための原因ポイント解析のためのシステム及び方法 | |
CN114048129A (zh) | 软件功能变更的自动化测试方法、装置、设备及系统 | |
CN111190905A (zh) | 数据库表格处理方法、装置及电子设备 | |
CN108804685B (zh) | 一种资产托管监督任务的处理方法及装置 | |
CN117827923A (zh) | 一种查询需求的处理方法、装置、计算机设备及存储介质 | |
CN115826928B (zh) | 程序生成方法、系统、电子设备及计算机可读存储介质 | |
CN110765100B (zh) | 标签的生成方法、装置、计算机可读存储介质及服务器 | |
CN112631852B (zh) | 宏检查方法、装置、电子设备和计算机可读存储介质 | |
CN115220731A (zh) | 指标数据获取方法、装置、计算机设备及存储介质 | |
CN115455091A (zh) | 数据生成方法、装置、电子设备和存储介质 | |
CN114153461A (zh) | 一种脚本处理方法、装置、电子设备及存储介质 | |
US11831490B1 (en) | Systems, methods, and media for performing information technology service management correlation for infrastructure environment functions | |
US11604629B1 (en) | Automatic workflow generation based on annotated code statements | |
CN115576959B (zh) | 实时质检方法、装置、电子设备及存储介质 | |
CN112700328B (zh) | 一种指标自动分析方法、装置、设备及存储介质 | |
CN112633894A (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 |