CN113553533A - 一种基于数字化内部五级市场考核体系的指标计算方法 - Google Patents

一种基于数字化内部五级市场考核体系的指标计算方法 Download PDF

Info

Publication number
CN113553533A
CN113553533A CN202110648709.2A CN202110648709A CN113553533A CN 113553533 A CN113553533 A CN 113553533A CN 202110648709 A CN202110648709 A CN 202110648709A CN 113553533 A CN113553533 A CN 113553533A
Authority
CN
China
Prior art keywords
data
index
indexes
factor
index calculation
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
Application number
CN202110648709.2A
Other languages
English (en)
Inventor
魏蓉
黄陟
汪争贤
谢道清
钱维
杨海林
王治国
吴建琳
何旭
杜强
吴桂园
樊晓路
李献立
陈胡嵘
程华龙
夏禹晨
俞惠园
宋锐
汪全雨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Anhui Electric Power Co Ltd
Original Assignee
State Grid Anhui Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Anhui Electric Power Co Ltd filed Critical State Grid Anhui Electric Power Co Ltd
Priority to CN202110648709.2A priority Critical patent/CN113553533A/zh
Publication of CN113553533A publication Critical patent/CN113553533A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06393Score-carding, benchmarking or key performance indicator [KPI] analysis

Abstract

本发明公开一种基于数字化内部五级市场考核体系的指标计算方法,其包括步骤:准备数据标签:将所有指标的计算数据源对应配置信息存储在数据库中,配置信息包括不同指标的不同相关因子数据及其形成的因子表;加载指标公式和相关因子:将所有指标加载至数据中台,Spark读取所指标的计算公式,将计算公式中涉及的所有因子数据及因子表都拉取至spark引擎中;解析指标计算公式:将所有指标jep的jar包反编译得到对应的.java格式的代码,再将.java文件修改为.scala文件嵌入至Spark引擎代码中。本发明通过Spark引擎动态拉取不同数据源的数据带入指标化公式中,以实现自动化动态计算出相关公式化的指标。

Description

