一种基于公式解析的复杂指标集计算方法和系统的制作方法

文档序号:9646541阅读:265来源:国知局
一种基于公式解析的复杂指标集计算方法和系统的制作方法
【技术领域】
[0001]本发明涉及数据信息化技术领域,特别涉及一种基于公式解析的复杂指标集计算 方法和系统。
【背景技术】
[0002] 随着企业规模逐渐扩大,企业中各类数据、衍生数据的数量也会随之增加,数据间 的关系会越来越复杂,这些关系包括衍生关系、父子关系等。现有的数据处理技术领域中将 数据分为基础数据、衍生数据、父数据。其中不依赖于其他数据的数据称为基础数据,基础 数据可以直接获得或通过底层数据统计获得;而衍生数据是指通过其他数据得到的,而通 过多个基础数据或衍生数据结合形成的数据称为父数据。
[0003] 现有技术中很多企业都通过EXCEL表来管理这些数据形成的数据集,并在数据库 中用公式描述数据间的各种关系。在录入数据时需要先将基础数据录入,才能够根据这些 基础数据和公式来获取衍生数据。但是在针对拥有大量数据和复杂数据关系的数据集进行 统计时,会导致持续计算量呈指数级别增加;特别是当新增数据类型和新增/修改公式时, 其工作量更是难以接受的。在随着公式量的不断增加和公式不断改变,维护人员不得不面 对Excel中大量的没有明确含义的单元格名,并需要在不同的sheet页中寻找需要的数据 位置,会导致工作量增加且很容易出错。

【发明内容】

[0004] 为解决现有技术中的问题,本发明实施例提供了一种基于公式解析的复杂指标集 计算方法和系统,能够自动处理以应对大量数据和复杂数据关系的数据集。
[0005] 为达到上述目的,本发明实施例提出了一种基于公式解析的复杂指标集计算方 法,包括: 确定数据标准化模型的参数,所述参数包括数据集中数据的维度、度量值、衍生值; 确定数据集中的基础数据Datax,并将所述基础数据表示为Datax= {Nameb,Valueb},其 中Nameb为该基础数据的名称,Valueb为该基础数据的数据值; 确定数据集中的非基础数据Datay,对所述非基础数据进行表示,以将所述非基础 数据表示为至少一个或多个子数据的四则运算;即将所述非基础数据Datay表示为: Datay=f{Dataj,Data2......DataJ;其中Data^Data;;......Datan为用于计算该非基础数据的 子数据的数值其中所述子数据为基础数据或非基础数据; 将每一非基础数据表示为树形结构,所述树形结构的端点为用于生成所述非基础数据 的四则运算符,且所述树形结构的每一分支为用于生成所述非基础数据的子数据; 对生成的所有非基础数据对应的公式进行排序,以使每一非基础数据所引用的子数据 对应的公式排在该非基础数据对应的公式之前; 然后根据排序后的公式生成可执行语句; 导入基础数据,然后按照顺序执行所述可执行语句。
[0006] 其中,所述数据的维度是数据的外部特性;所述度量值为数据在特定维度组合下 的取值结果;所述衍生值是数据本身通过计算得到的有相对意义的度量值。
[0007] 其中,所述树形结构是通过LR语法规则解析出来的。
[0008] 其中,对生成的所有非基础数据对应的公式进行排序,以使每一非基础数据所引 用的子数据对应的公式排在该非基础数据对应的公式之前,具体包括: 步骤S501、将所述基础数据标示为true并将所有非基础数据标示为false; 步骤S502、遍历所有标示为flase的指标,以判断是否还有被标示为false的数据,如 果否则步骤结束; 步骤S503、对依赖的指标标示求交集,如果求交集结果为true则将该非基础数据的标 示置为true,将公式添加到计算队列,并返回步骤S502,如果求交集结果为false则返回步 骤S502。
[0009] 其中,所述方法还包括:当更改公式或新增公式时,重新对公式进行排序。
[0010]同时,本发明实施例还提出了一种基于公式解析的复杂指标集计算系统,包括: 参数确定单元,用于确定数据标准化模型的参数,所述参数包括数据集中数据的维度、 度量值、衍生值; 基础数据标示单元,用于确定数据集中的基础数据Datax,并将所述基础数据表示为Datax={Nameb,ValueJ,其中Nameb为该基础数据的名称,Valueb为该基础数据的数据值; 非基础数据标示单元,用于确定数据集中的非基础数据Datay,对所述非基础数据进 行表示,以将所述非基础数据表示为至少两个子数据;即将所述非基础数据Datay表示为: Datay=f{Dataj,Data2......DataJ;其中Data^Data;;......Datan为用于计算该非基础数据的 子数据;其中所述子数据为基础数据或非基础数据; 解析单元,用于将每一非基础数据表示为树形结构,所述树形结构的端点为用于生成 所述非基础数据的四则运算符,且所述树形结构的每一分支为用于生成所述非基础数据的 子数据; 排序单元,用于对生成的所有非基础数据对应的公式进行排序,以使每一非基础数据 所引用的子数据对应的公式排在该非基础数据对应的公式之前; 生成单元,用于根据排序后的生成可执行语句; 执行单元,用于导入基础数据,然后按照顺序执行所述可执行语句。
[0011] 其中,所述数据的维度是数据的外部特性;所述度量值为数据在特定维度组合下 的取值结果;所述衍生值是数据本身通过计算得到的有相对意义的度量值。
[0012] 其中,所述树形结构是通过LR语法规则解析出来的。
[0013] 其中,所述排序单元采用以下方式进行排序: 步骤S501、将所述基础数据标示为true并将所有非基础数据标示为false; 步骤S502、遍历所有标示为flase的指标,以判断是否还有被标示为false的数据,如 果否则步骤结束; 步骤S503、对依赖的指标标示求交集,如果求交集结果为true则将该非基础数据的标 示置为true,将公式添加到计算队列,并返回步骤S502,如果求交集结果为false则返回步 骤S502。
[0014] 其中,所述方法还包括:当更改公式或新增公式时,重新对公式进行排序。
[0015] 本发明的有益效果如下:本发明实施例设计了一种基于公式解析的复杂指标集计 算方法和系统,可以自动数据进行解析并采用统一的公式进行表述,这样就可以自动将许 多原先需要由人工处理的工作交给了计算机来完成,解决了人工处理时低效、低可读性、易 出错、难扩展的种种问题,并且能够实现数据集计算的完全自动化,以及提供了更强大的数 据维度和度量的扩展能力。
【附图说明】
[0016] 图1为本发明实施例的流程示意图; 图2为基于公式解析的复杂数据集计算系统数据流图; 图3为基于公式解析的复杂数据集计算方法流程图; 图4为数据计算公式的新增和变更流程图; 图5为语法树的示意图; 图6为数据计算语句排序流程图。
【具体实施方式】
[0017] 本发明的核心思想是:通过一种人和计算机都能识别的数据公式描述语言,配合 解析装置,实现比传统方法更好的可读性、维护性和扩展性,并且能够支持自动化的批量运 算,使得在处理拥有数千甚至上万条数据的复杂数据集时,仍然能够保持很高的执行效率。
[0018] 本发明实施例提出了一种基于公式解析的复杂指标集计算方法,包括: 确定数据标准化模型的参数,所述参数包括数据集中数据的维度、度量值、衍生值; 确定数据集中的基础数据Datax,并将所述基础数据表示为Datax= {Nameb,Va
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1