🐬Spotfire 中的 LOT_ID 從哪裡來?一次搞懂「資料欄位」與「畫面選單」的差別(新手必讀)

前言:為什麼「LOT_ID」會讓人越查越亂?

在企業 BI 系統(例如 Spotfire)中,很多新手會遇到一個經典困惑

「畫面上明明有一個 LOT_ID 可以選,
表格裡也有 LOT_ID 欄位,
那它們是不是同一個東西?」

答案是:通常不是。

這篇文章會用完全不需要背景知識的方式,帶你一步步理解:

  • 為什麼畫面上的 LOT_ID「不是資料表的 LOT_ID」

  • 為什麼工程師會故意這樣設計

  • 要去哪裡找真正的來源

  • 如何避免後續系統維護踩雷


一、先建立一個最重要的觀念(90% 問題都出在這)

在 Spotfire(以及多數 BI 工具)中,其實存在 兩個完全不同層級的東西

1️⃣ 資料層(Data)

  • 來自資料庫

  • 例如:生產批號、測試結果

  • 會出現在表格、圖表中

2️⃣ 操作層(UI / 控制)

  • 給使用者「選擇用的」

  • 例如:下拉選單、多選清單

  • 用來決定「接下來要查什麼資料」

👉 畫面上的選單 ≠ 資料表裡的欄位

這是所有新手最容易誤會的地方。


二、畫面上的 LOT_ID 其實是「選單用參數」

很多系統會在畫面左側放一個:

LOT_ID [ ⬜ ⬜ ⬜ ]

乍看之下你會以為:

「這一定是資料庫裡的 LOT_ID 吧?」

但實際上,它通常是:

一個「畫面參數(Property)」
❌ 不是資料表欄位

為什麼要這樣做?

因為:

  • 使用者要「先選條件」

  • 系統再根據條件去查資料

  • 查完後,結果才會顯示在表格裡

這樣系統效能與操作體驗才會好。


三、那這個「畫面用 LOT_ID」是從哪裡來的?

工程上常見的做法是:

建立一張「參數資料表」

這張表的用途不是分析,而是:

  • 提供畫面選單的選項

  • 控制查詢行為

常見命名(示意)

PARAM_INPUT

裡面可能只有一欄,例如:

PARAMETER

四、為什麼這個 LOT_ID 看起來「怪怪的」?

很多系統的歷史設計會出現這種情況:

  • 表面叫 LOT_ID

  • 實際內容卻是「程式參數」、「內部代碼」

原因只有一個:

命名沿用舊系統,但實際用途已經改變

這在企業系統裡非常常見。


五、工程師實際在做什麼?(示意說明)

在後端,工程師通常會這樣處理:

Step 1:先決定「使用者選了什麼」

(例如某個測試程式)

Step 2:用這些選項去查「對應的參數清單」

(給畫面用)

Step 3:再用選到的參數,去查真正的生產資料


六、用「白話版流程圖」理解

使用者選選單 ↓ 畫面參數(Property) ↓ 系統組查詢條件 ↓ 查資料庫 ↓ 結果顯示在表格與圖表

👉 選單只是「開關」
資料表才是「結果」


七、那表格裡真正的 LOT_ID 從哪來?

這個就回到資料層了。

真正用來分析的 LOT_ID,通常來自:

  • 生產資料表

  • 測試資料表

  • 結果彙總表

它們會被:

  • JOIN

  • PIVOT

  • 聚合(SUM / AVG)

最後才出現在你看到的「Yield Summary」或報表中。


八、為什麼工程師不直接用資料表欄位當選單?

因為那會造成三個問題:

  1. 效能差(每次操作都打資料庫)

  2. 邏輯混亂(選單與結果互相影響)

  3. 系統難維護(一改就全壞)

所以專業系統一定會把:

「選擇條件」
「分析結果」
分開處理。


九、新手最常犯的三個誤解

❌ 看到一樣名字,就以為是同一個來源
❌ 在結果表找選單來源
❌ 在選單邏輯修改分析資料


十、正確的工程思維(重點整理)

項目 正確理解
畫面 LOT_ID 操作用參數
表格 LOT_ID 真實資料
參數表 控制流程
分離設計 系統穩定

結語:記住這一句就夠了

在 Spotfire 裡,
你「點選的」不是資料, 
你「看到的結果」才是資料。


理解這一點,你之後看任何 BI 專案,都不會再迷路。

留言

這個網誌中的熱門文章

🔍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 錯誤)