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 頁面告訴我們你做了什麼、在哪裡猶豫,以及下週是否還會使用這套流程。