SKILL.md 9.5 KB


name: generate-data-report-ppt description: > 基于 Excel 业务明细数据,自动生成数据日报、周报、月报 PPT。 图表使用原生 python-pptx 可编辑 Chart 对象(非 matplotlib PNG 插入)。 当用户请求"生成日报/周报/月报"、"创建数据报告 PPT"、"输出业务报告 PPT"

或任何涉及周期性数据报告的 PowerPoint 格式需求时触发此技能。

生成数据报告 PPT

自动生成周期性业务数据报告(日报 / 周报 / 月报)为原生可编辑 PowerPoint 文件。

工作流程

  1. 接收输入:数据文件路径、报告类型、日期/周期参数、可选部门/来源名称。
  2. 加载数据scripts/data_loader.py 按日期范围读取 Excel 工作表,清洗并校验数据。
  3. 计算指标scripts/metrics_calculator.py 根据报告类型计算 KPI、分布、趋势、告警、深度洞察。
  4. 生成洞察scripts/deep_insights.py 生成结构化深度分析文本(标题 + 正文段落)。
  5. 构建 PPTscripts/ppt_builder.py 从模板复制幻灯片,替换占位符,动态绘制导航标签, 通过 scripts/chart_factory.py 插入原生图表、KPI 卡片、告警卡片、洞察文本块。
  6. 输出:保存 .pptx 文件。所有图表和表格均可在 PowerPoint 中编辑(右键 → 编辑数据)。

目录结构

generate-data-report-ppt/
├── SKILL.md
├── scripts/
│   ├── data_loader.py          # Excel 加载与数据清洗
│   ├── metrics_calculator.py   # KPI 计算引擎(含日报/周报/月报指标)
│   ├── deep_insights.py        # 结构化深度洞察生成(周报/月报各页面)
│   ├── chart_factory.py        # 原生可编辑图表创建
│   └── ppt_builder.py          # PPT 组装编排器
├── references/
│   ├── data-schema.md          # Excel 字段映射与校验规则
│   ├── report-structures.md    # 日报/周报/月报页面结构
│   ├── chart-specs.md          # 原生图表类型、配色、数据绑定
│   └── visual-style-guide.md   # 布局、字体、配色方案
└── assets/
    ├── report-master.pptx      # 日报模板(封面、内容页、目录、尾页)
    ├── weekly-master.pptx      # 周报模板
    └── monthly-master.pptx     # 月报模板

报告类型

日报

  • 结构:封面 → 核心指标概览 → 近10天趋势 → 订单状态分布 → 负责人分布 → 目的国家 TOP8 → 异常告警 → 今日要点
  • 分析维度:与昨日对比
  • 页数:8

周报

  • 结构:封面 → 周汇总 → 7日趋势 → 环比分析 → 区域分布 → 国家排行 → 团队追踪 → 问题与建议 → 下周计划
  • 分析维度:周环比(WoW)、7日移动平均
  • 页数:9
  • 导航标签:周汇总 / 趋势图 / 环比分析 / 区域排行 / 问题建议 / 下周计划

月报

  • 结构:封面 → 目录 → 月度总览 → 订单状态漏斗 → 区域分布 → TOP10 目的国 → 30日追踪趋势 → 团队绩效 → 支持需求分析 → 下月规划 → 尾页
  • 分析维度:环比(MoM)、同比(YoY)、日均值、结构占比
  • 页数:11
  • 导航标签:月度总览 / 订单状态 / 区域趋势 / 团队展望

模板使用

assets/ 下包含三种报告模板:

报告类型 模板文件 包含幻灯片
日报 report-master.pptx 封面 / 内容页 / 目录页 / 尾页
周报 weekly-master.pptx 封面 / 内容页 / 目录页 / 尾页
月报 monthly-master.pptx 封面 / 内容页 / 目录页 / 尾页

复制机制ppt_builder._duplicate_slide(prs, source_slide) 深度复制模板幻灯片到输出文稿。

导航标签:由 ppt_builder._add_nav_tabs() 在内容页上动态绘制,不内嵌在模板中。

占位符替换

所有模板形状使用 {placeholder} 语法。脚本遍历 slide.shapes 匹配段落文本进行替换。

占位符 出现位置 替换内容
{report_title} 封面、内容页眉、尾页 如"海外订单数据日报"
{report_type} 封面副标题 如"数据日报"
{date} 封面、页眉、尾页 报告日期或周期
{department} 封面、尾页 如"海外事业部"
{period} 封面、底部来源条 数据周期描述
{gen_time} 封面 报告生成时间
{page_title} 内容页 当前页面标题
{page_num} 右下角 如"3 / 8"
{source} 底部来源条 数据来源
{kpiN_label} / {kpiN_value} 封面/尾页卡片 第N个指标的标签和数值
{chapterN_title} / {chapterN_desc} 目录网格 第N章标题和描述

