41 lines
2.7 KiB
Markdown
41 lines
2.7 KiB
Markdown
|
|
# Skill: tm_grid_coverage_m 栅格级覆盖指标月表计算指导 (严谨矩阵版)
|
|||
|
|
|
|||
|
|
## 1. 实现目标
|
|||
|
|
计算 20m 栅格粒度的综合覆盖指标,整合 OTT 全网大盘与 MR 本网明细数据。
|
|||
|
|
|
|||
|
|
## 2. 计算拓扑 (Topology)
|
|||
|
|
- **计算执行环境**:**HiveSQL**。
|
|||
|
|
- **基本架构**:采用 `MR 分支 (indoor_flag ∈ {0, 1})` UNION ALL `OTT 分支 (indoor_flag = -1)`。
|
|||
|
|
|
|||
|
|
## 3. 维度缺省值规范
|
|||
|
|
- 对于不具备小区级信息的 OTT 分支,`cellkey`、`pci` 统一填充 `-1`。
|
|||
|
|
- 对于 OTT 不具备的频段信息,`freq` 填充 `'all'`。
|
|||
|
|
|
|||
|
|
## 4. 字段映射矩阵 (The Matrix)
|
|||
|
|
|
|||
|
|
| 目标字段 | 类型 | OTT 分支逻辑 (indoor_flag = -1) | MR 分支逻辑 (indoor_flag = 0/1) | 缺省处理 |
|
|||
|
|
| :--- | :--- | :--- | :--- | :--- |
|
|||
|
|
| **`year_month`** | VARCHAR | 原始字段 | 原始字段 | - |
|
|||
|
|
| **`data_type`** | INTEGER | 原始值 (1:数准, 2:腾讯) | **固定值 -1** | - |
|
|||
|
|
| **`regionid`** | BIGINT | 原始字段 | 原始字段 | - |
|
|||
|
|
| **`operator_name`** | VARCHAR | **固定值 'telecom'** (需先过滤 OTT 原始数据) | **固定值 'telecom'** | - |
|
|||
|
|
| **`network_class`** | VARCHAR | 原始字段 | 依据表源判定 ('4G' 或 '5G_SA') | - |
|
|||
|
|
| **`freq`** | VARCHAR | 原始字段 | 原始字段 | `'all'` |
|
|||
|
|
| **`indoor_flag`** | SMALLINT | **固定值 -1** | 原始值 (0 或 1) | - |
|
|||
|
|
| **`rsrpcount`** | BIGINT | `SUM(rsrpcount)` | 4G: `SUM(rsrpcount)`<br>5G: `SUM(ssrsrpcount)` | **严禁混淆 4/5G 采样点字段** |
|
|||
|
|
| **`mr_cover_rate_105`**| DECIMAL | `rsrpgoodcount_105 / rsrpcount` | 栅格内采样点达标率 |
|
|||
|
|
| **`mr_cover_rate_110`**| DECIMAL | `rsrpgoodcount_110 / rsrpcount` | 栅格内采样点达标率 |
|
|||
|
|
| **`is_covered_105`** | SMALLINT | `CASE WHEN (rsrpgoodcount_105 / rsrpcount) >= 0.9 THEN 1 ELSE 0 END` | **栅格达标标记** (105口径) |
|
|||
|
|
| **`is_covered_110`** | SMALLINT | `CASE WHEN (rsrpgoodcount_110 / rsrpcount) >= 0.9 THEN 1 ELSE 0 END` | **栅格达标标记** (110口径) |
|
|||
|
|
| **`totalrsrp`** | DECIMAL | `SUM(totalrsrp)` | `SUM(totalrsrp)` | - |
|
|||
|
|
| **`avgrsrp`** | DECIMAL | `SUM(totalrsrp) / SUM(rsrpcount)` | `SUM(totalrsrp) / SUM(rsrpcount)` | - |
|
|||
|
|
| **`top1_cellkey`** | VARCHAR | **NULL** | `FIRST_VALUE(cellkey) OVER (PARTITION BY regionid ORDER BY rsrpcount DESC)` | - |
|
|||
|
|
| **`overlap_mrcount`** | BIGINT | **0** | `SUM(overlap_mrcount)` | - |
|
|||
|
|
|
|||
|
|
## 5. 关键计算原语 (Primitives)
|
|||
|
|
- **聚合方式**:必须基于原始累加值(total)和计数(count)进行聚合,严禁直接对均值字段执行 `AVG()`。
|
|||
|
|
- **空值污染防护**:非本源支持的指标(如 OTT 分支的网络质差项)必须硬编码为 `NULL` 或 `0`。
|
|||
|
|
|
|||
|
|
## 6. 特殊业务过滤
|
|||
|
|
- 依据 `openspec.md`,忽略所有市场份额、驻留比、高价值、VIP 相关字段,脚本中直接置空。
|