一种基于数字化内部五级市场考核体系的指标计算方法
技术领域
本发明涉及计算机技术领域,更具体地说,本发明涉及一种基于数字化内部五级市场考核体系的指标计算方法。
背景技术
Spark是加州大学伯克利分校AMP(Algorithms,Machines,and People Lab)实验室开发的通用内存并行计算框架,Spark是大数据中常用的计算引擎。Jep是Javaexpression parser的简称,即java表达式分析器,Jep是一个用来转换和计算数学表达式的java库。通过这个程序包,用户可以以字符串的形式输入一个、任意的公式,然后快速地计算出结果。Jep支持用户自定义变量、常量和函数,包括许多常用的数学函数和常量。
现有技术中,java的单节点内存计算限制导致Jep无法快速实现大规模的数据分析计算功能,通常采用Spark进行大规模的数据分析运算。但是,由于计算引擎只针对微批量数据做计算,在实际的应用中对于可以数学公式化预定义的指标无法做到自动拉取数据带入公式计算出相关结构的功能。
发明内容
针对上述技术中存在的不足之处,本发明提供一种基于数字化内部五级市场考核体系的指标计算方法,用于解决大规模并发数据计算情况下无法自动解析公式化指标的问题,通过Spark引擎动态拉取不同数据源的数据带入指标化公式中,以实现自动化动态计算出相关公式化的指标。
为了实现根据本发明的这些目的和其它优点,本发明通过以下技术方案实现:
本发明实施例提供一种基于数字化内部五级市场考核体系的指标计算方法,其包括以下步骤:
准备数据标签:将所有指标的计算数据源对应配置信息存储在数据库中,所述配置信息包括不同指标的不同相关因子数据及其形成的因子表;
加载指标公式和相关因子:将待计算的所有指标加载至数据中台,Spark读取所有指标的计算公式,将所有指标计算公式中涉及的所有因子数据及因子表都拉取至spark引擎中;
解析指标计算公式:将所有指标jep的jar包反编译得到对应的.java格式的代码,再将.java文件修改为.scala文件嵌入至Spark引擎代码中。
优选的是,将待计算的所有指标加载至数据中台后,还包括步骤:
将所述指标的所有相关因子数据按照Key分组,分别计算出各相关因子的指标值拉取至spark引擎中。
优选的是,解析指标计算公式时,还包括步骤:
若缺省数据源因子数据,根据缺省原因不同将指标赋予不同默认值,备注缺省原因。
优选的是,根据缺省原因不同将指标赋予不同默认值,包括:
若实际没有该数据源因子数据或计算存在错误,将指标赋予默认值0;
若某些指标超出计算范围,将指标赋予默认值20。
优选的是,解析指标计算公式后,还包括步骤:将解析后的数据编码替换为实际因子数据源表中的数据。
优选的是,解析指标计算公式后,还包括步骤:
指标结果数据动态存储:将所有解析计算出的指标,根据指标标签以及配置信息的数据库存储位置,动态连接不同的结果数据表,将结果值存储值相应的数据库表中。
优选的是,将所有指标计算公式中涉及的所有因子数据及因子表都拉取至spark引擎时采用groupbykey算子。
本发明至少包括以下有益效果:
(1)本发明提供的基于数字化内部五级市场考核体系的指标计算方法,将指标所用到的相关数据包括不同指标的不同相关因子数据及其形成的因子表打上标签,通过前缀标签动态找到数据来源,提高数据获取的效率;
(2)本发明将待计算的所有指标加载至数据中台,Spark读取所有指标的计算公式,将所有指标计算公式中涉及的所有因子数据及因子表都拉取至spark引擎中,并将所有指标jep的jar包反编译得到对应的.java格式的代码,再将.java文件修改为.scala文件嵌入至Spark引擎代码中,通过Spark引擎动态拉取不同数据源的数据带入指标化公式中,以实现自动化动态计算出相关公式化的指标,即可实现指标公式化,只要简单的调整指标的计算公式,就可获得新的计算公式下指标值,提高效率也更加灵活;同时也实现了自定义函数配置,新增部分自定义函数的逻辑即可。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所述的基于数字化内部五级市场考核体系的指标计算方法的流程示意图;
图2为本发明所述的基于数字化内部五级市场考核体系的指标计算时数据收发关系示意图。
具体实施方式
下面将结合附图对本发明实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面所述的本发明不同实施方式中使用的诸如“具有”、“包含”以及“包括”术语并不排除一个或多个其它元件或其组合的存在或添加;所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
如图1-2所示,本发明实施例提供一种基于数字化内部五级市场考核体系的指标计算方法,其包括以下步骤:
S10,准备数据标签:将所有指标的计算数据源对应配置信息存储在数据库中,配置信息包括不同指标的不同相关因子数据及其形成的因子表;
S20,加载指标公式和相关因子:将待计算的所有指标加载至数据中台,Spark读取所有指标的计算公式,将所有指标计算公式中涉及的所有因子数据及因子表都拉取至spark引擎中;
S30,解析指标计算公式:将所有指标jep的jar包反编译得到对应的.java格式的代码,再将.java文件修改为.scala文件嵌入至Spark引擎代码中。
上述实施方式中,步骤S10中的数据标签其实就是指所有指标的计算数据源对应的配置信息。将所有指标的计算数据源对应配置信息存储在数据库中,具体地,以数字化内部五级市场考核体系为例,指标编码统一为ZB_SC02001,其中,SC02代表该指标为二级市场指标,指标对应的计算逻辑为YS_SC02001+YS_SC25001。计算时根据指标计算公式的数据来源标签(如指标1相关因子为YS_SC02001,YS_SC25001表示该指标构成因子来自二级市场的因子值以及2.5级市场的因子值表中),通过正则解析所有指标公式涉及的相关因子,获取目标数据源的因子表,然后分组统计用到的所有指标公式涉及的表以及每张表涉及的数据,批量查询各个表中的相关因子数据,动态拉取不同数据源的配置信息(通过SC02,SC25去配置表中找到对应的因子值表名分别为表2和表2.5),实现Spark计算引擎可以动态连接不同的数据源拉取对应的因子数据准备计算。
步骤S20用于加载指标公式及相关因子至Spark引擎中。具体地,将待计算的所有指标加载至数据中台,还优选包括进一步的步骤:将指标的所有相关因子数据按照Key分组(各个市场成员id作为key,按照key分组),分别计算出各相关因子的指标值拉取至spark引擎中。这是由于标准化统一输出,如100家公司每家公司都有各自的因子A_001值,所以将所有指标相关因子数据按照key分组,分别计算出各自的指标值,如(ZB1:A_001+A_002-B_002)涉及100家公司的A_001,A_002,B_002的值,需要按照公司分组分别计算各自的指标值。作为进一步的优选,加载指标公式及相关因子数据至Spark引擎采用groupbykey算子(按照各个市场成员id作为key分组求值的算子),提高指标计算的并发度,将计算逻辑和数据分布式分发到不同机器,从而达到快速shuffer的目的。
步骤S30用于解析指标计算公式,这是因为原有的jep源码由java语言编写完成,但是spark是由scala语言编写完成,两种语言中数据类型的定义,数据类型的转换较麻烦甚至无法转换,而且原有的jep程序包只有部分常用函数,增加了大量自定义的内置函数,例如,特殊情况下分母为0的除法需要默认为0使用函数DIV(A,B)即可。而在使用中java语言和scala语言中数据类型转换繁琐,修改部分源码可使jep和spark使用的数据保持一致。为了保持数据类型一致性,需要改用scala重新编写jep源码将jep嵌入至spark引擎代码中,即将所有指标jep的jar包反编译得到对应的.java格式的代码,再将.java文件修改为.scala文件嵌入至Spark引擎代码中。这里,优选通过JD-GUI(JD-GUI是一个用于Java编程语言源代码“.class”文件反编译软件,可使用JD-GUI中文版浏览和重建源代码的即时访问方法和字段,以代码高度方式来显示反编译过来的代码)将所有指标jep的jar包反编译得到对应的.java格式的代码。由于公式中均为数据编码,如:(YS_SC02001+YS_SC25001)/YS_SC02002,作为进一步优选,需要将指标公式数据中的编码替换为实际因子数据源表中的数据,即将(YS_SC02001+YS_SC25001)/YS_SC02002替换为(1+2)/3。
步骤S30中解析指标计算公式时,还包括步骤:若缺省数据源因子数据,根据缺省原因不同将指标赋予不同默认值,备注缺省原因。因为原有的jep源码的java语言与spark的scala语言之间转化存在一些特别的情况,比如转换过程中的缺省,这时候需要根据缺省的不同原因,将指标对应赋予不同的默认值,并注明缺省情况,以备查询。更进一步的优选,若实际没有该数据源因子数据或计算存在错误,将指标赋予默认值0;若某些指标超出计算范围,将指标赋予默认值20。现举例说明:针对指标缺少数据的情况,如(YS_SC02001+YS_SC25001)/YS_SC02002,但,实际数据没有YS_SC02002的数据时,赋予指标一定默认值0并备注原因;针对错误条件下如分母为0时,赋予指标一定默认值如0并备注原因;针对某些特殊指标在特殊情况下的赋值如:指标ZB_SC02001=(YS_SC02001+YS_SC25001)/YS_SC02002,当YS_SC25001>100时,指标需要赋值默认值20。
作为上述实施方式的进一步优选,解析指标计算公式后,还包括步骤:
S40,指标结果数据动态存储:将所有解析计算出的指标,根据指标标签以及配置信息的数据库存储位置,动态连接不同的结果数据表,将结果值存储值相应的数据库表中。例如:ZB_SC02001标签为SC02找到配置的存储表为表ZBSC02。
根据上述提供的实施方式可知,本发明提供的一种基于数字化内部五级市场考核体系的指标计算方法,一方面,通过步骤S10,可实现多数据来源可配置,将指标所用到的相关数据打上标签,通过前缀标签动态找到数据来源,对比现有技术中采取人为分别数据来源、整理相关数据再获取数据更加灵活;另一方面,相对于现有技术的指标计算需要人为整理大量的计算逻辑、固定在代码中二次阅读或者后期调整维护都比较麻烦以及大规模并发数据计算情况下无法自动解析公式化指标的问题,本发明通过步骤S20和步骤S30,通过Spark引擎动态拉取不同数据源的数据带入指标化公式中,以实现自动化动态计算出相关公式化的指标,即可实现指标公式化,函数自定义化,只要简单的调整指标的计算公式,就可以获得新的计算公式下指标值,提高效率也更加灵活;另外,在某些特殊的业务逻辑下,可能需要一些自定义的部分函数,例如分母为0时部分值置为0,这个在原有的数学公式下无法表达,本发明可实现自定义函数配置,即可新增部分自定义函数的逻辑如指标1=DIV(A,B)+10代表a/b的结果加10,当B为0时该函数直接返回0+10而不是公式全部置0。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (7)

