公式处理的方法及装置制造方法及图纸

技术编号:18426242 阅读:18 留言:0更新日期:2018-07-12 01:58
本申请实施例提供一种公式解析的方法及装置。本申请实施例对公式进行解析,获得所述公式对应的子公式,并在缓存中查询是否存在所述子公式对应的结果数据;如是,则从缓存中获得所述子公式对应的结果数据,以计算所述公式对应的结果数据;否则,获得所述子公式的运算关系和所述子公式的参数,根据所述运算关系和所述参数确定所述子公式的结果数据,以计算所述公式对应的结果数据本申请实施例可从缓存中获得公式对应的结果数据,在确保数据准确性的基础上,提高了对公式进行批量处理的效率。

Method and device for formula processing

The application embodiment provides a formula analysis method and device. The application embodiment analyzes the formula, obtains the subformula corresponding to the formula, and queries whether there is the result data corresponding to the subformula in the cache; for example, the result data corresponding to the subformula is obtained from the cache to calculate the corresponding fruit data corresponding to the formula; otherwise, the subformula is obtained. The operation relationship and the parameters of the subformula are used to determine the result data of the subformula according to the operational relationship and the parameters, and to calculate the result data in the application example corresponding to the formula, the result data corresponding to the formula can be obtained from the cache, and the formula is improved on the basis of ensuring the accuracy of the data. The efficiency of batch processing.

【技术实现步骤摘要】
公式处理的方法及装置
本申请实施例涉及计算机
,尤其涉及一种公式处理的方法及装置。
技术介绍
报表是记录数据的载体。报表可使用表格、图表等格式来动态、直观地显示数据。在报表中通常设置有公式,公式可根据相关数据直接运算获得结果数据,可在确保准确性的同时,给操作人员带来便利性。因此,报表及其公式已经得到了广泛的应用。在企业级应用的财务系统中,财务人员经常需要做各种财务报表。在具体应用中,财务系统在对公式进行运算处理时,需要从数据库查询获得公式中变量对应的数据。但由于实际应用中的,报表的公式通常比较复杂,并且公式的种类、数量较多,尤其在企业级的合并类报表中,需要对已计算过的公式进行重新计算,因此财务系统会对数据进行频繁操作,数据库的访问次数往往达到数千次,甚至数万次。公式进行运算处理效率很低,耗时少则几十秒,多则数分钟、数十分钟,致使用户体验很差。因此,在确保数据准确性的基础上,提高对公式进行批量处理时的运算效率,成为现有技术中亟需解决的技术问题。
技术实现思路
鉴于上述问题,本申请提供一种公式处理的方法及装置,克服上述问题或者至少部分地解决上述问题。本申请实施例提供一种公式处理的方法,包括:对公式进行解析,获得所述公式对应的子公式,并在缓存中查询是否存在所述子公式对应的结果数据;如是,则从缓存中获得所述子公式对应的结果数据,以计算所述公式对应的结果数据;否则,获得所述子公式的运算关系和所述子公式的参数,根据所述运算关系和所述参数确定所述子公式的结果数据,以计算所述公式对应的结果数据。可选地,在本申请实施例中,所述对公式进行解析,获得所述公式对应的子公式,并在缓存中查询是否存在所述子公式对应的结果数据包括:对公式进行解析,获得所述公式对应的子公式和所述子公式的优先级;根据所述子公式对应的优先级确定所述子公式的顺序,以根据所述子公式的顺序在缓存中查询是否存在所述子公式对应的结果数据。可选地,在本申请实施例中,所述获得所述子公式的运算关系和所述子公式的参数,根据所述运算关系和所述参数确定所述子公式的结果数据包括:使用正则表达式解析所述子公式获得所述子公式的运算关系和所述子公式的参数;在数据库中查询所述参数对应的具体数值,将所述参数对应的具体数值代入所述运算关系进行运算操作,获得所述子公式的结果数据。可选地,在本申请实施例中,所述根据所述运算关系和所述参数确定所述子公式的结果数据包括:根据所述运算关系和所述参数生成可进行运算的数据库操作语句;执行所述可进行运算的数据库操作语句,以获得所述子公式的结果数据。可选地,在本申请实施例中,所述获得所述子公式的运算关系和所述子公式的参数,根据所述运算关系和所述参数确定所述子公式的结果数据,以计算所述公式对应的结果数据之后还包括:将所述子公式和所述子公式对应的结果数据存储到所述缓存中。可选地,在本申请实施例中,所述计算所述公式对应的结果数据之后还包括:根据所述公式和所述公式对应的结果数据生成报表格式数据。一种公式处理的装置,其特征在于,包括:查询模块,配置为对公式进行解析,获得所述公式对应的子公式,并在缓存中查询是否存在所述子公式对应的结果数据;缓存模块,配置为从缓存中获得所述子公式对应的结果数据,以计算所述公式对应的结果数据;运算模块,配置为获得所述子公式的运算关系和所述子公式的参数,根据所述运算关系和所述参数确定所述子公式的结果数据,以计算所述公式对应的结果数据。可选地,在本申请实施例中,所述查询模块包括:优先级获得单元,配置为对公式进行解析,获得所述公式对应的子公式和所述子公式的优先级;顺序确定单元,配置为根据所述子公式对应的优先级确定所述子公式的顺序,以根据所述子公式的顺序在缓存中查询是否存在所述子公式对应的结果数据。可选地,在本申请实施例中,所述运算模块包括:解析单元、配置为使用正则表达式解析所述子公式获得所述子公式的运算关系和所述子公式的参数;计算单元、配置为在数据库中查询所述参数对应的具体数值,将所述参数对应的具体数值代入所述运算关系进行运算操作,获得所述子公式的结果数据。可选地,在本申请实施例中,所述运算模块进一步配置为:根据所述运算关系和所述参数生成可进行运算的数据库操作语句;执行所述可进行运算的数据库操作语句,以获得所述子公式的结果数据。可选地,在本申请实施例中,所述缓存模块进一步配置为:将所述子公式和所述子公式对应的结果数据存储到所述缓存中。可选地,在本申请实施例中,所述装置还包括:报表生成模块,配置为根据所述公式和所述公式对应的结果数据生成报表格式数据。由以上技术方案可见,本申请实施例可将公式解析成子公式,在缓存中查询子公式对应的结果数据,如缓存中不存在所述结果数据时,对获得所述子公式的运算关系和参数,并进行运算处理获得子公式对应的结果数据,以计算公式对应的结果数据。本申请实施例可从缓存中获得公式对应的结果数据,在确保数据准确性的基础上,提高了对公式进行批量处理的效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是本申请一种公式处理的方法的一实施例的流程图;图2是本申请一种公式处理的方法的另一实施例的流程图;图3是本申请一种公式处理的方法的另一实施例的流程图;图4是本申请一种公式处理的方法的另一实施例的流程图;图5是本申请一种公式处理的方法的另一实施例的流程图;图6是本申请一种公式处理装置的一实施例的结构图;图7是本申请一种公式处理装置的另一实施例的结构图;图8是本申请一种公式处理装置的另一实施例的结构图;图9是本申请一种公式处理装置的另一实施例的结构图;图10是本申请一执行公式处理方法的一电子设备的硬件结构示意图。具体实施方式本申请实施例可将公式解析成子公式,在缓存中查询子公式对应的结果数据,如缓存中不存在所述结果数据时,对获得所述子公式的运算关系和参数,并进行运算处理获得子公式对应的结果数据,以计算公式对应的结果数据。本申请实施例可从缓存中获得公式对应的结果数据,在确保数据准确性的基础上,提高了对公式进行批量处理的效率。当然,实施本申请实施例的任一技术方案不必一定需要同时达到以上的所有优点。为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本申请实施例保护的范围。下面结合本申请实施例附图进一步说明本申请实施例具体实现。参见图1,在本申请一具体实现中,所述公式处理的方法包括:S101、对公式进行解析,获得所述公式对应的子公式,并在缓存中查询是否存在所述子公式对应的结果数据。具体地,在本实施例中,所述公式可由至少一个子公式构成。例如,公式01:公司的销售总额=A产品的销售总额+B产品的销售总额。本步骤可将公式01解析出至少一个子公式:子公式02(A产品的销售总额)和子公式03(B产品的销售总额)。本实施本文档来自技高网...

