ctc_poc2026/target_table_skills/tm_scene_coverage_m.md

2.3 KiB
Raw Blame History

Skill: tm_scene_coverage_m 重点场景覆盖指标月表计算指导 (非 ODS 版)

1. 实现目标

按场景粒度汇总覆盖、干扰、用户指标。通过关联桥接表与一级事实表,实现 100% 不直接读取 ODS 层。

2. 计算拓扑 (Topology)

  • 计算执行环境HiveSQL
  • 基本架构:基于桥接表 (tm_scene_grid_coverage_m) 与一级事实表 (tm_grid_coverage_m) 的空间关联聚合。
  • 数据流向
    1. 输入 Atm_scene_grid_coverage_m * (提供场景-栅格对应关系)。
    2. 输入 Btm_grid_coverage_m * (提供栅格指标及用户列表)。
    3. 输入 Ctd_scene # (提供场景维表属性)。

3. 字段映射矩阵 (The Matrix)

目标字段 类型 取值逻辑 备注
total_user_count BIGINT approx_count_distinct(exploded_id) 跨栅格去重,详见原语说明
rsrpcount BIGINT SUM(g.rsrpcount) -
avgrsrp DECIMAL SUM(g.totalrsrp) / SUM(g.rsrpcount) 基于事实表累加值聚合
mr_grid_count BIGINT COUNT(DISTINCT regionid) 场景内有采样栅格总数
covered_grid_count_105 BIGINT SUM(is_covered_105) 场景内达标栅格总数 (-105)
covered_grid_count_110 BIGINT SUM(is_covered_110) 场景内达标栅格总数 (-110)
grid_cover_rate_105 DECIMAL covered_grid_count_105 / mr_grid_count 场景级栅格达标率 (-105)
grid_cover_rate_110 DECIMAL covered_grid_count_110 / mr_grid_count 场景级栅格达标率 (-110)
total_grid_count BIGINT COUNT(DISTINCT regionid) 场景内总栅格数
市场份额/VIP/高价值等 - 置空处理 严格遵循 openspec.md

4. 关键计算原语 (Primitives)

  • 无 ODS 用户数聚合原语
    -- Step: 场景级用户数去重计算
    SELECT scene_id, approx_count_distinct(id) 
    FROM tm_scene_grid_coverage_m s
    JOIN tm_grid_coverage_m g ON s.regionid = g.regionid AND s.indoor_flag = g.indoor_flag
    LATERAL VIEW EXPLODE(g.device_id_list) e AS id
    WHERE g.operator_name = 'telecom'
    GROUP BY scene_id
    

5. 存储与优化规范

  • 最终结果存入 PG tm_scene_coverage_m
  • 严禁在脚本中出现任何 ODS_ 开头的表名。