日内时间维度是什么
日内时间维度指当分析要落到一天之内的时段时(订单时段分布、配送时长、客服接线量、直播间在线人数),单独建一张分钟级或秒级的时间维度表,包含 HH:mm、小时、时段标签(早高峰、午间、晚高峰)等属性。它与日期维度可以分开建,也可以合成一张宽时间维。关键在于时段分桶规则必须经业务确认后固定,不能各报表临时写 CASE WHEN。
基本信息
| 粒度 | 分钟级最常见,秒级仅在流量类分析使用 |
|---|---|
| 时间键 | 如 0930 表示 9 点 30 分,或 HH:mm:ss |
| 标签属性 | 时段分桶、是否营业时、是否高峰 |
| 与日期维关系 | 可分可合,合成时属性需同时覆盖日与时段 |
| 前提 | 分桶规则由业务确认并写入数据字典 |
典型使用场景
- 订单时段分布:看一天内下单与支付的高峰落在哪个时段
- 配送时长分析:按取餐时段分组统计配送耗时
- 客服接线量:按时段看进线与接通率,用于排班
- 直播与内容分析:按分钟看在线人数与互动峰值
- 营销投放:按时段对比活动前后转化差异
- 异常定位:某时段指标骤降,判断是系统问题还是业务波动
时段分布与分桶
时段分布与分桶
-- 按时段看订单分布(dim_time 提供时段标签)
SELECT t.time_band, count(1) AS order_cnt
FROM fact_order f
JOIN dim_time t ON f.time_key = t.time_key
WHERE f.dt = '2026-10-11'
GROUP BY t.time_band;
-- 时段分桶规则集中定义在维表里,而不是散落在各报表
-- 例如:06:00-09:59 早间;10:00-11:29 午前;
-- 11:30-13:29 午间;17:00-19:59 晚高峰;其余为平峰
-- SELECT time_key, time_band FROM dim_time WHERE time_key BETWEEN 1100 AND 1330;粒度选择对照
| 粒度 | 行数 | 适用 |
|---|---|---|
| 小时 | 24 行每份 | 粗粒度时段分析,最省 |
| 分钟 | 1440 行每份 | 订单与配送分析的主流选择 |
| 秒 | 86400 行每份 | 仅在流量与压测类分析中使用 |
| 与日期维合并 | 日期数 × 时段数 | 属性冗余但只需关联一张表 |
时段分桶是典型的口径争议点:晚高峰从几点开始,不同团队常有不同理解。一旦确定就固定在维表属性里并对外公告,需要调整时按变更流程处理;散落在各报表的 CASE WHEN 一旦分歧,同一指标的时段分布会互相矛盾。