实时场景指标查询
概述
用户可以在指标平台中按照分钟粒度查询指标结果。本文讲解如何通过指标平台完成以下三类场景的数据查询:
- 查询本日至今的销售额,使用指标卡展示当前值以及去年同比增长率

- 以 30 分钟为一个间隔,展示当日的时段订单量以及同比值

- 以5分钟为一个间隔,展示当日的累计销售额趋势

操作说明
前置条件
- 需要数据集中的日期字段为 DATETIME 数据类型,并在指标平台中,配置基础指标,选择该日期字段作为 指标日期标识。

- 配置基础指标
销售额(Sales_Amount)
查询配置
今日销售额

展示截止到当前时间点的今日销售额累计值,以及对应时段的 52周前的同比增长率
{
"metrics":[
"Sales_Amount",
"Sales_Amount__sameperiod__-52_wow__growth" // 注释1
],
"dimensions": [ ],
"timeConstraint": "[metric_time__minute]>=dateTrunc(now(),\"DAY\") and [metric_time__minute]<=dateTrunc(now(),\"minute\")" // 注释2
}
}
-
注释1:Sales_Amoun__sameperiod__-52_wow__growth
- 快速返回指标的 52周前同比增长率
-
注释2:[metric_time__minute]>=dateTrunc(now(),\"DAY\") and [metric_time__minute]<=dateTrunc(now(),\"minute\")
- 查询日期为今日且时间小于等于当前时间点的数据结果。
注意:这里如果只筛选 TODAY( ) 会导致计算 52周前的数据范围扩大。
注意:这里如果只筛选 TODAY( ) 会导致计算 52周前的数据范围扩大。
今日销售额分布

展示柱形图,每30分钟为一个点位,同时展示其52周前同期值作为对比
{
"metrics":[
"Sales_Amount",
"Sales_Amount__sameperiod__-52_wow__growth"
],
"dimensions": [
"metric_time__30minute" // 注释1
],
"timeConstraint": "[metric_time__minute]>=dateTrunc(now(),\"DAY\") and [metric_time__minute]<=dateTrunc(now(),\"minute\")", // 注释2
}
}
-
注释1:metric_time__30minute
- 通过方法 __30minute 可以将查询的粒度快速切换为 30分钟
-
注释2:[metric_time__minute]>=dateTrunc(now(),\"DAY\") and [metric_time__minute]<=dateTrunc(now(),\"minute\")
- 查询日期为今日且时间小于等于当前时间点的数据结果。
!!! note "注意:这里如果只筛选 TODAY( ) 会导致系统计算今日的未来时间的 52周前同比值。
比如当前时间点为 12:00,如果不去处理小于等于当前时间点,则会返回去年 12:30、13:00 等未来时间的同比值,造成数据污染" 注意:这里如果只筛选 TODAY( ) 会导致系统计算今日的未来时间的 52周前同比值。
比如当前时间点为 12:00,如果不去处理小于等于当前时间点,则会返回去年 12:30、13:00 等未来时间的同比值,造成数据污染
今日的累计销售额趋势

通过面积图展示当日的销售额累计值,每5分钟作为一个点位展示累计变化。
{
"metrics":[
"Sales_Amount__period__dt10min", // 注释1
],
"dimensions": [
"metric_time__10minute" // 注释2
],
"timeConstraint": "[metric_time__minute]>=dateTrunc(now(),\"DAY\") and [metric_time__minute]<=dateTrunc(now(),\"minute\")",
}
}
-
注释1:Sales_Amount__period__dt10min
- 通过 __period__dt10min 可以快速计算指标当日至当前10分钟的累计值
-
注释2:metric_time__10minute
- 以 10分钟作为一个点位返回当日的多行数据结果
方法总结
单指标查询
可以直接使用指标,配合时间范围筛选的方式进行聚合获得该值结果
指标时段汇总
查询指标的分布时,可以使用日期作为维度,通过 维度+粒度 的快速方法,切换查询的日期粒度
!!! note "metric_time_[ year | quarter | month | week | day | {N}hour | {N}minute ]
小时、分钟支持切换统计的步长,比如 3hour,表示以0小时开始,每3个小时为一个区间划分。比如 02 小时,会被归类到 00 小时范围中。" metric_time_[ year | quarter | month | week | day | {N}hour | {N}minute ]
小时、分钟支持切换统计的步长,比如 3hour,表示以0小时开始,每3个小时为一个区间划分。比如 02 小时,会被归类到 00 小时范围中。
指标累计趋势
查询指标的累计趋势时,需要为指标添加临时的时间限定,再通过 维度+粒度 的快速方法,得到多行的数据结果。
!!! note "系统内置了三种为指标添加时间限定的方法,分别为:
| 类型 | 语法写法 |
|---|---|
| 近N日 | 近7日:ordercounts__period__7d |
| 本日至今 | 本年至今(日):ordercounts__period__ytd 本日至今(5min):ordercounts__period__dt5min |
| 当前 | 本年:ordercounts__period__cy 当前5min:ordercounts__period__c5min |
| 系统内置了三种为指标添加时间限定的方法,分别为: |
| 类型 | 语法写法 |
|---|---|
| 近N日 | 近7日:ordercounts__period__7d |
| 本日至今 | 本年至今(日):ordercounts__period__ytd 本日至今(5min):ordercounts__period__dt5min |
| 当前 | 本年:ordercounts__period__cy 当前5min:ordercounts__period__c5min |
| ## 使用约束 |
-
由于查询性能限制,当前指标暂不支持秒粒度进行分析和查看,最小粒度为
分钟,即 最小为metric_time__minute -
为指标添加快捷时间限定后,需要保证查询的维度与该时间限定的粒度一致。
- 比如:
ordercounts__period__dt5min(本日至当前5min),该指标的时间粒度为5min,查询时要使用metric_time__5minute作为维度进行分析。
- 比如:
-
注意查询中使用到的 metirc_time 的粒度
近7日:ordercounts__period__7d
本年至今(日):ordercounts__period__ytd 本日至今(5min):ordercounts__period__dt5min
本年:ordercounts__period__cy 当前5min:ordercounts__period__c5min