跳转至

派生指标计算逻辑

概述

派生指标是基于基础指标计算逻辑的扩展。

指标平台中的派生指标提供了三种扩展能力。

配置项 说明
时间限定 时间限定的扩展是基于筛选条件调节生效的。时间限定会调节查询环境中的指标日期筛选值。
业务限定 业务限定可以等同于在筛选条件中额外添加一些筛选条件,与查询环境中的条件为且(AND)关系。
衍生方式 * 同环比:调节查询环境中的指标日期筛选值。 * 排名:调节了查询环境中的窗口(窗口概念目前还未完全开放自定义) * 占比:调节查询环境中的指定维度筛选值。 * 自定义聚合:调节了查询查询中的指定维度筛选值。

时间限定

时间限定是指标平台中十分重要而且频繁使用的概念,正确的使用时间限定可以帮助你实现很多业务场景的分析诉求。

时间限定是将查询环境中的指标日期,根据规则转换为一个新的日期。在开始了解时间限定前,我们还需要知道以下几个概念。

概念 说明
时间粒度 任何日期类型的维度都存在粒度的概念,指标日期也不例外。 指标平台中内置了分、小时、日、周、月、季、年粒度。 image.png
时点筛选&时段筛选 时点筛选为筛选的内容只有一个粒度值;时段筛选为筛选内容有多个粒度值。 比如表达 2024年整年,使用时点筛选为 指标日期(年)=2024-01-01,使用时段筛选则为指标日期(日)>= 2024-01-01 AND 指标日期(日)<=2024-12-31。 对于基础指标而言,这两个筛选条件得到的结果是完全一致的,但是对于需要进行时间限定的调节而言,他们两个存在使用上支持的区别。

时间限定-整体模式

整体模式下的时间限定,其计算机制为将时点筛选,转换为一个新的时点/时段筛选

image.png

注意

由于时间限定将时点筛选进行转换,所以在使用带有时间限定的指标时,一定要注意满足以下任一条件:


● 查询分组维度中,有指标日期作为维度,譬如:按指标日期(月)查看指标。


● 查询的筛选器中,有指标日期的时点筛选,譬如:指标日期(日)=2024-09-30。

目前指标平台内置了四种时间限定的方法,分别为

时间限定方法 说明
近N日 原理:将时点数据,转换为大于等于当前时点粒度的时段数据。案例:

- 近7日:指标日期(日)= 2024-09-30 转换为 2024-09-24 <= 指标日期(日)<=2024-09-30

- 系统将传入的日期减少6日,与当前天生成时段区间。
MTD 原理:将时点数据,转换为大于等于当前时点粒度的时段数据。案例:

- 本年至今:指标日期(日)= 2024-09-30 转换为 2024年第一日 <= 指标日期(日)<=2024-09-30

- 系统将传入的日期转换为其所在年的第一日,与当前天生成时段区间。
特定日期 原理:将时点数据,转换为粒度相同时点数据案例:

- 上月月底:指标日期(日)= 2024-09-30 转换为 指标日期(日)=2024-08-31
单日期 原理:将时点数据,转换为大于等于当前时点粒度的时点数据案例:

- 本月整月:指标日期(日)= 2024-09-30 转换为 2024-09-01 <= 指标日期(日)<=2024-09-30

规则

规则:当查询具有时间限定的指标时,系统会将指标日期的时间筛选替换为新的日期筛选。

● 若当前查询中不是指标日期的时点筛选,或者没有筛选指标日期,则该查询会被拦截。

时间限定-峰/谷/均值模式

image.png

在整体模式的基础上,指标平台支持计算其平均值、最大值或最小值。举个例子,你可以通过时间限定生成近7日订单额,也可以使用其生成近7日日均订单额

峰/谷/均值模式下比整体模式多计算一个步骤。

  1. 将时点筛选转换为新的日期筛选(与整体模式一致)

  2. 在新的日期范围内,先按照指定的日期粒度进行一次聚合,将聚合的结果二次计算。

案例

查询 `近7日日均订单额`,查询时传入`指标日期(日)=2024-09-30`

步骤1:指标日期(日)=2024-09-30调节为指标日期(日)=2024-09-24 ~ 2024-09-30

image

步骤2:在该时段内,按照指标日期(日)先统计指标结果值

image

步骤3:将每日的统计结果,求平均(AVG)运算,得到指标值

