园区产品线问题数据分析报告生成
概述
将园区产品线问题单(工单)Excel 数据转换为一份结构化、交互式的 ECharts HTML 数据分析报告。报告覆盖问题趋势、SLA/超期、支持组、区域、故障大小类、产品维度定向、硬件故障、优先行动等维度,遵循已固化的数据口径、术语规范与视觉风格。
何时使用
触发场景:
- 用户提供园区/产品线问题单 Excel,要求生成数据分析报告;
- 要求"深度分析"问题趋势/SLA/超期/支持组/区域/产品型号/故障大类小类/硬件/超期原因;
- 要求刷新既有报告(新数据周期、分类修订);
- 要求迭代优化既有报告的布局/图表/表格/配色。
前置条件
- 数据源:问题单 Excel(Sheet1),含单号/区域/SLA/超期/产品型号/PDT创建归属/PDT根因归属/关闭日期/维保/支持组/一级分类/故障大类/故障小类/一二三线超期与耗时等列。
- 列索引映射见
references/report-spec.md的"Excel 列映射"章节;若新数据列顺序变化,先核对列索引。 - 运行环境:Python(openpyxl)用于分析;Node.js 用于 HTML 校验与本地预览。
工作流程
Step 1 — 分析数据
运行 scripts/analyze_issues.py <Excel路径> <输出JSON路径> 读取 Excel 并聚合所有维度,输出 JSON。
脚本默认硬编码了已验证的列索引与产品组映射;若新数据列顺序不同,先修改脚本顶部 COLS 与 PRODUCT_MODELS 配置,切勿凭记忆猜列。
关键产出:total/full_total、pdt_mismatch、q_metrics(季度·国内/国际拆分)、overall、cat1_kpi、hw_kpi、各维度分布、line_overdue(OLA1/2/3)、q_trend、q_fault_big、avg_time_by_*、prod_analysis、hw_detail、od_top15。
Step 2 — 严格区分数据口径(最重要)
- 全量数据:仅用于 PDT 错位分析(
pdt_mismatch)。type1=创建归属含"园区"但根因归属不含;type2=创建归属不含"园区"但根因归属含。 - 园区根因子集(
问题归属PDT含"园区"):用于其余所有分析(趋势/SLA/超期/故障/产品/硬件/优先行动)。 - 两套口径不可混用。报告标题与 KPI 注明"分析主体:问题归属PDT=园区(N条)"。
Step 3 — 生成 HTML 报告
以 assets/report-template.html 为结构模板,克隆其布局与 ECharts 配置,仅替换数据为 Step 1 的 JSON 聚合结果。完整章节结构、图表 ID、配置要点见 references/report-spec.md。
报告章节骨架:
- KPI 行:问题总数 / 超期率(拆国内·国际) / 平均闭环(天) / 质量故障占比 / 硬件占比。
-
- 问题趋势:1.1 PDT错位(①②卡片+根因TOP) / 1.2-1.3 季度总览表 / 1.4+1.5 合并双折线(国内·国际超期率) / 1.6 SLA说明前置+超期vs按期闭环图 / 1.7 OLA竖向柱+超期闭环图 / 1.8 维保季度堆积+在保率折线。
-
- 故障分析:2.1 故障大类饼图(7类) / 2.2 故障大类季度堆积 / 2.3 故障大类平均闭环时长。
-
- 产品定向:3.1 VMS-U(国内) / 3.2 UG(海外) / 3.3 VMS-B / 3.4 EGS,各含支持组分布图+超期情况图+故障大类饼图+故障小类TOP10+高频问题现象表。
-
- 硬件故障分析。
-
- 优先行动(紧急/重要/一般) + TOP15超期单号表。
Step 4 — 应用规范
术语与视觉规范(详见 references/report-spec.md):
- 全文统一用"问题单",不用"工单"。
- 趋势统一按"季度"(24Q1–26Q2 等),不按半年。
- 闭环时长统一按"天"。
- 支持组仅保留 L2/L3,去掉二线/三线/二三线合计,OLA 改为 OLA1/OLA2/OLA3。
- 配色为文档风格:主蓝 #2563eb、琥珀 #f59e0b、绿 #10b981、红 #ef4444、紫 #8b5cf6、青 #06b6d4;浅色主题,深色文字。
- 优先行动标签:紧急(红)/重要(橙)/一般(蓝)。
- 高频问题现象表列宽:问题现象分类/问题数/平均闭环(天) 三列等宽 200px,TOP5 列自适应;表格 100% 撑满面板,不要给表格加 max-width 上限(会致整表压窄、标签换行拥挤)。
Step 5 — 校验
产出 HTML 后必做:
- 用 Node 校验
{}与()括号配平(ECharts 配置易漏闭合)。 - grep 检查残留旧值:
工单、半年、null、旧故障分类(如"软件""配置""非故障技术咨询""其他"作大类)。 - 检查图表 ID 无重复(重复 ID 会导致后图空白)。
- 图例
legend.fontSize修改后易致大括号不平衡,需重新校验配平。
Step 6 — 本地预览
启动 Node http 静态服务器托管报告目录,端口避开占用(历史用 8123–8129),用 present_files 打开 localhost 预览。数据或布局迭代后,逐项确认无误再交付。
常见陷阱(历史踩坑)
- 数据口径混淆:把全量数据用于趋势分析,导致数量虚高。务必仅园区根因子集用于非错位分析。
- 故障大类分类漂移:数据刷新后旧类(软件/null/配置/其他/非故障技术咨询)可能残留,需统一重分类至 7 类(功能缺陷/操作配置问题/环境问题/其他原因/对接问题/功能缺失/硬件故障)。
- 高频表列宽反复:在宽面板(~1200px)里三列固定窄宽+一列自适应,自适应列会吸收全部剩余显得过宽;加 max-width 上限又致整表压窄。终解:三列等宽 200px、TOP5 自适应、表格 100% 撑满,不加上限。
- 图表 ID 重复:复用模板时未改 ID,后图渲染空白。每个
id全局唯一。 - 图例遮挡:饼图 legend
bottom过小会遮挡季度标签,调大至 70 左右。
资源
scripts/analyze_issues.py— 读取 Excel 聚合全维度,输出 JSON。命令:python analyze_issues.py <Excel> <out.json>。references/report-spec.md— 详细报告规格:Excel 列映射、章节结构、各图表 ID 与配置、数据口径、术语配色、表格列宽、校验清单。assets/report-template.html— 最终版报告结构模板(v6),克隆其布局与 ECharts 配置后替换数据。
微信扫一扫