一种基于多维模型的指标计算引擎实现方法技术

技术编号:29675021 阅读:16 留言:0更新日期:2021-08-13 21:57
本发明专利技术涉及信息技术领域,提供了一种基于多维模型的指标计算引擎实现方法。主旨在于解决数据指标口径不一、数据不准确,数据加工逻辑硬代码堆叠、重复加工,跑批交叉依赖、跑批运算耗时长问题。主要方案包括构建多维模型表和维度表,为指标计算提供数据来源;根据多维模型表进行指标计算逻辑设计,分别得到基础指标引擎配置表、加减法指标引擎配置表和乘除法指标配置表;调用基础指标引擎配置表,计算得到基础指标计算结果;调用加减法指标引擎配置表,计算得到加减法指标计算结果;调用乘除法指标引擎配置表,将乘除法指标引擎配置表,计算得到乘除法指标计算结果。然后将得到的指标计算结果作为数据接口,对外提供服务。

【技术实现步骤摘要】
一种基于多维模型的指标计算引擎实现方法
本专利技术涉及信息
,提供了一种基于多维模型的指标计算引擎实现方法。
技术介绍
目前银行系统各应用系统自建报表和加工指标,或者基于主题的数据集市搭建主题域内数据报表应用,但是仍然解决不好全行级数据统一管理、统一计算、统一用数问题。造成数据指标无归口部门管理,数据质量较难定位和提升,指标计算效率低,批处理交叉依赖,各系统重复造轮子重复编码等问题。
技术实现思路
本专利技术的目的在于构建全行级指标库,提供数据接口服务和报表加工数据源,支持全行T+1日用数需求,解决了数据指标口径不一、数据不准确,数据加工逻辑硬代码堆叠、重复加工,跑批交叉依赖、跑批运算耗时长等技术问题;未解决上述技术问题,本专利技术采用以下技术手段:本专利技术提供了一种基于多维模型的指标计算引擎实现方法,包括以下步骤:步骤1、构建多维模型表和维度表,为指标计算提供数据来源;步骤2、根据多维模型表进行指标计算逻辑设计,分别得到基础指标引擎配置表和衍生指标引擎配置表,其中衍生指标引擎配置表包括加减法指标引擎配置表和乘除法指标配置表;步骤3、调用基础指标引擎配置表,将基础指标引擎配置表里指标的度量解析成多个计算度量,同时解析技术口径、维度、运算公式生成动态SQL语句,封装成程序模板并执行,得到基础指标计算结果;步骤4、基于基础指标计算结果,调用加减法指标引擎配置表,将加减法指标引擎配置表里的技术口径结合加减法指标口径表解析成加减法运算公式,同时解析运算公式、运算顺序和运算层级生成动态SQL语句,然后封装成对应程序模板并执行,得到加减法指标计算结果;步骤5、基于基础指标和加减法指标的计算结果,调用乘除法指标引擎配置表,将乘除法指标引擎配置表里的技术口径解析成乘除运算公式,同时解析运算公式、运算顺序和运算层级生成动态SQL语句,然后封装成对应程序模板并执行,得到乘除法指标计算结果。步骤6、得到的基础指标计算结果、加减法指标计算结果、乘除法指标计算结果,作为数据接口,对外提供服务。上述技术方案中,所述的步骤2包括以下步骤:步骤2.1:配置基础指标的技术口径,根据多维模型表中的一个或多个维度以及维度的值,按固定格式配置,直接读取值拼装动态语句而不需要再解析;步骤2.2:配置基础指标的度量,指标的统计频度(如:月,季,年)对应着的不同频度的度量字段(M_AVG_BAL、Q_AVG_BAL、Y_AVG_BAL),必须来自多维模型表,且按固定格式“|”来拼接配置;步骤2.3:配置基础指标的维度,常用维度必须来自多维模型表,且按固定格式配置,程序模板读取后直接拼装成动态语句,指标计算时按这些常用维度进行分组统计指标值;步骤2.4:配置基础指标的运算公式,统计函数SUM或者COUNT;步骤2.5:配置基础指标调用的程序模板编号,每个指标均配置有调用该指标的程序模板的编号;;步骤2.6:配置加减法指标的基础信息,如指标代码、指标名称、技术口径、指标类型、运算公式、指标层级、涉及到的程序模板编号;步骤2.7:配置加减法指标口径表,用来解析加减法运行公式;步骤2.9:配置乘除法指标的基础信息,如指标代码、指标名称、指标类型、程序模板编号;步骤2.10:配置乘除法指标技术口径,必须拆解成二维乘除,如果涉及到多维相乘除需要拆解二维乘除和计算层级来处理。例如:指标d=a/b/c,需要拆解为先计算d1=a/b,再计算d=d1/c;步骤2.11:配置乘除法指标层级、执行顺序,需遵守从MIN级往最高计算层级循环运算,同时同计算层级里配置好执行先后顺序。上述技术方案中,还包括,配置基础指标业务类别,按业务主题划分,对应不同的程序模板,以满足多个主题的指标能并发计算,提高计算效率。上述技术方案中,步骤3中模板程序执行具体步骤包含:步骤3.1:将同一个模板程序调用的基础指标引擎配置表中的记录集传给游标;步骤3.2:将游标里记录集进行遍历循环,判断记录集是否读取完,如果是,则结束该程序模板的执行;如果否,跳转步骤3.3执行单个指标的计算;步骤3.3:将加减法引擎配置表里指标的度量解析成多个计算度量,同时解析技术口径、维度生成动态SQL语句;步骤3.4:执行该动态SQL语句;步骤3.5:将执行结果信息写入日志表;步骤3.6:提交单个指标计算结果入库;步骤3.7:循环回到3.2步骤直到全部记录执行完成;步骤3.8:基础指标各模板程序可并行执行计算,提高总计算效率;上述技术方案中,步骤4中模板程序执行具体步骤包含:步骤4.1:从同一个模板程序(按公式类型分)调用的加减法指标引擎配置表中的记录集中,计算出最大指标层级MAX;然后按指标层级从MIN级到MAX级循环批量计算指标值;步骤4.2:判断当前指标层级变量(默认1)是否小于等于MAX值,如果不是,则结束该模板程序的执行;如果是,则跳转步骤4.3执行该层级指标下一步计算;步骤4.3:将该层级指标计算的指标结果集表、加减法指标引擎配置表、加减法指标口径表三张表做关联,依据加减法口径解析、运算公式、技术口径规则进行批量运算;步骤4.4:将该层级的指标结果集插入到结果集表中;步骤4.5:将执行结果相关信息写入日志表;步骤4.6:提交该层级指标计算结果入库;步骤4.7:指标层级变量+1,并返回到4.2步骤,判断新的层级值是否继续循环,直到全部层级执行完成,结束和跳出该模板程序执行。步骤4.8:衍生指标(加减法)各程序模板可并行执行计算,提高总计算效率;上述技术方案中,步骤5中模板程序执行具体步骤包含:步骤5.1:从同一个模板程序调用的乘除法指标引擎配置表中的记录集中,计算出最大指标层级MAX;然后按指标层级从MIN级到MAX级循环计算指标值;步骤5.2:判断当前指标层级变量(默认MIN)是否小于等于MAX值,如果不是,则结束该程序模板的执行;如果是,则跳转步骤5.3执行下一步;步骤5.3:把调用该模板程序的指标记录集传给游标进行FORINLOOP循环;步骤5.4:将游标里记录集进行遍历循环,判断记录集是否读取完,如果是,则结束该模板程序的执行;如果否,则执行单个指标的计算;步骤5.5:根据解析技术口径解析出乘除法的运算公式,生成动态SQL语句并执行,将执行结果信息写入日志表后提交该指标计算结果入库;步骤5.6:循环回到5.4步骤直到该计算层级全部记录执行完成,跳出FORINLOOP循环;步骤5.7:指标层级变量+1,并返回到5.2步骤,判断新的层级值是否满足继续循环条件,直到全部层级执行完成,结束和跳出该模板程序执行;因为本专利技术采用上述技术方案,因此具备以下有益效果:一、基于全行级指标库统一管理、统一运算,统一监控,避免各应用系统重复计算,跑批调度交叉依赖造成工作量巨大且无法本文档来自技高网...

