批次地址整理失敗後,怎麼只重跑失敗列、不動成功資料?

重跑前不要刪掉第一次結果。把「錯誤」與經補件可再試的「無法確認」列依 record_id 篩出,另建 retry_batch_id,再把第二次輸出回填到新的結果欄。成功列不參加重跑,避免規則更新後無意改變已驗收資料。
一次重試的資料長相
| record_id | run1_status | run1_result | retry_reason | run2_status |
|---|---|---|---|---|
| R008 | 錯誤 | 空白 | 原字串含姓名電話 | 待處理 |
| R019 | 無法確認 | 缺門牌 | 已向來源補門牌 | 待處理 |
| R020 | 確定 | 格式候選 | 不重跑 | 不適用 |
R008 應先拆出真正地址,R019 必須保留來源補件紀錄;R020 不能為了湊同一批再次送入。若第一次是「可能」但沒有新資料,重跑同一字串通常不會增加證據,應留給人工而不是無限嘗試。
重試步驟
- 凍結第一次輸入、輸出、規則日期與狀態。
- 篩出可修正的失敗列,排除成功列與尚未取得新資訊的列。
- 新增 retry_batch_id,例如 B03-R1,並保留原 batch_id。
- 修正只寫入 retry_input,不覆蓋 raw_address。
- 將重試資料送入批次地址整理工具。
- 以 record_id 回填 run2_result 與 run2_status,禁止以目前列順序猜配。
- 比較兩次結果;數字、行政區或樓室若改變,強制人工覆核。
- 計算重試前後狀態轉移,不能只報「又成功幾筆」。
Power Query 能用 Merge 依 ID 對齊兩張表,但連接成功只代表 ID 相同。若同一 ID 出現兩筆重試結果,應停下查明,不選最後一筆蓋掉前一筆。
高風險差異可用地址比較工具並排檢查;完整的原文、候選與狀態安排見Excel 地址批次整理指南。重試成功仍只表示工具能產生格式候選,不表示門牌存在;缺來源證據時狀態應維持可能或無法確認。
哪些列可以進重試批次
錯誤列不一定都適合立刻重跑。若原因是縣市與行政區衝突,必須先取得更正來源;若只是匯入時混入姓名或多餘換行,可以先清出地址候選;若官方資料查無新道路,則應保留原文並交人工,不要反覆送同一輸入期待結果改變。重試條件應寫成「已補門牌」「已確認行政區」「已移除非地址欄位」,而不是籠統的「再試一次」。
retry 表至少保存 record_id、parent_run_id、previous_status、previous_reason、input_before、input_after、change_reason、evidence_ref。input_after 若和 input_before 相同,就要說明為何值得重跑,例如規則版本更新;沒有任何資料或規則變化時,重跑只會製造相同失敗。
回填不能覆蓋第一次證據
第二次成功時,把 run2_status、run2_result 與 run2_version 寫入新欄,再由決策欄指定目前採用哪一版。不要刪除第一次錯誤原因,否則無法判斷是來源補件、規則修復或人工改字造成狀態變化。第二次仍失敗時,增加 attempt_count 並轉人工,不設定無限自動重試。
完成後核對:成功列是否完全未參加本批、重試輸入列數是否等於輸出列數、record_id 是否唯一、補件來源是否可追溯。抽查一筆由錯誤轉確定、一筆仍無法確認和一筆沒有重跑的成功資料。格式轉成功也只代表本次規則可處理,門牌是否存在仍需獨立證據。
規則更新造成的重跑要另立批次
如果不是補件,而是解析規則或官方資料更新,建立 reprocess_batch 並記錄 old_version、new_version 和選取條件。先用代表樣本比較兩版,確認成功列沒有意外降級,再決定是否擴大。不能用「只重跑失敗列」掩蓋新規則可能影響原成功資料;兩種情境的驗收範圍不同。
追蹤每次重試的成本與原因
按 retry_reason 統計成功率,可以看出哪些問題適合自動重跑、哪些應直接人工補件。若「同一輸入再試」長期零成功,就取消該規則,避免浪費時間;若某種補件能穩定成功,則把補件要求寫進上游表單。報表仍要分開規則成功與地址真實性,不能因重試轉確定就宣稱門牌已查證。