1.一种基于数字化内部五级市场考核体系的指标计算方法,其特征在于,其包括以下步骤:
准备数据标签:将所有指标的计算数据源对应配置信息存储在数据库中,所述配置信息包括不同指标的不同相关因子数据及其形成的因子表;
加载指标公式和相关因子:将待计算的所有指标加载至数据中台,Spark读取所有指标的计算公式,将所有指标计算公式中涉及的所有因子数据及因子表都拉取至spark引擎中;
解析指标计算公式:将所有指标jep的jar包反编译得到对应的.java格式的代码,再将.java文件修改为.scala文件嵌入至Spark引擎代码中。
2.如权利要求1所述的基于数字化内部五级市场考核体系的指标计算方法,其特征在于,将待计算的所有指标加载至数据中台后,还包括步骤:
将所述指标的所有相关因子数据按照Key分组,分别计算出各相关因子的指标值拉取至spark引擎中。
3.如权利要求1所述的基于数字化内部五级市场考核体系的指标计算方法,其特征在于,解析指标计算公式时,还包括步骤:
若缺省数据源因子数据,根据缺省原因不同将指标赋予不同默认值,备注缺省原因。
4.如权利要求3所述的基于数字化内部五级市场考核体系的指标计算方法,其特征在于,根据缺省原因不同将指标赋予不同默认值,包括:
若实际没有该数据源因子数据或计算存在错误,将指标赋予默认值0;
若某些指标超出计算范围,将指标赋予默认值20。
5.如权利要求1所述的基于数字化内部五级市场考核体系的指标计算方法,其特征在于,解析指标计算公式后,还包括步骤:将解析后的数据编码替换为实际因子数据源表中的数据。
6.如权利要求1所述的基于数字化内部五级市场考核体系的指标计算方法,其特征在于,解析指标计算公式后,还包括步骤:
指标结果数据动态存储:将所有解析计算出的指标,根据指标标签以及配置信息的数据库存储位置,动态连接不同的结果数据表,将结果值存储值相应的数据库表中。
7.如权利要求1所述的基于数字化内部五级市场考核体系的指标计算方法,其特征在于,将所有指标计算公式中涉及的所有因子数据及因子表都拉取至spark引擎时采用groupbykey算子。
CN202110648709.2A 2021-06-10 2021-06-10 一种基于数字化内部五级市场考核体系的指标计算方法 Pending CN113553533A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110648709.2A CN113553533A (zh) 2021-06-10 2021-06-10 一种基于数字化内部五级市场考核体系的指标计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110648709.2A CN113553533A (zh) 2021-06-10 2021-06-10 一种基于数字化内部五级市场考核体系的指标计算方法

