Skip to main content

复合指标

概述

复合指标即拼接组合形成的指标,顾名思义,可以通过在线拼接多个指标形成新的指标。目前平台支持通过对已有的指标(原子指标除外)进行加减乘除等运算构建出新的复合指标,如常见的比例型、比率型指标等,也可分条件计算,实现场景切分。期间可对公式中的指标进行维度设置、条件设置等操作,以满足个性化计算需要。

同样的,也是基于用户在页面上的配置信息,平台会自动生成复合指标的计算sql脚本。

note

复合指标支持复合多个其他类型的指标,但不支持对原子指标进行复合,剩下的三个类型的指标(派生指标、复合指标、自定义指标)均可以在满足条件的情况下进行任意组合复合。

配置复合指标的步骤整体包括「设置技术信息」、「设置基本信息」、「设置调度信息」、「生成指标」四步,其中设置技术信息主要是提供了画布的配置界面方便更加形象快捷地生成指标。

设置技术信息

针对复合指标的技术信息,平台提供了画布的拼接操作方式,包括「普通模式」和「高级模式」两种操作模式:

  • 普通模式:常用模式,新增复合指标时默认进入,主要针对单个公式拼接的复合指标场景,如配置 资产总额 复合指标,拿 账户余额+基金余额
  • 高级模式:进阶版使用,即「多公式模式」,用户可以在一个复合指标公式拼接过程中,针对不同的业务场景,配置不同的计算公式,满足复杂多变的计算逻辑,如 当绩效大于0.5时,工资等于基本工资+绩效提成,当绩效小于等于0.5时,工资等于基本工资 诸如此类需要根据不同的情况用不同的计算公式的指标,都可以用高级模式来一次性完成配置

公式设置(普通模式)

第一步:确定复合指标的计算公式。公式的设置包括三部分:指标选择、公式运算符和函数选择

  • 指标选择:指标目录根据指标定义中的目录设置提供当前已经发布的指标及其信息,可以直接选中需要的指标拖动到右侧画布中相应的位置进行配置。单击画布中的指标后,可通过其右上角的进行指标删除。
  • 公式运算符:在画布中悬浮指标后会产生蓝色的三角符号,单击可进行符号插入运算符,包括‘加’、‘减’、‘乘’、‘除’、‘左括号’、‘右括号’、‘数字’
  • 函数选择:用于设置公式计算结果的函数处理(可不设置),默认不聚合,支持如下函数设置:

函数定义作用与原子指标的定义相同,用于将细维度的结果表数据基于定义的聚合函数定义为粗维度的结果表使用。

tip

因历史指标定义不涉及多维度组合落表,对应聚合函数是对粗维度计算结果进行聚合,该函数定义调整后,可基于下列需要对指标进行编辑:

注:历史指标若不进行编辑,其任务SQL不会受影响,将基于原来的生成方式继续运行。

第二步:设置公式中各指标的使用规则,包括空值处理、维度&指标结果过滤。此处需选中单个指标后实现。

  • 空值处理:针对当前指标的空值,系统为其设置默认值
  • 指标结果过滤:对指标结果设置过滤条件,仅计算满足过滤条件的指标结果,如针对【当日基金账户余额】指标,添加大于等于100的过滤条件后,系统会自动选取【当日基金账户余额】计算结果中大于等于100的计算结果进行复合
  • 指标维度过滤:对指标表的维度设置过滤条件,仅筛选满足过滤条件的数据进行计算

第三步:设置公式结果指标的数据规则,包括维度设置、数据基础设置。

  • 维度设置:只有有公共维度的指标复合才有实际的业务意义,平台在「维度设置」里会自动判断拖到画布中指标的公共维度以及单独的维度,选择的公共维度,即为此生成复合指标的维度;

    • 维度选择:可以选择设置为同一维度维度、维度属性的维度作为复合指标的聚合维度
  • 数据基础设置:包括精度设置、为空默认值、计量单位、关联方式的设置

    • 精度设置:可设置0-10位精度,若勾选“四舍五入”则对结果进行四舍五入计算,否则向下取整
    • 计量单位:供后续数据呈现使用
    • 关联方式:公式中各指标所在表的关联方式,目前仅支持针对所有指标执行全局设置。

分条件公式计算(高级模式)

若需要分条件进行公式设置,则将下图中的模式切换为高级模式即可

caution

从普通模式切换到高级模式后,系统会默认带入普通模式配置的公式信息到高级模式的第一个公式里,但是从高级模式切换到普通模式后,原来已经配置好的信息将会被清空,所以需要谨慎操作。

高级模式区别于普通模式直接把指标拖到画布界面组合的方式,因为是针对不同的条件配置不同的公式,所以整体在画布中会按照区分公式的区域。

每个公式都会固定包括「条件」和「公式」两部分组成,每个条件和公式均为一对一的关系,每个部分的区域都可以拖入具体的指标对应具体的作用

条件

即后面公式计算的前提条件,指标计算时会筛选符合条件的数据执行后面对应的公式,条件可以由 一个或者多个指标 组合计算组成,当把对应的指标拖入条件区域内后,点击右上角的「设置」按钮,即可对条件的结果进行限制

如图上的「当日基金账户利润率」,此时点击设置结果大于1,即组合成「当日基金账户利润率>1」的条件

note

作为条件的指标同样会纳入右侧判断公共维度的指标公共维度的范围内。

caution

