一种快速构建企业关键业绩指标的方法和系统的制作方法

文档序号:6485587阅读:115来源:国知局
一种快速构建企业关键业绩指标的方法和系统的制作方法
【专利摘要】本申请提供了一种快速构建企业关键业绩指标的方法和系统,用以解决当KPI指标越来越多,指标的统计口径变更比较频繁时,指标的开发工作量大的问题。所述方法包括:预先配置分组配置表和指标实现配置表;依据调用命令中的标识参数在分组配置表中查找出对应的SQL-ID;根据所述SQL-ID获取指标实现配置表中对应的SQL脚本,所述对应SQL-ID的SQL脚本中包含多个指标的SQL语句;通过解析并执行所述SQL脚本中的语句来完成指标的计算,并将指标计算结果写入中间过程表中;将中间过程表中的数据生成到事实表中。本申请提高了指标的开发效率,大大减轻了工作量。
【专利说明】ー种快速构建企业关键业绩指标的方法和系统
【技术领域】
[0001]本申请涉及指标系统【技术领域】,特别是涉及ー种快速构建企业关键业绩指标的方法和系统。
【背景技术】
[0002]KPI指标(Key Performance Indication)即关键业绩指标,是通过对组织内部某一流程的输入端、输出端的关键參数进行设置、取样、计算、分析,衡量流程绩效的一种目标式量化管理指标,是把企业的战略目标分解为可运作的远景目标的工具,是企业绩效管理系统的基础。KPI是现代企业中受到普遍重视的业绩考评方法,KPI可以使部门主管明确部门的主要责任,并以此为基础,明确部门人员的业绩衡量指标,使业绩考评建立在量化的基础之上,建立明确的切实可行的KPI指标体系是做好绩效管理的关键。
[0003]数据仓库的指标系统采用的是日期、指标ID和指标值的存储策略,要实现指标的计算常采用的是程序或脚本实现。传统的KPI指标开发,是在程序中利用一段脚本来实现ー个指标。如图1所示,是现有技术中构建KPI指标的处理流程,包括一个维度表DM_KPI_BASE和一个事实表ST_KPI_BASE_DS,中间通过程序1、程序2、程序3、程序4等脚本来实现往事实表ST_KPI_BASE_DS中写数据。后续有新增指标需要计算的时候,需要増加相应的程序5、程序6等程序来实现。通过这种方式,可以快速实现指标的开发,当公司的KPI指标量比较少,而且指标的统计口径(即指标的统计规则)相对稳定的时候,这种方式是ー种比较合理的方案。
[0004]但是,当KPI指标的量越来越多,指标的统计口径变更比较频繁的时候,采用上述构建指标的方法会存在如下问题:由于现有的指标构建方法中每个指标都是通过一段独立的程序或脚本实现,当新增KPI指标或者需要修改KPI指标的统计口径吋,需要重新开发ー批脚本或修改相应的脚本,指标的个数同开发工作量成正比,开发效率比较低下。

【发明内容】