图表插入规则

严格使用原生图表,禁止生成 matplotlib PNG 图片。

图表类型 XL_CHART_TYPE 使用场景
簇状柱形图 COLUMN_CLUSTERED 区域分布、团队追踪、支持需求分布
簇状条形图(横向) BAR_CLUSTERED 国家排名、负责人排名、状态漏斗
折线图(带标记) LINE_MARKERS 多日趋势(10天/7天/30天)
环形图 DOUGHNUT 状态占比、区域占比
饼图 PIE 状态占比、区域占比(替代场景)
表格 TABLE 明细列表、TOP列表、状态变化、超期订单

调用 chart_factory.add_*_chart() 传入数据数组。图表数据嵌入 PPT 内部 Excel 工作簿,用户可直接编辑。

数据输入要求

Excel 文件按自然日分 Sheet,工作表命名:YYYY年MM月DD日(如 2026年04月10日)。

必填字段目的国家合同号订单总数量负责人当前状态拟定合同时间

推荐字段今日进度更新是否更新支持需求4月交付5月预测

完整字段映射、状态枚举(A-F)及校验规则见 references/data-schema.md

配色方案

角色 色值 用途
主色 #1E3A5F 页眉标题、导航标签、强调色、顶部蓝线
辅色 #5B9BD5 图表主系列、CONTENTS 标签
深色背景 #1F3A5C 封面左侧块
增长色 #10B981 上涨指标、正面变化
下跌色 #EF4444 下跌指标、负面变化、严重告警
警告色 #ED7D31 中度告警、关注提示
卡片背景 #E7F0F7 KPI 卡片背景
深灰文字 #333333 正文、主标题
中灰文字 #666666 副标题、次要信息

核心功能模块

指标计算(metrics_calculator.py)

  • 日报指标:在跟订单数、订单总量、今日更新、已发运、支持需求、下月预测、单均台数、状态分布、负责人分布、国家 TOP8、超期订单(A阶段>30天)、告警列表
  • 周报指标:周订单量、周车辆数、日均订单、单均台数、7日趋势、状态环比(WoW)、区域分布(含各国 TOP3)、国家排行(含环比变化)、团队绩效(人均产出)、支持需求分类、问题识别、下周目标(G1-G4自动生成)
  • 月报指标:月度合同数、月度车辆数、新签合同、已发运、覆盖国家数、支持需求占比、日均订单、状态漏斗(含阶段分析:前期/中期/后期)、区域分布(含各国 TOP3)、TOP10 国家(含环比变化)、30日趋势(含上中下旬均值、峰值日期)、团队绩效(人均订单/人均台数)、超期订单、下月目标(5项自动生成)、风险列表

深度洞察(deep_insights.py)

为周报和月报各页面生成结构化洞察文本,每条洞察包含标题和正文:

  • 周报:周内节奏分析、周环比趋势偏移、月度进度推演、关键驱动因素、区域引擎识别、结构健康度、转化效率、瓶颈诊断、库存资金占用、发运端效率、漏斗健康度、区域战略矩阵、国家组合健康度、团队人均产出、问题根因分类、目标拆解、风险对冲等
  • 月报:月度节奏、目标达成率、季节性同比、年度进度、漏斗结构诊断、区域投入 ROI、国家增速梯队、团队均衡性、支持需求趋势、下月里程碑等

PPT 组件(ppt_builder.py)

  • KPI 卡片:3×2 网格,支持数值、单位、变化徽章、情感标签(自动着色)
  • 告警卡片:1-3 个横向排列,支持严重/警告/关注三级颜色
  • 问题卡片:纵向堆叠,含严重度、标题、详情、建议措施
  • 目标卡片:2×2 网格,含图标、目标编号、标题、详情
  • 结构化洞察文本块:多段落洞察,自适应字号压缩以适配高度,带 emoji 前缀
  • 页脚:自动添加数据来源条和页码

执行示例

from scripts.ppt_builder import build_daily_report, build_weekly_report, build_monthly_report
from datetime import datetime

# 日报
build_daily_report('data.xlsx', datetime(2026, 4, 10), 'daily_20260410.pptx')

# 周报(2026年第14周)
build_weekly_report('data.xlsx', 2026, 14, 'weekly_w14.pptx')

# 月报(2026年4月)
build_monthly_report('data.xlsx', 2026, 4, 'monthly_202604.pptx')

扩展技能

添加新报告类型(如季报):

  1. references/report-structures.md 中添加页面结构定义
  2. scripts/metrics_calculator.py 中添加指标计算函数
  3. scripts/deep_insights.py 中添加洞察生成函数
  4. scripts/ppt_builder.py 中添加构建函数
  5. 若内容页布局通用,无需修改模板文件