平台在生成高级模式的sql脚本时,默认会使用 ‘case when’ 按照从上往下的顺序生成计算逻辑,所以当您配置的上下两个公式的条件值域不是互斥时,针对共有的部分,按照顺序在上面的公式中计算后,在下面的公式中就不会纳入计算了。

公式

对应前面条件的计算公式,配置方式和普通模式一致,拖动指标到对应的区域即可,同样支持点击指标名称设置结果过滤

新增公式

点击新增公式后,平台会自动按照从上往下的顺序新增公式,每个公式均由条件和公式两部分组成,目前公式的数量上限为5个

运行

以上均设置完成后,可进行试运行,下方会自动出来运行结果,包括运行的日志,运行成功后的计算结果,以及系统运行的sql脚本;

全屏操作: 点击进入全屏操作界面,方便更清晰地配置复合的指标公式,同时两侧配置页面支持收起/展开; make 6

技术信息

因为复合指标是基于现有指标进行进一步加工得出,故针对复合指标的技术口径信息,除了原子指标这类没有调度任务的指标外,其他类型的指标,生成的技术sql,均会基于现有的指标结果表进行生成,简化了指标sql的同时,也保证了指标结果计算的准确性和稳定性,一定程度上节省了计算资源

同时,如果是高级模式多个公式的计算逻辑,平台会根据每个公式配置的条件信息,按照从上往下的顺序用 ‘case when’ 来实现,且如果一个指标出现多次,生成的sql中取其结果表时,同样会根据配置内容对其进行去重,最大限度地保证了技术信息的简洁

举例说明

1.复合指标需求:个人存款绩效利润率 2.计算公式确认:个人存款转移定价-个人存款率*0.01 3.选择派生指标:「个人存款转移定价」,指标表「index_P_0010_4」 make 11

4.选择派生指标:「个人存款率」,指标表「index_P_0008_4」 make 12

5.技术口径生成:配置完生成的技术口径脚本如下,整体还是以‘select from…’的形式,当运用了多个指标后,平台会自动识别进行inner join关联,这里根据下图中的例子对脚本进行展开说明 make 13

  • 计算公式:第一个字段的表达式为画布中配置的公式,画布中配置的是 「个人存款转移定价-个人存款*0.01」,不保留小数,此时对应的表达式即为两个指标对应的指标结果列的计算方式
  • 查询表:from后查询的表为使用指标的指标结果表,两个指标的指标结果表分别为「index_P_0010_4」和「index_P_0008_4」,所以脚本中自动从左到右进行表的关联
  • 关联条件:默认为选择的维度+业务日期,这里选择了账户id、机构id、客户id、机构名称共4个公共维度,所以此时的关联条件即为4个维度字段加上业务日期在内的5个条件
  • 时间范围:默认按照业务日期动态取前一天的数据进行计算

指标落表

复合指标同样需要落地计算结果,整体配置规则与派生指标相同。不同于派生指标的是,针对平台落表的复合指标,因为复合指标是基于现有的指标拼接形成的,所以当此复合指标用了有调度任务的指标进行拼接时,针对调度信息里的上游任务,平台会自动识别其使用的指标对应的调度任务,默认作为其上游任务,保证指标计算结果的准确性。

因其配置规则与派生指标一致,此处不再赘述,具体可参考派生指标里的调度信息

复合指标自动识别上游指标场景举例

1.复合指标用到了「个人存款转移定价」和「个人存款利率」两个派生指标进行拼接 up 1

2.在「设置调度信息」步骤中,依赖属性里,上游指标任务默认识别使用的两个指标 up 2

3.复合指标生成后,在「运维中心」中,对应指标任务的依赖视图默认按照调度信息中配置的上下游关系形成 up 3

note

在运维中心里,也会自动根据上下游关系形成对应的任务依赖关系,保证上游任务执行成功后,下游任务才会开始执行。

保存与发布

配置完复合指标相关信息,进入最后一步【完成】步骤,同样可以选择「保存」或者「保存并发布」操作,但是 如果只是保存的话,复合指标不会在【指标市场】中发布展示,且不会提交对应的调度任务到【运维中心】,其他指标也无法使用此复合指标,此时的指标是未发布的状态, ,只有 选择保存并发布后,相应的复合指标才会在【指标市场】中发布展示,此时复合指标就可以被其他指标使用了,同时也会提交对应的调度任务到【运维中心】更新调度任务

  • 每发布一次,均会生成一个新的版本,在指标对应的【变更记录】模块中可以查看到对应指标所有的历史版本,支持在线进行 版本对比,具体的变更规则见版本变更
  • 如果仅仅只是保存后的的复合指标,会在指标定义列表中展示,此时的复合指标因为是未发布的,所以不会产生新版本
note

复合指标同样一次性只能生成一个,暂时不支持批量生成。

配置完生成复合指标后,即生成对应的派生指标元数据信息,包括:

  1. 基本属性:包括基本信息、发布信息、技术信息;
  2. 血缘关系:当前指标的上下游关系及应用版本信息(仅显示已发布指标),并可根据时间范围和维度筛选进行结果记录查询;
  3. 变更记录:当前指标的全部历史版本信息,可进行版本间对比,每次最多支持2个版本间进行对比;
  4. 应用信息:当前指标的应用信息,包括上游引用指标信息、指标共享信息、API信息、数据权限及告警规则信息;
note

其中技术信息为试运行的sql,是基于复合指标画布操作中配置的相关信息,系统自动拼接生成,整体也是‘select from…’的格式。

note

相比较派生指标,复合指标的调度任务脚本也许更短,执行更快。