返回文章列表

資料與文件 · 實作指南

AI 銷售報表有三行,可能只係兩張訂單

用合成訂單檢查連接明細點樣重複加總,同按金額去重點解都會計錯;先講清楚一行代表乜嘢。

AI 銷售報表有三行,可能只係兩張訂單

AAHouse 原創解說影片,採用 AI 輔助概念畫面、合成旁白及原創音樂。

英文逐字稿 · 簡體中文普通話逐字稿 · 台灣華語逐字稿 · 澳門粵語逐字稿

一張訂單,點解出現兩次

畀 AI 一份訂單表同一份明細表,叫佢產生銷售摘要。以下係虛構嘅美國工作室資料,金額全部係美元:訂單 A 總額 100,有兩項商品;訂單 B 總額 60,有一項商品。真正嘅訂單總額係 160。將兩張表連接之後,結果有三行。如果再將每行嘅訂單總額加埋,就會得到 260。模型唔使編造任何數字,都可以寫出錯誤結論。

起點:兩張訂單
起點:兩張訂單 — A:$100 → 商品 1、商品 2; B:$60 → 商品 3; 訂單合計:$160
  • A:$100 → 商品 1、商品 2
  • B:$60 → 商品 3
  • 訂單合計:$160

說明圖重繪 · 合成資料,唔係實際業務結果

問題藏喺「一行代表乜嘢」

訂單表一行代表一張訂單,明細表一行代表一項商品。PostgreSQL 文件說明,內部連接會將左表嘅一行,同右表每一行符合條件嘅資料配對,產生連接結果行。[1] 所以 A 嘅 100 出現兩次,係連接規則嘅結果,唔係兩筆收入。叫 AI 寫查詢之前,先將目標寫成「每張訂單計一次」,唔好籠統噉講「彙總呢啲表」。

連接之後:三行,唔係三張訂單
連接之後:三行,唔係三張訂單 — A / 商品 1 / $100; A / 商品 2 / $100; B / 商品 3 / $60; 錯誤加總:$260
  • A / 商品 1 / $100
  • A / 商品 2 / $100
  • B / 商品 3 / $60
  • 錯誤加總:$260

說明圖重繪 · 合成資料,唔係實際業務結果

唔好用一個 DISTINCT 遮住問題

淨係按金額去重,唔係修復方法。再加訂單 C,總額一樣係 100,但係另一張真實訂單。正確總額變成 260;SUM(DISTINCT 订单总额) 只留低 100 同 60,仍然得到 160。文件入面嘅 DISTINCT 係針對運算式嘅值去重,唔會理解訂單身份。[2] 去重鍵一定要對應業務物件,唔可以因為兩個金額一樣,就刪走其中一張訂單。

再加另一張 $100 嘅訂單 C
再加另一張 $100 嘅訂單 C — 實際訂單:A $100 + B $60 + C $100; 正確:$260; 按金額去重:$100 + $60 = $160
  • 實際訂單:A $100 + B $60 + C $100
  • 正確:$260
  • 按金額去重:$100 + $60 = $160

說明圖重繪 · 合成資料,唔係實際業務結果

先揀統計層級,再補明細

如果只係問訂單總額,直接彙總訂單表就得。如果需要商品數量之類嘅明細指標,就先按訂單編號,將明細彙總成每張訂單一行,再連接返訂單表。我哋建議分開核對訂單總額同商品數量,避免冇明確規則,就將訂單層級嘅金額分配落每項商品。呢度討論嘅係報表計算方式,唔係會計或者稅務確認方法。

兩種統計層級,要分開彙總
兩種統計層級,要分開彙總 — 訂單表 → 每張訂單一次 → 金額合計; 明細表 → 按訂單編號彙總 → 商品數量; 再連接:每張訂單最多一行彙總資料
  • 訂單表 → 每張訂單一次 → 金額合計
  • 明細表 → 按訂單編號彙總 → 商品數量
  • 再連接:每張訂單最多一行彙總資料

說明圖重繪 · 合成資料,唔係實際業務結果

用三張訂單驗收,唔靠流暢解釋

留低 A、B、C 做一組固定小測試:應該有三張訂單、四項明細,總額 260。仲應該加一張冇明細嘅訂單,檢查係咪要保留,並講清楚退款、取消同日期範圍嘅規則。本文已經喺本地 SQLite 執行咗呢組合成資料實驗,驗證咗重複加總同按金額去重呢兩種錯誤;冇連接任何商家資料庫,亦冇測試正式環境嘅查詢。

固定測試嘅預期結果
固定測試嘅預期結果 — 訂單數:3; 明細行數:4; 訂單總額:$260; 三項一齊核對
  • 訂單數:3
  • 明細行數:4
  • 訂單總額:$260
  • 三項一齊核對

說明圖重繪 · 合成資料,唔係實際業務結果

下一句點樣交代 AI

可以要求:「先講清楚每張表,同最終結果嘅一行代表乜嘢,再提供查詢,並用固定測試核對訂單數、明細數同總額。」叫 AI 幫手解釋差異同產生測試,但係統計計算方式要由業務負責人確認。報表上線之前,保存查詢版本、輸入範圍同驗收結果;一張計得啱嘅小表,比一段聽落合理嘅銷售分析更有說服力。

驗收之前要寫清楚
驗收之前要寫清楚 — 一行係乜?訂單定係商品?; 邊啲訂單喺統計範圍內?; 冇明細嘅訂單、退款同取消點處理?
  • 一行係乜?訂單定係商品?
  • 邊啲訂單喺統計範圍內?
  • 冇明細嘅訂單、退款同取消點處理?

說明圖重繪 · 合成資料,唔係實際業務結果

想把想法變成可驗證的試行?

聊聊你的工作流程

來源與延伸閱讀

編輯原則

本系列以 AI 輔助原創撰寫,並對照連結的公開來源。實作建議與假設情境屬編輯分析,並非客戶實績。來源發布日期及產品細節可能與本系列整理日期不同。