👋【教學】為什麼圖表的百分比會全部變成 100%?工程師用生活化方式教你理解資料欄位、樞紐分析與計算邏輯錯誤

👋 前言:為什麼明明資料沒問題,圖表卻「一片 100%」?

在資料分析工具(例如 Excel、Power BI、Tableau、Spotfire)裡,我們常常看到一個詭異的狀況:

每個項目的百分比全部都是 100%。

這對新手來說非常困惑,但對工程師來說,這背後其實只有兩種可能:


🎯 第一層原因:你用錯資料欄位了(最常見)

很多人以為自己在計算「每個分類佔比」,
結果其實用到的欄位是:

  • 不存在的欄位(例如以為有 BINCOUNT,但實際上只有 QTY)

  • 使用到非當前資料表的欄位

  • 使用到經過樞紐分析後被覆寫的欄位

工程師常說:

📌 如果欄位不存在,你的計算式看起來會跑,但結果一定錯。

就像你要煮湯但冰箱沒有雞肉,你卻在食譜寫「加入雞肉」——
表面看起來合理,但結果肯定不對。


🎯 第二層原因:百分比的「分母」取錯了

這才是 100% 問題最常見的根源。

一般來說:

百分比 = 個別數值 / 全部合計 * 100

但如果你的公式變成:

個別數值 / 個別數值 * 100

那麼——
不管是 10/10、50/50、999/999、23456/23456
結果都永遠是:

100%

🧪 生活化類比:為什麼會全部變 100%?

假設你要算:

🍎「每種水果佔全部水果數量多少?」

正確作法應該是:

蘋果數量 / 全部水果數量 香蕉數量 / 全部水果數量 芭樂數量 / 全部水果數量

但如果你的公式動到「每一列自己算自己」,
你不小心把它變成:

蘋果數量 / 蘋果數量 香蕉數量 / 香蕉數量 芭樂數量 / 芭樂數量

那自然:

  • 蘋果佔比 = 100%

  • 香蕉佔比 = 100%

  • 芭樂佔比 = 100%

這就是百分比全變 100 的真正原因。


🧩 工程師角度:實際案例簡化

很多企業使用客製化報表系統(含資料庫、ETL 與 BI),
底層可能經歷:

  1. 資料表 Join(資料合併)

  2. 樞紐分析 Pivot(將多列資料變成多欄)

  3. 新欄位計算(例如 Rate%、Yield%、Fail Ratio)

  4. 過濾、排序、資料欄位顯示

而錯誤常發生在第 3 步:

❌ 使用不存在的欄位計算

例如以為有欄位「BINCOUNT」,但實際資料只有「QTY」。

❌ 計算百分比時分母設定錯

很多 BI 工具在樞紐轉換後,會讓「同一列」的欄位互相參照,
導致:

Rate = QTY / QTY

而不是:

Rate = QTY / 所有相同分類的 QTY 合計

🛠️ 那工程師是怎麼修的?(白話版)

工程師做了以下幾件事,你也可以照做:


✔ 1. 先確認資料來源

檢查原始資料表裡到底有哪些欄位,例如:

  • QTY(每個分類的數量)

  • TEST_QTY(總測試數)

  • BIN_NAME(分類名稱)

  • PRODUCT(產品名)


✔ 2. 找出真正能算百分比的欄位

例如:

  • 如果想算 Fail 率 → 需要 Fail_QTY

  • 如果想算各分類佔比 → 需要 QTY

  • 如果想算通過率(Yield)→ 需要 Pass_QTY 與 Test_QTY

關鍵:
不要用不存在的欄位,也不要用錯欄位。


✔ 3. 設定正確分母(最重要)

工程師通常會用這樣的邏輯:

Rate% = 個別分類的 QTY / 全部分類 QTY 合計 * 100

這樣:

  • 最大的分類 → 可能 90%

  • 次要分類 → 3%

  • 小分類 → 0.1%

  • 不會全部變 100%

這就是工程師修復的核心。


📊 修好後的圖表會長怎樣?

你會看到:

  • 第一個分類(例如最常見的錯誤類型)可能佔 98~99%

  • 其他分類變成 0.1%~0.5% 的長尾分布

  • 這種曲線通常用於 Pareto Chart(柏拉圖)

而不是:

❌ 全部 100
❌ 一堆無用的大長條
❌ 資料看起來完全失真


🌟 結論:百分比錯誤幾乎都不是工具壞掉,而是「欄位與公式設定」出問題

如果你看到所有項目都變成 100%:

請檢查三件事:

  1. 欄位有沒有真正存在?

  2. 欄位是不是從別的表 Join 過來但沒有值?

  3. 百分比的分母是不是寫錯?

只要修正上述三件事,
不論你用的是 Excel、Power BI、Tableau、Spotfire,
百分比都會恢復正常。

留言

這個網誌中的熱門文章

🔍Vue.js 專案錯誤排查:解決 numericFields is not defined 與合併儲存格邏輯最佳化

🖥️遠端桌面連線完整新手指南:Windows RDP、Chrome Remote Desktop、AnyDesk、TeamViewer 一次搞懂

🔎EF Core 連 Oracle 出現 ORA-00600 [kpp_concatq:2] 的完整排錯指南(含 EF Core ToString/CultureInfo 錯誤)