[0005]本申请所要解决的技术问题是提供ー种快速构建企业关键业绩指标的方法和系统,用以解决当KPI指标越来越多,指标的统计口径变更比较频繁时,指标的开发工作量大的问题。
[0006]为了解决上述问题,本申请公开了ー种快速构建企业关键业绩指标的方法,包括:
[0007]预先配置分组配置表和指标实现配置表;
[0008]依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D ;
[0009]根据所述SQL-1D获取指标实现配置表中对应的SQL脚本,所述对应SQL-1D的SQL脚本中包含多个指标的SQL语句;
[0010]通过解析并执行所述SQL脚本中的语句来完成指标的计算,并将指标计算结果写入中间过程表中;[0011]将中间过程表中的数据生成到事实表中。
[0012]优选地,所述分组配置表中包括分组字段和SQL-1D字段,其中,每个分组字段中包括ー个或多个SQL-1D字段。
[0013]优选地,所述标识參数为分组參数,所述依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D,包括:将所述调用命令中的分组參数与分组配置表中的分组字段进行匹配;将相匹配的分组字段中的所有SQL-1D作为与所述标识參数对应的SQL-1D。
[0014]优选地,所述标识參数为分组參数和SQL-1D參数,所述依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D,包括:将所述调用命令中的分组參数与分组配置表中的分组字段进行匹配;将所述调用命令中的SQL-1D參数与相匹配的分组字段中的SQL-1D字段进行匹配;将相匹配的SQL-1D作为与所述标识參数对应的SQL-1D。
[0015]优选地,所述指标实现配置表中包括SQL-1D字段和对应的SQL字段,其中,每个SQL字段对应ー个SQL脚本;根据所述SQL-1D获取指标实现配置表中对应的SQL脚本,包括:将所述指标实现配置表与所述分组配置表通过SQL-1D字段关联,并在所述指标实现配置表中查找与所述SQL-1D相匹配的SQL字段;获取相匹配的SQL-1D字段对应的SQL字段下的SQL脚本。
[0016]优选地,所述调用命令中还包括日期參数,根据所述SQL-1D获取指标实现配置表中对应的SQL脚本之后,还包括:用所述调用命令中的日期參数替换所述SQL脚本中的日期參数。
[0017]优选地,所述中间过程表中包括SQL-1D字段、COLUMN字段和日期字段,其中,每个SQL-1D字段对应多个COLUMN字段,每个COLUMN字段对应ー个指标计算結果。
[0018]优选地,所述方法还包括:配置用于指标定义的维度表,所述维度表中包括SQL-1D字段和插入结果集对应SQL字段,所述插入结果集对应SQL字段中指定了 COLUMN字段;所述将中间过程表中的数据生成到事实表中,包括:将所述中间过程表与所述维度表通过SQL-1D字段关联,并在所述中间过程表中查找与所述维度表中的SQL-1D相匹配的SQL-1D字段;在所述SQL-1D字段下,将插入结果集对应SQL字段中指定的COLUMN字段的指标计算结果写入事实表中。
[0019]优选地,所述方法还包括:在维度表中对新增指标配置指标的定义,并对维度表中的SQL-1D字段和插入结果集对应SQL字段进行更新;将新增指标对应的SQL语句插入指标实现配置表中对应的SQL脚本中。
[0020]优选地,所述方法还包括:对分组配置表中的分组字段和/或SQL-1D字段进行更新。
[0021]本申请还提供了ー种快速构建企业关键业绩指标的系统,包括:
[0022]第一配置模块,用于预先配置分组配置表和指标实现配置表;
[0023]查找模块,用于依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D ;
[0024]获取模块,用于根据所述SQL-1D获取指标实现配置表中对应的SQL脚本,所述对应SQL-1D的SQL脚本中包含多个指标的SQL语句;
[0025]计算模块,用于通过解析并执行所述SQL脚本中的语句来完成指标的计算,并将指标计算结果写入中间过程表中;[0026]生成模块,用于将中间过程表中的数据生成到事实表中。
[0027]优选地,所述分组配置表中包括分组字段和SQL-1D字段,其中,每个分组字段中包括ー个或多个SQL-1D字段。
[0028]优选地,所述指标实现配置表中包括SQL-1D字段和对应的SQL字段,其中,每个SQL字段对应ー个SQL脚本;所述获取模块包括:第一查找子模块,用于将所述指标实现配置表与所述分组配置表通过SQL-1D字段关联,并在所述指标实现配置表中查找与所述SQL-1D相匹配的SQL字段;获取子模块,用于获取相匹配的SQL-1D字段对应的SQL字段下的SQL脚本。
[0029]优选地,所述调用命令中还包括日期參数,所述系统还包括:替换模块,用于在根据所述SQL-1D获取指标实现配置表中对应的SQL脚本之后,用所述调用命令中的日期參数替换所述SQL脚本中的日期參数。
[0030]优选地,所述中间过程表中包括SQL-1D字段、COLUMN字段和日期字段,其中,每个SQL-1D字段对应多个COLUMN字段,每个COLUMN字段对应ー个指标计算結果。
[0031]优选地,所述系统还包括:第二配置模块,用于配置用于指标定义的维度表,所述维度表中包括SQL-1D字段和插入结果集对应SQL字段,所述插入结果集对应SQL字段中指定了 COLUMN字段;所述生成模块包括:第二查找子模块,用于将所述中间过程表与所述维度表通过SQL-1D字段关联,并在所述中间过程表中查找与所述维度表中的SQL-1D相匹配的SQL-1D字段;写入子模块,用于在所述SQL-1D字段下,将插入结果集对应SQL字段中指定的COLUMN字段的指标计算结果写入事实表中。
[0032]优选地,所述系统还包括:第一更新模块,用于在维度表中对新增指标配置指标的定义,并对维度表中的SQL-1D字段和插入结果集对应SQL字段进行更新;插入模块,用于将新增指标对应的SQL语句插入指标实现配置表中对应的SQL脚本中;第二更新模块,用于对分组配置表中的分组字段和/或SQL-1D字段进行更新。
[0033]与现有技术相比,本申请包括以下优点:
[0034]首先,本申请摈弃了原有的每个指标都是通过一段独立的程序或脚本实现的方法,搭建好底层的指标池处理平台,预先配置指标实现配置表以及中间过程表。在指标实现配置表中SQL-1D字段对应的SQL脚本中包含多个指标的SQL语句,从而使多个指标通过ー段SQL脚本实现,当后续需要新增指标开发时,只需往指标实现配置表中配入相应的SQL脚本,然后系统自动通过循环读取的方式来实现指标数据的生成。并且在中间过程表中每个SQL-1D字段对应多个COLUMN字段,每个COLUMN字段对应ー个指标计算結果,实现了同时将多个指标的计算结果生成到事实表中,提高了指标的开发效率,大大减轻了工作量。
[0035]其次,指标的开发过程中引入分组配置表,可以预先将某些具有关联的指标(即指标的实现脚本之间具有公用的地方)分配到同一组中,后续有与该组指标的实现脚本公用的指标的时候,可以直接在该组指标所对应的SQL字段进行扩展,而不用新增一段全新的脚本,避免类似指标的重复开发,减少计算量。
[0036]最后,本申请中每个指标的具体实现代码都存放在指标实现配置表中,并且在配置的维度表中,除了指标的固有属性外,増加了 SQL-1D字段和插入结果集对应SQL字段,通过SQL-1D字段即可将维度表和指标实现配置表进行关联,依据所述SQL-1D获取指标实现配置表中对应的SQL脚本,使得指标的定义和指标的实现关联起来,当用户看到一个指标的时候,能够直接查看到后台计算的具体逻辑,从而实现指标的源码开放透明,降低指标的维护成本。
【专利附图】