Publications (1)

Publication Number Publication Date
CN113553533A true CN113553533A (zh) 2021-10-26

Family

ID=78130443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110648709.2A Pending CN113553533A (zh) 2021-06-10 2021-06-10 一种基于数字化内部五级市场考核体系的指标计算方法

Country Status (1)

Country Link
CN (1) CN113553533A (zh)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106096870A (zh) * 2016-07-21 2016-11-09 杭州迪脉信息科技有限公司 一种绩效数据处理方法和装置
WO2017096940A1 (zh) * 2015-12-10 2017-06-15 深圳市华讯方舟软件技术有限公司 一种基于spark-SQL大数据处理平台的数据导入方法
WO2017096941A1 (zh) * 2015-12-11 2017-06-15 深圳市华讯方舟软件技术有限公司 一种基于Spark-SQL大数据处理平台的后台刷新方法
CN107861728A (zh) * 2017-10-25 2018-03-30 深圳四方精创资讯股份有限公司 用于传统程序语言向现代程序语言转换的方法及其系统
CN109710413A (zh) * 2018-12-29 2019-05-03 重庆誉存大数据科技有限公司 一种半结构化文本数据的规则引擎系统的整体计算方法
CN110309125A (zh) * 2019-06-24 2019-10-08 招商局金融科技有限公司 数据校验方法、电子装置及存储介质
CN110765151A (zh) * 2018-07-27 2020-02-07 北京国双科技有限公司 一种计算公式处理方法及装置
CN111767092A (zh) * 2020-06-30 2020-10-13 深圳前海微众银行股份有限公司 作业执行方法、装置、系统及计算机可读存储介质
CN112016832A (zh) * 2020-08-28 2020-12-01 南京华盾电力信息安全测评有限公司 一种电厂数据处理方法、系统及存储介质
CN112379884A (zh) * 2020-11-13 2021-02-19 李斌 基于Spark和并行内存计算的流程引擎实现方法及系统
CN112579626A (zh) * 2020-09-28 2021-03-30 京信数据科技有限公司 多源异构sql查询引擎的构建方法及装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017096940A1 (zh) * 2015-12-10 2017-06-15 深圳市华讯方舟软件技术有限公司 一种基于spark-SQL大数据处理平台的数据导入方法
WO2017096941A1 (zh) * 2015-12-11 2017-06-15 深圳市华讯方舟软件技术有限公司 一种基于Spark-SQL大数据处理平台的后台刷新方法
CN106096870A (zh) * 2016-07-21 2016-11-09 杭州迪脉信息科技有限公司 一种绩效数据处理方法和装置
CN107861728A (zh) * 2017-10-25 2018-03-30 深圳四方精创资讯股份有限公司 用于传统程序语言向现代程序语言转换的方法及其系统
CN110765151A (zh) * 2018-07-27 2020-02-07 北京国双科技有限公司 一种计算公式处理方法及装置
CN109710413A (zh) * 2018-12-29 2019-05-03 重庆誉存大数据科技有限公司 一种半结构化文本数据的规则引擎系统的整体计算方法
CN110309125A (zh) * 2019-06-24 2019-10-08 招商局金融科技有限公司 数据校验方法、电子装置及存储介质
CN111767092A (zh) * 2020-06-30 2020-10-13 深圳前海微众银行股份有限公司 作业执行方法、装置、系统及计算机可读存储介质
CN112016832A (zh) * 2020-08-28 2020-12-01 南京华盾电力信息安全测评有限公司 一种电厂数据处理方法、系统及存储介质
CN112579626A (zh) * 2020-09-28 2021-03-30 京信数据科技有限公司 多源异构sql查询引擎的构建方法及装置
CN112379884A (zh) * 2020-11-13 2021-02-19 李斌 基于Spark和并行内存计算的流程引擎实现方法及系统