【技术保护点】
1.一种基于多维模型的指标计算引擎实现方法,其特征在于,包括以下步骤:/n步骤1、构建多维模型表和维度表,为指标计算提供数据来源;/n步骤2、根据多维模型表进行指标计算逻辑设计,分别得到基础指标引擎配置表和衍生指标引擎配置表,其中衍生指标引擎配置表包括加减法指标引擎配置表和乘除法指标配置表;/n步骤3、调用基础指标引擎配置表,将基础指标引擎配置表里指标的度量解析成多个计算度量,同时解析技术口径、维度、运算公式生成动态SQL语句,封装成程序模板并执行,得到基础指标计算结果;/n步骤4、基于基础指标计算结果,调用加减法指标引擎配置表,将加减法指标引擎配置表里的技术口径结合加减法指标口径表解析成加减法运算公式,同时解析运算公式、运算顺序和运算层级生成动态SQL语句,然后封装成对应程序模板并执行,得到加减法指标计算结果;/n步骤5、基于基础指标和加减法指标的计算结果,调用乘除法指标引擎配置表,将乘除法指标引擎配置表里的技术口径解析成乘除运算公式,同时解析运算公式、运算顺序和运算层级生成动态SQL语句,然后封装成对应程序模板并执行,得到乘除法指标计算结果;/n步骤6、根据基础指标计算结果、加减法指标计算结果、乘除法指标计算结果,形成数据接口,对外提供服务。/n...