【附图说明】
[0037]图1是现有技术中构建KPI指标的处理流程示意图;
[0038]图2是本申请实施例所述ー种快速构建企业关键业绩指标的表结构逻辑示意图;
[0039]图3是本申请实施例所述ー种快速构建企业关键业绩指标的方法流程图;
[0040]图4是本申请实施例所述预先配置分组配置表和指标实现配置表的方法流程图;
[0041]图5是本申请实施例所述依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D方法实施例一的流程图;
[0042]图6是本申请实施例所述依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D方法实施例ニ的流程图;
[0043]图7是本申请实施例所述根据所述SQL-1D获取指标实现配置表中对应的SQL脚本的方法流程图;
[0044]图8是本申请实施例所述将中间过程表中的数据生成到事实表中的方法流程图;
[0045]图9是本申请实施例所述ー种快速构建企业关键业绩指标的底层封装脚本示意图;
[0046]图10是本申请实施例所述ー种快速构建企业关键业绩指标的方法中新增指标的方法的流程图;
[0047]图11是本申请实施例所述ー种快速构建企业关键业绩指标的系统结构图。
【具体实施方式】
[0048]为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本申请作进一步详细的说明。
[0049]为了有效解决现有技术中存在的问题,本申请摈弃了现有的指标构建中每个指标都是通过一段独立的程序或脚本实现的方法,在指标的构建过程中,増加了指标实现配置表、分组配置表以及中间过程表,并且在配置的维度表中増加了 SQL-1D字段和插入结果集对应SQL字段。后续的指标开发全都通过配置的方式实现,大大减轻了开发的工作量。而且,可以实现代码的开放透明,可以减轻指标的开发维护成本。并且,通过一段脚本实现多个指标的计算,可以有效地減少系统的计算量,节省计算资源。由于每一指标的实现编码可见,可以达到对指标进行有效的管理。
[0050]下面通过实施例进行详细说明。
[0051]參照图2,示出了本申请实施例所述ー种快速构建企业关键业绩指标的表结构逻辑示意图,在该处理流程中,通过分组配置表DM_KPI_SQL_CFG_GROUP、指标实现配置表DIM_KPI_SQL_CFG,中间过程表 DW_KPI_H0R_DS、维度表 DM_KPI_BASE 以及事实表 ST_KPI_BASE_DS完成数据的存储、调用等操作,从而实现企业关键业绩指标的快速构建。
[0052]下面,分别对上述几种表进行详细介绍:
[0053]1、分组配置表 DM_KPI_SQL_CFG_GROUP
[0054]随着企业需求的不断増加,企业的关键业绩指标(KPI指标)会不断地增多,例如企业每天的业务量或者交易量不断増加,因此后续会增加许多新的KPI指标。当KPI指标的数量越来越多时,有些指标之间是有关联的,如果不能做好指标管理,就有可能造成指标的重复开发,浪费计算资源。
[0055]其中,KPI指标之间相关联可能是多个KPI指标来源于同一个来源表,或者多个KPI指标之间的近似度很高。例如,对于系统用户的交易量以及外部商家的交易量,两者都是来源于同一个来源表(交易表)中,则这两个KPI指标是相关联的。
[0056]当然,本申请实施例中所述的指标之间的关联关系还可能包括其他情况,本申请对此并不加以限制。
[0057]为了解决上述问题,本申请实施例在构建企业关键业绩指标(KPI指标)的过程中,增加了分组配置表DIM_KPI_SQL_CFG_GROUP,所述分组配置表中包括分组字段GR0UP_ID和SQL-1D字段INDEX_SQL_ID,其中,每个分组字段GR0UP_ID中包括ー个或多个SQL-1D字段 INDEX_SQL_ID。
[0058]通过分组配置表DM_KPI_SQL_CFG_GROUP可以预先将某些具有关联的指标(即指标的实现脚本之间具有公用的地方)分配到同一组中,后续有与该组指标的实现脚本公用的指标的时候,可以直接在该组指标所对应的指标实现配置表中的SQL字段进行扩展,而不用新增一段全新的脚本,避免类似指标的重复开发,減少计算量。
[0059]2、指标实现配置表 DM_KPI_SQL_CFG
[0060]针对原有的每个指标都是通过一段独立的程序或脚本实现的方法,本申请实施例在构建KPI指标的过程中还增加了指标实现配置表DM_KPI_SQL_CFG。在所述指标实现配置表 DM_KPI_SQL_CFG 中包括 SQL-1D 字段 INDEX_SQL_ID 和对应的 SQL 字段 INDEX_SQL,以及其他的指标描述字段,如SQL描述、来源表、来源表描述、插入时间等。
[0061 ] 其中,每个SQL字段INDEX_SQL对应ー个SQL脚本,每个SQL脚本中包含多个指标的SQL语句,从而使多个指标可以通过一段SQL脚本实现。当后续需要新增指标开发吋,只需往指标实现配置表中配入相应的SQL脚本,然后系统自动通过循环读取的方式来实现指标数据的生成。
[0062]其中的SQL-1D 字段 INDEX_SQL_ID 与分组配置表中 DM_KPI_SQL_CFG_GROUP 的SQL-1D 字段 INDEX_SQL_ID 相关联。通过分组配置表中 DM_KPI_SQL_CFG_GROUP 的 SQL-1D字段INDEX_SQL_ID即可查找到指标实现配置表DM_KPI_SQL_CFG中对应的SQL-1D字段INDEX_SQL_ID,进而获取所述SQL-1D字段对应的SQL字段INDEX_SQL中的SQL脚本。
[0063]3、中间过程表 DW_KPI_H0R_DS
[0064]由于在指标实现配置表DM_KPI_SQL_CFG中,每个SQL字段INDEX_SQL对应ー个SQL脚本,并且每个SQL脚本中包含多个指标的SQL语句,从而每个SQL脚本可以同时实现多个指标的计算。而按照现有技术中每写一个程序计算ー个指标后都要往事实表中写数据的方法,无法同时实现多个指标。
[0065]因此,本申请实施例引入了中间过程表DW_KPI_H0R_DS,该表主要包括SQL-1D字段 INDEX_SQL_ID、COLUMN 字段和日期字段 REP0RT_DATE。其中,每个 SQL-1D 字段 INDEX_SQL_ID对应多个COLUMN字段,每个COLUMN字段对应ー个指标计算結果。
[0066]将指标实现配置表DM_KPI_SQL_CFG中指标的计算结果写入中间过程表中,后续通过调用相应的命令,即可实现将中间过程表DW_KPI_H0R_DS中的ー个或多个COLUMN字段对应的指标计算结果同时生成到事实表中,提高了指标的开发效率,大大减轻了工作量。
[0067]例如,如图2所示的中间过程表中SQL-1D字段INDEX_SQL_ID对应30个COLUMN字段,在调用相应命令时,即可把SQL-1D字段INDEX_SQL_ID下的30个COLUMN字段对应的指标计算结果同时生成到事实表中。
[0068]4、维度表 DM_KPI_BASE
[0069]维度表DM_KPI_BASE主要用于指标的定义,本申请实施例所述的维度表中,除了指标的固有属性(如指标代码、指标名称、指标业务代码、指标业务名称等)タト,还增加了SQL-1D字段INDEX_SQL_ID和插入结果集对应SQL字段。
[0070]其中,SQL-1D字段 INDEX_SQL_ID 与中间过程表 DW_KPI_H0R_DS 中的 SQL-1D 字段INDEX_SQL_ID相关联,通过维度表DM_KPI_BASE中的SQL-1D字段INDEX_SQL_ID即可在所述中间过程表DW_KPI_H0R_DS中查找与其相匹配的SQL-1D字段。
[0071 ] 在插入结果集对应SQL字段中指定了具体的COLUMN字段,根据SQL-1D字段INDEX_SQL_ID以及插入结果集对应SQL字段即可确定需要写入事实表中的某一 SQL-1D下对应的COLUMN字段的指标计算結果。
[0072]并且,通过SQL-1D字段INDEX_SQL_ID还可以将维度表DM_KPI_BASE和指标实现配置表DM_KPI_SQL_CFG进行关联,依据所述SQL-1D获取指标实现配置表中对应的SQL脚本,使得指标的定义和指标的实现关联起来,当用户看到ー个指标的时候,能够直接查看到后台计算的具体逻辑,从而实现指标的源码开放透明,降低指标的维护成本。
[0073]5、事实表 ST_KPI_BASE_DS
[0074]事实表ST_KPI_BASE_DS主要用于存储指标的计算結果,其中包括数据日期、指标ID、指标值、生成数据来源、操作日期等。
[0075]6、衍生配置表 DM_KPI_BASE_CAL_REL
[0076]衍生配置表DM_KPI_BASE_CAL_REL主要用于实现对ー些衍生指标的计算,其中包括 KPI_ID 字段、FR0M_KPI_ID 字段、IS_CAL_FLAG 字段、INST_DATE 字段,以及 GMT_MODIFIED字段等。
[0077]例如,对于存储于中间过程表DW_KPI_H0R_DS中已经计算过的指标A,如果在衍生配置表DM_KPI_BASE_CAL_REL中包括与其相对应的指标B,而指标A和指标B只是指标名称不同,则在衍生配置表DM_KPI_BASE_CAL_REL中查找出与中间过程表DW_KPI_H0R_DS中的指标对应的指标后,修改其对应的IS_CAL_FLAG字段,将该指标标记为已计算,从而避免相同指标的重复计算。
[0078]參照图3,示出了本申请ー种快速构建企业关键业绩指标的方法实施例的流程图,所述方法包括:
[0079]步骤S301,预先配置分组配置表和指标实现配置表。
[0080]參照图4,示出了预先配置分组配置表和指标实现配置表的方法流程图,具体包括以下子步骤:
[0081 ] 步骤S3011,配置指标实现配置表DM_KPI_SQL_CFG中的SQL字段INDEX_SQL ;
[0082]具体的,将当前指标对应的SQL语句写入指标实现配置表DM_KPI_SQL_CFG中的SQL字段INDEX_SQL_ID对应的脚本中;
[0083]步骤S3012,配置指标实现配置表DM_KPI_SQL_CFG中的SQL-1D字段INDEX_SQL_ID,为所述当前指标指定ー个SQL-1D ;
[0084]步骤S3013,配置指标实现配置表DM_KPI_SQL_CFG中其他的指标描述字段,如来源表、来源表描述、插入时间等;
[0085]步骤S3014,配置分组配置表 DM_KPI_SQL_CFG_GROUP 中的 SQL-1D 字段 INDEX_SQL_ID,所述SQL-1D字段与指标实现配置表DM_KPI_SQL_CFG中的SQL-1D字段INDEX_SQL_ID相对应;
[0086]步骤S3015,配置分组配置表DM_KPI_SQL_CFG_GROUP中的分组字段GR0UP_ID,依据指标间的关联为所述SQL-1D字段分配一特定组。
[0087]步骤S302,依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D。
[0088]在上述配置的分组配置表DM_KPI_SQL_CFG_GROUP中,包括分组字段GR0UP_ID和SQL-1D字段INDEX_SQL_ID,其中,每个分组字段中包括ー个或多个SQL-1D字段,具有关联关系的指标都存储到同一组中。
[0089]根据调用命令中的标识參数的不同,该步骤包括以下两种情况:
[0090]第一种情况:所述标识參数为分组參数。
[0091]參照图5,所述依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D,包括:
[0092]步骤S3021,将所述调用命令中的分组參数与分组配置表中的分组字段进行匹配;
[0093]步骤S3023,将相匹配的分组字段中的所有SQL-1D作为与所述标识參数对应的SQL-1D。
[0094]第二种情况:所述标识參数为分组參数和SQL-1D參数。
[0095]參照图6,所述依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D,包括以下子步骤:
[0096]步骤S3022,将所述调用命令中的分组參数与分组配置表中的分组字段进行匹配;
[0097]步骤S3024,将所述调用命令中的SQL-1D參数与相匹配的分组字段中的SQL-1D字段进行匹配;
[0098]步骤S3026,将相匹配的SQL-1D作为与所述标识參数对应的SQL-1D。
[0099]步骤S303,根据所述SQL-1D获取指标实现配置表中对应的SQL脚本。
[0100]在配置的指标实现配置表DM_KPI_SQL_CFG中包括SQL-1D字段INDEX_SQL_ID和对应的SQL字段INDEX_SQL,其中,每个SQL字段对应ー个SQL脚本,每个对应SQL-1D的SQL脚本中包含多个指标的SQL语句。
[0101]參照图7,示出了本申请实施例所述根据所述SQL-1D获取指标实现配置表中对应的SQL脚本的方法流程图,包括以下子步骤:
[0102]步骤S3031,将所述指标实现配置表与所述分组配置表通过SQL-1D字段关联,并在所述指标实现配置表中查找与所述SQL-1D相匹配的SQL字段;
[0103]步骤S3032,获取相匹配的SQL-1D字段对应的SQL字段下的SQL脚本。
[0104]步骤S304,通过解析并执行所述SQL脚本中的语句来完成指标的计算,并将指标计算结果写入中间过程表中。[0105]解析并执行SQL脚本中的语句对指标进行计算,得到指标的计算結果,后续通过封装的程序脚本即可实现自动往中间过程表中写数据。
[0106]步骤S305,将中间过程表中的数据生成到事实表中。
[0107]所述中间过程表DW_KPI_H0R_DS中包括SQL-1D字段、COLUMN字段和日期字段,其中,每个SQL-1D字段对应多个COLUMN字段,每个COLUMN字段对应ー个指标计算結果。
[0108]要实现将中间过程表中的数据生成到事实表中,需要通过维度表中的字段控制数据的写入,因此,首先需要配置维度表,具体包括:
[0109]首先,配置维度表中用于指标定义的字段,例如,指标代码、指标名称、指标业务代码、指标业务名称等字段;
[0110]其次,配置维度表中的SQL-1D字段,所述SQL-1D字段与指标实现配置表中的SQL-1D字段以及中间过程表中的SQL-1D字段相关联;
[0111]最后,配置维度表中的插入结果集对应SQL字段,所述插入结果集对应SQL字段中指定了 COLUMN字段。
[0112]在配置好维度表之后,即可根据维度表自动将中间过程表中的指定数据生成到事实表中,參照图8,所述将中间过程表中的数据生成到事实表中,具体包括以下步骤:
[0113]步骤S3051,将所述中间过程表与所述维度表通过SQL-1D字段关联,并在所述中间过程表中查找与所述维度表中的SQL-1D相匹配的SQL-1D字段;
[0114]步骤S3052,在所述SQL-1D字段下,将插入结果集对应SQL字段中指定的COLUMN字段的指标计算结果写入事实表中。
[0115]优选的,所述调用命令中还包括日期參数,在根据所述SQL-1D获取指标实现配置表中对应的SQL脚本之后,还包括:
[0116]用所述调用命令中的日期參数替换所述SQL脚本中的日期參数。
[0117]下面,通过一具体实施例描述指标的计算过程,參照图9,示出了本申请实施例所述ー种快速构建企业关键业绩指标的底层封装脚本示意图。
[0118]其中,Kpi_cfg_common.tel 主要封装的是一些通用函数,Ctl_dim_kpi_sql_cfg_dd.tel程序主要实现指标的计算功能。程序调用的时候,通过传递不同的參数,实现不同的日期及分组指标的计算。
[0119]例如,调用命令为/datal/alipaydw/alipaydw/bin/dss_postg-ul-vl_sctl_dim_kpi_sql_cfg_dd.tcl-o-t 2011-10_18-p4,以上命令表不,调用 ctl_dim_kpi_sql_cfg_dd.tel程序的日期为2011-10-18,分组參数为4的INDEX_SQL_ID指标组。
[0120]根据该调用命令执行的具体操作如下:
[0121]步骤1,将所述调用命令中的分组參数GR0UP_ID = 4与分组配置表中的分组字段进行匹配,查找出分组配置表中相匹配的GR0UP_ID = 4的组;
[0122]步骤2,将分组配置表中GR0UP_ID = 4的组中的所有SQL-1D作为对应的SQL-1D,将所有的SQL-1D按照升序排序;
[0123]步骤3,根据所述SQL-1D获取指标实现配置表中对应的SQL脚本;
[0124]步骤4,用所述调用命令中的日期參数2011-10-18替换所述SQL脚本中的日期參数;
[0125]步骤5,通过解析并执行所述SQL脚本中的语句来完成指标的计算,并将指标计算结果写入中间过程表中;
[0126]步骤6,根据维度表中的SQL-1D字段和插入结果集对应SQL字段与中间过程表相关联,将中间过程表中的数据生成到事实表中。
[0127]參照图10,示出了本申请ー种快速构建企业关键业绩指标的方法中新增指标的方法实施例的流程图,所述新增指标的方法包括:
[0128]步骤S501,在维度表中对新增指标配置指标的定义,并对维度表中的SQL-1D字段和插入结果集对应SQL字段进行更新。
[0129]当新增指标吋,首先在维度表中配置指标的定义,并且根据新增指标所对应的插入參数对维度表中的SQL-1D字段和插入结果集对应SQL字段进行更新,以保证后续调用相应命令时将对应的指标(包括新增指标)写入事实表中。
[0130]步骤S502,将新增指标对应的SQL语句插入指标实现配置表中对应的SQL脚本中。
[0131]步骤S503,对分组配置表中的分组字段和/或SQL-1D字段进行更新。
[0132]在新增指标所对应的插入參数中定义了该新增指标的分组參数和/或SQL-1D參数,根据插入參数情况的不同,该步骤包括以下几种情况:
[0133]第一种情况:
[0134]所述插入參数为分组參数,所述分组參数与分组配置表中的分组字段均不匹配。
[0135]所述对分组配置表中的分组字段和/或SQL-1D字段进行更新,包括:
[0136]步骤a,依据分组參数在分组配置表中増加ー个与所述分组參数对应的分组字段;
[0137]步骤b,在所述分组字段下増加一个对应的SQL-1D字段;
[0138]步骤c,将所述新增指标分配到分组配置表中新増加的SQL-1D字段。
[0139]第二种情况:
[0140]所述插入參数为分组參数和SQL-1D參数,所述分组參数与分组配置表中的某一分组字段相匹配,所述SQL-1D參数与相匹配的分组字段下的SQL-1D字段均不匹配。
[0141]所述对分组配置表中的分组字段和/或SQL-1D字段进行更新,包括:
[0142]步骤A,依据所述分组參数获取分组配置表中与其相匹配的分组字段;
[0143]步骤B,根据所述SQL-1D參数在所述相匹配的分组字段中増加一个新的SQL-1D字段;
[0144]步骤C,将所述新增指标分配到分组配置表中新増加的SQL-1D字段。
[0145]第三种情况:
[0146]所述插入參数为分组參数和SQL-1D參数,所述分组參数与分组配置表中某一分组字段相匹配,所述SQL-1D參数与所述相匹配的分组字段下的某一 SQL-1D字段相匹配。
[0147]所述对分组配置表中的分组字段和/或SQL-1D字段进行更新,包括:
[0148]步骤i,依据所述分组參数获取分组配置表中与其相匹配的分组字段;
[0149]步骤ii,将SQL-1D參数与所述相匹配的分组字段下的SQL-1D字段相匹配,获取匹配的SQL-1D字段;
[0150]步骤iii,将所述新增指标分配到所述相匹配的SQL-1D字段。
[0151]综上所述,本申请所提出的一种关键业绩指标的构建方法通过在指标的构建过程中増加指标实现配置表、分组配置表以及中间过程表,并且在配置的维度表中増加了SQL-1D字段和插入结果集对应SQL字段,从而实现了多个指标通过一段SQL脚本实现,当后续需要新增指标开发时,只需往指标实现配置表中配入相应的SQL脚本即可。并且,在中间过程表中每个SQL-1D字段对应多个COLUMN字段,每个COLUMN字段对应ー个指标计算结果,实现了同时将多个指标的计算结果生成到事实表中,提高了指标的开发效率,大大减轻
了工作量。
[0152]其次,指标的开发过程中引入分组配置表,可以预先将某些具有关联的指标分配到同一组中,后续有与该组指标的实现脚本公用的指标的时候,可以直接在该组指标所对应的SQL字段进行扩展,而不用新增一段全新的脚本,避免类似指标的重复开发,減少计算量。
[0153]最后,本申请中每个指标的具体实现代码都存放在指标实现配置表中,并且在配置的维度表中,除了指标的固有属性外,増加了 SQL-1D字段和插入结果集对应SQL字段,通过SQL-1D字段即可将维度表和指标实现配置表进行关联,依据所述SQL-1D获取指标实现配置表中对应的SQL脚本,使得指标的定义和指标的实现关联起来,当用户看到一个指标的时候,能够直接查看到后台计算的具体逻辑,从而实现指标的源码开放透明,降低指标的维护成本。
[0154]參照图11,示出了本申请ー种快速构建企业关键业绩指标的系统实施例的结构图,所述系统包括:
[0155]第一配置模块111,用于预先配置分组配置表和指标实现配置表。
[0156]查找模块112,用于依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D。
[0157]其中,所述分组配置表中包括分组字段和SQL-1D字段,每个分组字段中包括ー个或多个SQL-1D字段。
[0158]获取模块113,用于根据所述SQL-1D获取指标实现配置表中对应的SQL脚本。其中,所述指标实现配置表中包括SQL-1D字段和对应的SQL字段,每个SQL字段对应ー个SQL脚本,每个对应SQL-1D的SQL脚本中包含多个指标的SQL语句。
[0159]计算模块114,用于通过解析并执行所述SQL脚本中的语句来完成指标的计算,并将指标计算结果写入中间过程表中。
[0160]其中,所述中间过程表中包括SQL-1D字段、COLUMN字段和日期字段,每个SQL-1D字段对应多个COLUMN字段,每个COLUMN字段对应ー个指标计算結果。
[0161]生成模块115,用于将中间过程表中的数据生成到事实表中。
[0162]优选的,所述调用命令中还包括日期參数,所述系统还包括:
[0163]替换模块,用于在根据所述SQL-1D获取指标实现配置表中对应的SQL脚本之后,用所述调用命令中的日期參数替换所述SQL脚本中的日期參数。
[0164]其中,所述标识參数包括以下两种情况:
[0165]第一种情况:所述标识參数为分组參数。
[0166]所述查找模块包括:
[0167]第一匹配子模块,用于将所述调用命令中的分组參数与分组配置表中的分组字段进行匹配;
[0168]第一对应子模块,用于将相匹配的分组字段中的所有SQL-1D作为与所述标识參数对应的SQL-1D。
[0169]第一种情况:所述标识參数为分组參数和SQL-1D參数。
[0170]所述查找模块包括:
[0171]第二匹配子模块,用于将所述调用命令中的分组參数与分组配置表中的分组字段进行匹配;
[0172]第三匹配子模块,用于将所述调用命令中的SQL-1D參数与相匹配的分组字段中的SQL-1D字段进行匹配;
[0173]第二对应子模块,用于将相匹配的SQL-1D作为与所述标识參数对应的SQL-1D。
[0174]其中,所述获取模块包括:
[0175]第一查找子模块,用于将所述指标实现配置表与所述分组配置表通过SQL-1D字段关联,并在所述指标实现配置表中查找与所述SQL-1D相匹配的SQL字段;
[0176]获取子模块,用于获取相匹配的SQL-1D字段对应的SQL字段下的SQL脚本。
[0177]所述系统还包括:
[0178]第二配置模块,用于配置用于指标定义的维度表,所述维度表中包括SQL-1D字段和插入结果集对应SQL字段,所述插入结果集对应SQL字段中指定了 COLUMN字段。
[0179]则所述生成模块包括:
[0180]第二查找子模块,用于将所述中间过程表与所述维度表通过SQL-1D字段关联,并在所述中间过程表中查找与所述维度表中的SQL-1D相匹配的SQL-1D字段;
[0181]写入子模块,用于在所述SQL-1D字段下,将插入结果集对应SQL字段中指定的COLUMN字段的指标计算结果写入事实表中。
[0182]为了实现新增指标的插入,所述系统还包括:
[0183]第一更新模块,用于在维度表中对新增指标配置指标的定义,并对维度表中的SQL-1D字段和插入结果集对应SQL字段进行更新。
[0184]插入模块,用于将新增指标对应的SQL语句插入指标实现配置表中对应的SQL脚本中。
[0185]第二更新模块,用于对分组配置表中的分组字段和/或SQL-1D字段进行更新。
[0186]对于上述系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简単,相关之处參见方法实施例的部分说明即可。
[0187]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相參见即可。
[0188]综上所述,本申请所提出的一种关键业绩指标的构建系统通过在指标的构建过程中増加指标实现配置表、分组配置表以及中间过程表,并且在配置的维度表中増加了SQL-1D字段和插入结果集对应SQL字段,从而实现了多个指标通过一段SQL脚本实现,当后续需要新增指标开发时,只需往指标实现配置表中配入相应的SQL脚本即可。并且,在中间过程表中每个SQL-1D字段对应多个COLUMN字段,每个COLUMN字段对应ー个指标计算结果,实现了同时将多个指标的计算结果生成到事实表中,提高了指标的开发效率,大大减轻了工作量。
[0189]其次,指标的开发过程中引入分组配置表,可以预先将某些具有关联的指标分配到同一组中,后续有与该组指标的实现脚本公用的指标的时候,可以直接在该组指标所对应的SQL字段进行扩展,而不用新增一段全新的脚本,避免类似指标的重复开发,減少计算量。
[0190]最后,本申请中每个指标的具体实现代码都存放在指标实现配置表中,并且在配置的维度表中,除了指标的固有属性外,増加了 SQL-1D字段和插入结果集对应SQL字段,通过SQL-1D字段即可将维度表和指标实现配置表进行关联,依据所述SQL-1D获取指标实现配置表中对应的SQL脚本,使得指标的定义和指标的实现关联起来,当用户看到一个指标的时候,能够直接查看到后台计算的具体逻辑,从而实现指标的源码开放透明,降低指标的维护成本。
[0191]本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0192]本申请是參照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每ー流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生ー个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图ー个流程或多个流程和/或方框图ー个方框或多个方框中指定的功能的装置。
[0193]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图ー个流程或多个流程和/或方框图ー个方框或多个方框中指定的功能。
[0194]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图ー个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0195]尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
[0196]还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将ー个实体或者操作与另ー个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0197]以上对本申请所提供的ー种快速构建企业关键业绩指标的方法和系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
【权利要求】
1.ー种快速构建企业关键业绩指标的方法,其特征在于,包括: 预先配置分组配置表和指标实现配置表; 依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D ; 根据所述SQL-1D获取指标实现配置表中对应的SQL脚本,所述对应SQL-1D的SQL脚本中包含多个指标的SQL语句; 通过解析并执行所述SQL脚本中的语句来完成指标的计算,并将指标计算结果写入中间过程表中; 将中间过程表中的数据生成到事实表中。
2.根据权利要求1所述的方法,其特征在于: 所述分组配置表中包括分组字段和SQL-1D字段,其中,每个分组字段中包括一个或多个SQL-1D字段。
3.根据权利要求2所述的方法,其特征在于,所述标识參数为分组參数,所述依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D,包括: 将所述调用命令中的分组參数与分组配置表中的分组字段进行匹配; 将相匹配的分组字段中的所有SQL-1D作为与所述标识參数对应的SQL-1D。
4.根据权利要求2所述的方法,其特征在于,所述标识參数为分组參数和SQL-1D參数,所述依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D,包括: 将所述调用命令中的分组參数与分组配置表中的分组字段进行匹配; 将所述调用命令中的SQL-1D參数与相匹配的分组字段中的SQL-1D字段进行匹配; 将相匹配的SQL-1D作为与所述标识參数对应的SQL-1D。
5.根据权利要求2所述的方法,其特征在于: 所述指标实现配置表中包括SQL-1D字段和对应的SQL字段,其中,每个SQL字段对应ー个SQL脚本; 根据所述SQL-1D获取指标实现配置表中对应的SQL脚本,包括: 将所述指标实现配置表与所述分组配置表通过SQL-1D字段关联,并在所述指标实现配置表中查找与所述SQL-1D相匹配的SQL字段; 获取相匹配的SQL-1D字段对应的SQL字段下的SQL脚本。
6.根据权利要求1所述的方法,其特征在于,所述调用命令中还包括日期參数,根据所述SQL-1D获取指标实现配置表中对应的SQL脚本之后,还包括: 用所述调用命令中的日期參数替换所述SQL脚本中的日期參数。
7.根据权利要求1或6所述的方法,其特征在于: 所述中间过程表中包括SQL-1D字段、COLUMN字段和日期字段,其中,每个SQL-1D字段对应多个COLUMN字段,每个COLUMN字段对应ー个指标计算結果。
8.根据权利要求7所述的方法,其特征在于,还包括: 配置用于指标定义的维度表,所述维度表中包括SQL-1D字段和插入结果集对应SQL字段,所述插入结果集对应SQL字段中指定了 COLUMN字段; 所述将中间过程表中的数据生成到事实表中,包括: 将所述中间过程表与所述维度表通过SQL-1D字段关联,并在所述中间过程表中查找与所述维度表中的SQL-1D相匹配的SQL-1D字段;在所述SQL-1D字段下,将插入结果集对应SQL字段中指定的COLUMN字段的指标计算结果写入事实表中。
9.根据权利要求8所述的方法,其特征在于,还包括: 在维度表中对新增指标配置指标的定义,并对维度表中的SQL-1D字段和插入结果集对应SQL字段进行更新; 将新增指标对应的SQL语句插入指标实现配置表中对应的SQL脚本中。
10.根据权利要求9所述的方法,其特征在于,还包括: 对分组配置表中的分组字段和/或SQL-1D字段进行更新。
11.ー种快速构建企业关键业绩指标的系统,其特征在于,包括: 第一配置模块,用于预先配置分组配置表和指标实现配置表; 查找模块,用于依据调用命令中的标识參数在分组配置表中查找出对应的SQL-1D ; 获取模块,用于根据所述SQL-1D获取指标实现配置表中对应的SQL脚本,所述对应SQL-1D的SQL脚本中包含多个指标的SQL语句; 计算模块,用于通过解析并执行所述SQL脚本中的语句来完成指标的计算,并将指标计算结果写入中间过程 表中; 生成模块,用于将中间过程表中的数据生成到事实表中。
12.根据权利要求11所述的系统,其特征在于: 所述分组配置表中包括分组字段和SQL-1D字段,其中,每个分组字段中包括一个或多个SQL-1D字段。
13.根据权利要求12所述的系统,其特征在于: 所述指标实现配置表中包括SQL-1D字段和对应的SQL字段,其中,每个SQL字段对应ー个SQL脚本; 所述获取模块包括: 第一查找子模块,用于将所述指标实现配置表与所述分组配置表通过SQL-1D字段关联,并在所述指标实现配置表中查找与所述SQL-1D相匹配的SQL字段; 获取子模块,用于获取相匹配的SQL-1D字段对应的SQL字段下的SQL脚本。
14.根据权利要求11所述的系统,其特征在于,所述调用命令中还包括日期參数,所述系统还包括: 替换模块,用于在根据所述SQL-1D获取指标实现配置表中对应的SQL脚本之后,用所述调用命令中的日期參数替换所述SQL脚本中的日期參数。
15.根据权利要求11或14所述的系统,其特征在于: 所述中间过程表中包括SQL-1D字段、COLUMN字段和日期字段,其中,每个SQL-1D字段对应多个COLUMN字段,每个COLUMN字段对应ー个指标计算結果。
16.根据权利要求15所述的系统,其特征在于,还包括: 第二配置模块,用于配置用于指标定义的维度表,所述维度表中包括SQL-1D字段和插入结果集对应SQL字段,所述插入结果集对应SQL字段中指定了 COLUMN字段; 所述生成模块包括: 第二查找子模块,用于将所述中间过程表与所述维度表通过SQL-1D字段关联,并在所述中间过程表中查找与所述维度表中的SQL-1D相匹配的SQL-1D字段;写入子模块,用于在所述SQL-1D字段下,将插入结果集对应SQL字段中指定的COLUMN字段的指标计算结果写入事实表中。
17.根据权利要求16所述的系统,其特征在于,还包括: 第一更新模块,用于在维度表中对新增指标配置指标的定义,并对维度表中的SQL-1D字段和插入结果集对应SQL字段进行更新; 插入模块,用于将新增指标对应的SQL语句插入指标实现配置表中对应的SQL脚本中; 第二更新模块, 用于对分组配置表中的分组字段和/或SQL-1D字段进行更新。
【文档编号】G06F17/30GK103455489SQ201210169941
【公开日】2013年12月18日 申请日期:2012年5月28日 优先权日:2012年5月28日
【发明者】李勇国 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1