Lantide Data
返回博客
数据分析实践

每周 CSV 或 Excel 报表如何重跑,不必每次从头开始

一套可实际执行的重复分析流程,保留输入文件、指标定义、SQL、验证检查与报告限制。

你每周都会收到一份新的 CSV 或 Excel 导出文件。字段大致相同,但数据行已经改变。你需要清理数据、连接参考文件、计算几个指标、检查总数,再交付报表。下一周,同样的工作又要重做一次。

真正困难的不是得到一次答案,而是保留足够完整的流程,让下次可以安全重跑,并解释新结果为什么不同。

以下用每周库存报表作为例子。同一套方法也适用于应收账款、销售导出、客服工单、营销表现,以及其他重复的文件分析。

示例场景

假设每周五会收到三份文件:

  • inventory_2026-08-21.xlsx,每行代表一个 SKU 与地点
  • product_master.xlsx,包含供应商、分类与单位成本
  • 上周的库存导出文件,用于比较变化

最后要产出总库存价值、低库存商品,以及各供应商最大的周变化。

一套可以重跑的流程,至少要先回答以下五个问题。

1. 这次结果使用了哪些确切文件?

保留带日期的输入文件,不要每周覆盖 inventory_latest.xlsx。记录工作表、文件日期与报表截止时间。如果来源之后被修正,你必须知道当时使用的是原始版还是修正版。

小型流程只需要一个按日期保存的文件夹:

2026-08-21/
  inventory_2026-08-21.xlsx
  product_master_2026-08-21.xlsx
  previous_inventory_2026-08-14.xlsx

文件夹不能保证数据正确,但可以让当时的输入状态被识别。

2. 每个指标的定义是什么?

执行前先写下数据粒度与定义。

例如:

  • 粒度:每行代表一个 SKU 与地点
  • 库存价值:现有数量乘以单位成本
  • 低库存:现有数量低于商品补货点
  • 周变化:相同 SKU 与地点的本周数量减去上周数量

这能避免下次重跑时,分析悄悄从地点层级改成 SKU 层级,或把单位成本换成定价。

3. 哪些转换逻辑必须被重用?

把清理、连接、筛选与计算保留成可执行的 SQL 或代码。逻辑中应包含连接键,以及参考数据缺失时的处理方式。

以下是简化的比较查询:

SELECT
  current.sku,
  current.location,
  master.vendor,
  current.on_hand_quantity,
  previous.on_hand_quantity AS previous_quantity,
  current.on_hand_quantity - previous.on_hand_quantity AS quantity_change,
  current.on_hand_quantity * master.unit_cost AS stock_value
FROM current_inventory AS current
LEFT JOIN previous_inventory AS previous
  ON current.sku = previous.sku
 AND current.location = previous.location
LEFT JOIN product_master AS master
  ON current.sku = master.sku;

实际数据表名称会取决于文件加载方式。重点是保存逻辑,不要每周五再让 Agent 重新猜一次。

4. 报表交付前,哪些检查必须通过?

在最终输出前加入一个小型验证关卡:

  1. 计算来源行数与不同 SKU 地点键的数量。
  2. 检查本周与上周文件中的重复键。
  3. 计算找不到商品主数据的 SKU 数量。
  4. 比较连接前后的现有总数量。
  5. 标记空白或负数的单位成本。

错误的连接可能产生看似合理的报表,同时把数据行重复放大。这些检查可以让问题被发现。更多文件检查可参考 CSV 数据质量检查表

5. 流程能否重现自己的结果?

替换成下周文件之前,先用同一组输入重新执行一次。关键总数与异常数量应该一致。

接着换成新的日期文件再重跑。如果结果改变,依次比较:

  • 来源行数与 schema
  • 未匹配键与重复键
  • 指标定义
  • SQL 变更
  • 数据截止时间与后续修正

目标不是要求数字永远相同,而是让差异可以被解释。完整的证据链可参考 什么是可重现的 AI 分析

Lantide Data 适合放在哪里?

当重复工作主要是分析时,例如合并文件、检查连接、计算指标、比较期间,以及保存可检查的 Plan、SQL 证据与 Report,Lantide Data 会比较适合。

第一个测试可以很小:

  1. 选择两份没有敏感信息,而且 schema 大致相同的周报导出文件。
  2. 定义一个比较指标与两项验证检查。
  3. 让 Agent 起草 Plan。
  4. Execute 前先检查粒度、连接与指标定义。
  5. 把批准的 Plan、生成的 SQL 与 Report 留给下一次执行。

Lantide Data 不打算取代 Excel 的复杂格式、公式、数据透视表编辑、电子邮件交付或定时 SharePoint 工作流。如果工作主要是刷新现有工作簿并自动发送,Power Query、Office Scripts 或 Power Automate 可能更合适。

如果工作是通过可检查的 SQL 查询并比较本地文件,可阅读 Lantide 如何使用 DuckDB 分析 Excel 与 CSV

一个 15 分钟的首次工作流

使用一个真实但没有敏感信息的重复工作。第一次测试不要直接放入机密数据或大型正式流程。

尝试回答:

  • 你能在执行前理解并修正 Plan 吗?
  • 你能检查生成的 SQL 与验证步骤吗?
  • 你能重跑同一流程,而不必重建全部指令吗?
  • 结果改变时,你能找到原因吗?

下载 Lantide Data。如果你测试了这个流程,可以通过 Contact 页面告诉我们你做了什么、在哪里犹豫,以及下周是否还会使用这套流程。