【技术特征摘要】
1.一种基于多维模型的指标计算引擎实现方法,其特征在于,包括以下步骤:
步骤1、构建多维模型表和维度表,为指标计算提供数据来源;
步骤2、根据多维模型表进行指标计算逻辑设计,分别得到基础指标引擎配置表和衍生指标引擎配置表,其中衍生指标引擎配置表包括加减法指标引擎配置表和乘除法指标配置表;
步骤3、调用基础指标引擎配置表,将基础指标引擎配置表里指标的度量解析成多个计算度量,同时解析技术口径、维度、运算公式生成动态SQL语句,封装成程序模板并执行,得到基础指标计算结果;
步骤4、基于基础指标计算结果,调用加减法指标引擎配置表,将加减法指标引擎配置表里的技术口径结合加减法指标口径表解析成加减法运算公式,同时解析运算公式、运算顺序和运算层级生成动态SQL语句,然后封装成对应程序模板并执行,得到加减法指标计算结果;
步骤5、基于基础指标和加减法指标的计算结果,调用乘除法指标引擎配置表,将乘除法指标引擎配置表里的技术口径解析成乘除运算公式,同时解析运算公式、运算顺序和运算层级生成动态SQL语句,然后封装成对应程序模板并执行,得到乘除法指标计算结果;
步骤6、根据基础指标计算结果、加减法指标计算结果、乘除法指标计算结果,形成数据接口,对外提供服务。


2.根据权利要求1一种基于多维模型的指标计算引擎实现方法,其特征在于,所述的步骤2包括以下步骤:
步骤2.1:配置基础指标的技术口径,根据多维模型表中的一个或多个维度以及维度的值,按固定格式配置,直接读取值拼装动态语句而不需要再解析;
步骤2.2:配置基础指标的度量,指标的统计频度对应着的不同频度的度量字段,必须来自多维模型表,且按固定格式“|”来拼接配置;
步骤2.3:配置基础指标的维度,常用维度必须来自多维模型表,且按固定格式配置,程序模板读取后直接拼装成动态语句,指标计算时按这些常用维度进行分组统计指标值;
步骤2.4:配置基础指标的运算公式,统计函数SUM或者COUNT;
步骤2.5:配置基础指标调用的程序模板编号,每个指标均配置有调用该指标的程序模板的编号;
步骤2.6:配置加减法指标的基础信息,如指标代码、指标名称、技术口径、指标类型、运算公式、指标层级、涉及到的程序模板编号;
步骤2.7:配置加减法指标口径表,用来解析加减法运行公式;
步骤2.9:配置乘除法指标的基础信息,如指标代码、指标名称、指标类型、程序模板编号;
步骤2.10:配置乘除法指标技术口径,必须拆解成二维乘除,如果涉及到多维相乘除需要拆解二维乘除和计算层级来处理;
步骤2.11:配置乘除法指标层级、执行顺序,需遵守从MIN级往最高计算层级循环运算,同时同计算层级里配置好执行先后顺序。


3.根据权利要求2所述的一种基于多维模型的指标计算引擎实现方法,其特征在于,还包括,配置基础指标业务类别,按业务主题划分,对应不同的程序模板,以满足多个主...

【专利技术属性】
技术研发人员:阮超李耀彭磊杨志文
申请(专利权)人:武汉众邦银行股份有限公司
类型:发明
国别省市:湖北;42

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

1