Similar Documents

Publication Publication Date Title
US5287444A (en) Message processing system
Sneed Migrating from COBOL to Java
US8615526B2 (en) Markup language based query and file generation
US20140331203A1 (en) Analysis of source code changes
US8006229B2 (en) Program maintenance support device and program for the same
US20060048109A1 (en) Enhanced compiled representation of transformation formats
US7299452B1 (en) System and method for testing the compatibility of a computer application with a foreign character set
CN109388566A (zh) 一种代码覆盖率分析方法、装置、设备及存储介质
CN111078702B (zh) 一种sql语句分类管理及统一查询方法和装置
US20050165724A1 (en) System and method for using an XML file to control XML to entity/relationship transformation
WO2000042518A1 (en) Parallelizing applications of script-driven tools
CN107861728A (zh) 用于传统程序语言向现代程序语言转换的方法及其系统
CN108388640B (zh) 一种数据转换方法、装置以及数据处理系统
CN116011400A (zh) 一种项目标准测试文档自动化生成方法及装置
CN110633290A (zh) 一种sql语句分析方法及分析装置
CN113553533A (zh) 一种基于数字化内部五级市场考核体系的指标计算方法
US7085759B2 (en) System and method for communicating data to a process
CN116303641A (zh) 一种支持多数据源可视化配置的实验室报告管理方法
US11886797B2 (en) Programmatic creation of dynamically configured, hierarchically organized hyperlinked XML documents for presenting data and domain knowledge from diverse sources
CN109241515B (zh) 一种生成报告文件的方法及装置
CN114610385A (zh) 一种运行环境适配系统及方法
US20050071756A1 (en) XML to numeric conversion method, system, article of manufacture, and computer program product
CN107436928B (zh) 变电站工程的量价通流方法
CN115470127B (zh) 页面兼容性处理方法、装置、计算机设备和存储介质
CN111309623B (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