派生指标计算逻辑
概述
派生指标是基于基础指标计算逻辑的扩展。
指标平台中的派生指标提供了三种扩展能力。
| 配置项 | 说明 |
|---|---|
| 时间限定 | 时间限定的扩展是基于筛选条件调节生效的。时间限定会调节查询环境中的指标日期筛选值。 |
| 业务限定 | 业务限定可以等同于在筛选条件中额外添加一些筛选条件,与查询环境中的条件为且(AND)关系。 |
| 衍生方式 | * 同环比:调节查询环境中的指标日期筛选值。 * 排名:调节了查询环境中的窗口(窗口概念目前还未完全开放自定义) * 占比:调节查询环境中的指定维度筛选值。 * 自定义聚合:调节了查询查询中的指定维度筛选值。 |
时间限定
时间限定是指标平台中十分重要而且频繁使用的概念,正确的使用时间限定可以帮助你实现很多业务场景的分析诉求。
时间限定是将查询环境中的指标日期,根据规则转换为一个新的日期。在开始了解时间限定前,我们还需要知道以下几个概念。
| 概念 | 说明 |
|---|---|
| 时间粒度 | 任何日期类型的维度都存在粒度的概念,指标日期也不例外。 指标平台中内置了分、小时、日、周、月、季、年粒度。 ![]() |
| 时点筛选&时段筛选 | 时点筛选为筛选的内容只有一个粒度值;时段筛选为筛选内容有多个粒度值。 比如表达 2024年整年,使用时点筛选为 指标日期(年)=2024-01-01,使用时段筛选则为指标日期(日)>= 2024-01-01 AND 指标日期(日)<=2024-12-31。 对于基础指标而言,这两个筛选条件得到的结果是完全一致的,但是对于需要进行时间限定的调节而言,他们两个存在使用上支持的区别。 |
时间限定-整体模式
整体模式下的时间限定,其计算机制为将时点筛选,转换为一个新的时点/时段筛选。

注意
由于时间限定将时点筛选进行转换,所以在使用带有时间限定的指标时,一定要注意满足以下任一条件:
● 查询分组维度中,有指标日期作为维度,譬如:按指标日期(月)查看指标。
● 查询的筛选器中,有指标日期的时点筛选,譬如:指标日期(日)=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 |
规则
规则:当查询具有时间限定的指标时,系统会将指标日期的时间筛选替换为新的日期筛选。
● 若当前查询中不是指标日期的时点筛选,或者没有筛选指标日期,则该查询会被拦截。
时间限定-峰/谷/均值模式

在整体模式的基础上,指标平台支持计算其平均值、最大值或最小值。举个例子,你可以通过时间限定生成近7日订单额,也可以使用其生成近7日日均订单额。
峰/谷/均值模式下比整体模式多计算一个步骤。
-
将时点筛选转换为新的日期筛选(与整体模式一致)
-
在新的日期范围内,先按照指定的日期粒度进行一次聚合,将聚合的结果二次计算。
案例
查询 `近7日日均订单额`,查询时传入`指标日期(日)=2024-09-30`
步骤1:将指标日期(日)=2024-09-30调节为指标日期(日)=2024-09-24 ~ 2024-09-30

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

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

时间限定-日汇总模式

案例
以 “交易金额” 计算为例,业务规则为:优先取 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))被严格执行
业务限定
业务限定为指标定义中添加的维度筛选。该筛选的计算逻辑与在查询环境中添加维度筛选是一致的。
指标中的筛选生效先后顺序,请参考专题文章详细讲解。
衍生方式
同环比
同环比的处理是调节指标日期的筛选。其处理方式为将日期进行偏移。使用同环比时,需要查询环境中存在指标日期。其计算步骤为:
-
先将查询环境中的
指标日期进行偏移调节 -
(若配置时间限定)将调节后的
指标日期带入时间限定,生成最终的指标日期范围
排名

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

当我们设置省份为排名范围时,生成的排名结果会以省份作为窗口,在窗口内进行排名的生成。
排名维度的作用
设置城市为排名维度,查询时筛选城市

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

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

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

当我们设置省份为占比范围时,其分子计算逻辑没有改变,分母的计算逻辑发生了变动:
-
只保留占比维度范围的维度,计算指标
-
以
省份作为维度计算订单额,不再使用城市 -
使用分子/分母得到最终结果
占比维度的作用与 4.2 章节讲解的排名维度功能类似,此处不再赘述。
自定义聚合

自定义聚合的计算逻辑为在当前的查询环境中,再额外添加维度,并以特定的方式进行聚合。
譬如,我们定义了基础指标销售额,但是我们分析的时候希望获得省内最大的城市销售额(先计算每个城市销售额,每个省内展示最大的销售额)

如左图所示,我们可以选择添加城市维度,并选择最大值。
在查询中将省份放入到维度中,即可获得正确计算结果。
自定义聚合在查询的过程中,额外增加了维度的筛选条件,并结合了数据聚合用于选取最大值/最小值/平均值。
总结
派生指标中的定义项主要是用于调整查询环境中的筛选内容。一个派生指标的使用对查询环境存在必要的维度要求,请参考下表
| 配置项 | 要求 |
|---|---|
| 时间限定 | * 查询中存在指标日期维度,满足下述任一条件 * 用于分组维度 * 用于筛选,且为时点筛选 * 指标日期的最小粒度小于等于时间限定粒度 |
| 同环比 | * 查询中存在指标日期维度,满足下述任一条件 * 用于分组维度 * 用于筛选 |
| 排名 | * 查询中存在配置的排名范围和排名维度,满足下述任一条件 * 用于分组维度 * 用于筛选 |
| 占比 | * 查询中存在配置的占比范围和占比维度 * 用于分组维度 * 用于筛选 |
若派生指标中存在时间限定,则其对查询中使用到的指标日期也有日期粒度上的要求。
-
比如派生指标:近4个月订单额(月粒度)
-
查询时可以使用
指标日期(日)=2024-09-30,也可以使用指标日期(月)=2024-09-01,都可以得到以9月作为起始月的4个月订单总额
