名称: excel-weekly-dashboard
描述: 设计可刷新的 Excel 仪表板(Power Query + 结构化表格 + 数据验证 + 数据透视表报告)。适用于需要创建可重复使用的每周 KPI 工作簿,并能从文件自动更新,最大限度减少手动操作的情况。
大规模构建 Excel 每周仪表板
目的
设计可刷新的 Excel 仪表板(Power Query + 结构化表格 + 数据验证 + 数据透视表报告)。
使用场景
- 触发条件:
- 为这个文件构建一个 Power Query 管道,使其每周自动刷新,无需手动操作。
- 将此数据转换为带有验证列表和清晰数据录入规则的结构化表格。
- 创建一个基于数据透视表的每周仪表板,包含年份和 ISO 周数的切片器。
- 修复此 Excel 模型,确保新增列时刷新不会中断。
- 设计一个可重复使用的 KPI 包,可从 CSV 文件夹自动更新。
- 不适用场景:
- 需要高级预测/估值建模(本技能适用于可重复的报告管道)。
- 需要构建 BI 工具(如 Power BI/Tableau)而非 Excel 解决方案。
- 主要数据获取方式为网页抓取。
输入
- 必需项:
- 源数据文件:CSV、XLSX、DOCX 导出的表格或 PDF 导出的表格(由用户提供)。
- “周”的定义(推荐 ISO 周)以及所需的 KPI 字段。
- 可选项:
- 数据字典 / 列定义。
- 已知的需要验证的“坏数据”模式(例如,空白的 PayNumber、无效日期)。
- 需要重构的现有工作簿。
- 示例:
- 每周 CSV 导出文件夹:
exports/2026-W02/*.csv
- 每月列结构变化的单个 XLSX 数据文件
输出
- 如果要求 仅提供计划(默认):一份分步构建计划 + Power Query 步骤 + 工作表布局 + 验证规则。
- 如果明确要求 生成交付物:
workbook_spec.md(工作簿结构和命名表)
power_query_steps.pq(M 代码模板)
refresh-checklist.md(来自 assets/ 文件夹)
成功标准:添加新一周的文件后,刷新无需手动编辑即可工作,且验证能捕获错误行。
工作流程
- 识别源类型(CSV/XLSX/DOCX/PDF 导出)和稳定的业务键(例如 PayNumber)。
- 定义规范表结构:
- 必需的列、数据类型、允许值以及“未知”值的处理方式。
- 使用 Power Query 设计数据获取:
- 优先使用 文件夹获取 + 合并,并包含防御性的“缺失列”处理。
- 规范化列名(修剪、大小写、合并空格)。
- 设计数据清洗与验证:
- 创建 Data_Staging 查询(原始规范化数据)和 Data_Clean 查询(已验证数据)。
- 添加验证列(例如
IsValidPayNumber、IsValidDate、IssueReason)。
- 构建报告层:
- 基于 Data_Clean 创建数据透视表。
- 切片器:年份、ISO 周;以及运营维度。
- 添加“刷新状态”工作表:
- 最后刷新时间戳、行数统计、查询错误标志、最新周数据。
- 在以下情况停止并询问用户:
- 必需的 KPI/列未指定。
- 源文件中不包含任何稳定的业务键。
- 周定义/时区规则不明确。
- 在没有提供导出文件的情况下,PDF/DOCX 表格无法可靠提取。
输出格式
当生成 计划 时,使用以下模板:
工作簿计划
- 工作表:
- Data_Staging(查询输出)
- Data_Clean(查询输出 + 验证标志)
- Dashboard(数据透视表/图表)
- Refresh_Status(计数 + 健康检查)
- 规范结构:
- <列名>: <数据类型> | 是否必需? | 验证规则
- Power Query:
- 查询 1: Ingest_<名称>(文件夹/文件)
- 查询 2: Clean_<名称>
- 关键转换步骤:<要点列表>
- 验证规则:
- <规则> -> <操作>
- 数据透视表设计:
- 行/列/值
- 切片器
如果要求生成交付物,则额外输出:
- assets/power-query-folder-ingest-template.pq(适配后)
- assets/refresh-checklist.md
安全性与边界情况
- 默认只读:除非用户明确要求生成文件,否则仅提供计划和代码片段。
- 永不删除或覆盖用户文件;为输出文件建议新的文件名。
- 优先避免“静默失败”:包含行数检查和可见的错误标志。
- 对于 PDF/DOCX 源,要求用户提供导出的表格(CSV/XLSX),或明确标记提取风险。
示例