image

时间限定-日汇总模式

img

案例

以 “交易金额” 计算为例,业务规则为:优先取 A 来源的交易金额,若 A 为空则取 B 来源,最终需计算 “每日交易总金额” 及 “近三日交易总金额”。

第一步:基于 AB 来源指标做日交易金额

数据拆分:将原始数据按日期拆分为 2025-07-29、2025-07-30、2025-07-31 三个独立的日级数据集。

A 来源的交易金额 B 来源的交易金额
29 100 40
30 null 50
31 20 40

每日取值逻辑:

对当天的每条数据,执行规则:日交易金额 = if(isnotnull(A), A, B)

示例结果(日级):

日期 A 来源的交易金额 B 来源的交易金额 日交易金额
2025-07-29 100 40 100
2025-07-30 null 50 50
2025-07-31 20 40 20

第二步:基于日级结果派生跨天指标

以 “近三日交易总金额” 为例:

时间窗口定义:近三日

窗口聚合计算:汇总值

示例结果:

日期 日交易金额 近三日-汇总值
2025-07-29 100 100(仅当天)
2025-07-30 50 100 + 50 = 150
2025-07-31 20 100 + 50 + 20 = 170

汇总值确保每日的基础逻辑(if(isnotnull(A), A, B))被严格执行

业务限定

业务限定为指标定义中添加的维度筛选。该筛选的计算逻辑与在查询环境中添加维度筛选是一致的。

指标中的筛选生效先后顺序,请参考专题文章详细讲解。

衍生方式

同环比

同环比的处理是调节指标日期的筛选。其处理方式为将日期进行偏移。使用同环比时,需要查询环境中存在指标日期。其计算步骤为:

  • 先将查询环境中的指标日期进行偏移调节

  • (若配置时间限定)将调节后的指标日期带入时间限定,生成最终的指标日期范围

排名

image.png

以下面的示例,我们来理解排名范围

image

当我们设置省份为排名范围时,生成的排名结果会以省份作为窗口,在窗口内进行排名的生成。

排名维度的作用

设置城市为排名维度,查询时筛选城市

image

不设置排名维度,查询时筛选城市

image

通过上述案例的对比,我们可以得知。指定了排名维度后,查询中便不会先过滤数据内容,而是等排名的结果计算出来后,再执行数据过滤。

占比

image.png

以下面的示例,我们来理解占比范围

image

当我们设置省份为占比范围时,其分子计算逻辑没有改变,分母的计算逻辑发生了变动:

  1. 只保留占比维度范围的维度,计算指标

  2. 省份作为维度计算订单额,不再使用城市

  3. 使用分子/分母得到最终结果

占比维度的作用与 4.2 章节讲解的排名维度功能类似,此处不再赘述。

自定义聚合

image.png

自定义聚合的计算逻辑为在当前的查询环境中,再额外添加维度,并以特定的方式进行聚合

譬如,我们定义了基础指标销售额,但是我们分析的时候希望获得省内最大的城市销售额(先计算每个城市销售额,每个省内展示最大的销售额)

image

如左图所示,我们可以选择添加城市维度,并选择最大值

在查询中将省份放入到维度中,即可获得正确计算结果。

自定义聚合在查询的过程中,额外增加了维度的筛选条件,并结合了数据聚合用于选取最大值/最小值/平均值。

总结

派生指标中的定义项主要是用于调整查询环境中的筛选内容。一个派生指标的使用对查询环境存在必要的维度要求,请参考下表

配置项 要求
时间限定 * 查询中存在指标日期维度,满足下述任一条件 * 用于分组维度 * 用于筛选,且为时点筛选 * 指标日期的最小粒度小于等于时间限定粒度
同环比 * 查询中存在指标日期维度,满足下述任一条件 * 用于分组维度 * 用于筛选
排名 * 查询中存在配置的排名范围排名维度,满足下述任一条件 * 用于分组维度 * 用于筛选
占比 * 查询中存在配置的占比范围占比维度 * 用于分组维度 * 用于筛选

若派生指标中存在时间限定,则其对查询中使用到的指标日期也有日期粒度上的要求。

  • 比如派生指标:近4个月订单额(月粒度)

  • 查询时可以使用 指标日期(日)=2024-09-30 ,也可以使用 指标日期(月)=2024-09-01,都可以得到以9月作为起始月的4个月订单总额