【技术保护点】
1.一种公式处理的方法,其特征在于,包括:对公式进行解析,获得所述公式对应的子公式,并在缓存中查询是否存在所述子公式对应的结果数据;如是,则从缓存中获得所述子公式对应的结果数据,以计算所述公式对应的结果数据;否则,获得所述子公式的运算关系和所述子公式的参数,根据所述运算关系和所述参数确定所述子公式的结果数据,以计算所述公式对应的结果数据。

【技术特征摘要】
1.一种公式处理的方法,其特征在于,包括:对公式进行解析,获得所述公式对应的子公式,并在缓存中查询是否存在所述子公式对应的结果数据;如是,则从缓存中获得所述子公式对应的结果数据,以计算所述公式对应的结果数据;否则,获得所述子公式的运算关系和所述子公式的参数,根据所述运算关系和所述参数确定所述子公式的结果数据,以计算所述公式对应的结果数据。2.根据权利要求1所述的方法,其特征在于,所述对公式进行解析,获得所述公式对应的子公式,并在缓存中查询是否存在所述子公式对应的结果数据包括:对公式进行解析,获得所述公式对应的子公式和所述子公式的优先级;根据所述子公式对应的优先级确定所述子公式的顺序,以根据所述子公式的顺序在缓存中查询是否存在所述子公式对应的结果数据。3.根据权利要求1所述的方法,其特征在于,所述获得所述子公式的运算关系和所述子公式的参数,根据所述运算关系和所述参数确定所述子公式的结果数据包括:使用正则表达式解析所述子公式获得所述子公式的运算关系和所述子公式的参数;在数据库中查询所述参数对应的具体数值,将所述参数对应的具体数值代入所述运算关系进行运算操作,获得所述子公式的结果数据。4.根据权利要求1所述的方法,其特征在于,所述根据所述运算关系和所述参数确定所述子公式的结果数据包括:根据所述运算关系和所述参数生成可进行运算的数据库操作语句;执行所述可进行运算的数据库操作语句,以获得所述子公式的结果数据。5.根据权利要求1所述的方法,其特征在于,所述获得所述子公式的运算关系和所述子公式的参数,根据所述运算关系和所述参数确定所述子公式的结果数据,以计算所述公式对应的结果数据之后还包括:将所述子公式和所述子公式对应的结果数据存储到所述缓存中。6.根据权利要求1所述的方法...

【专利技术属性】
技术研发人员:于强刘凤超王恒峰
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1