🐬【Spotfire 教學】如何回推資料從哪裡來?完整解析 Data Function、ft_yield、SQL 資料來源
適合讀者:
-
剛接手 Spotfire 專案的新手
-
看到一堆表名(RAW_xxx、ASMT_xxx)卻不知道資料從哪來的人
-
工程師 / 分析師 / BI 使用者
-
常被問:「這張圖的數字是哪來的?」卻答不出來的人
一句話先講結論(給忙的人)
在 TIBCO Spotfire 裡:
畫面上的結果 ≠ 程式碼直接算出來的大多數情況是:
只要你能一路回推這條鏈,就一定能找到「真正的資料來源」。
一、為什麼 Spotfire 會讓人「找不到資料來源」?
很多人第一次看 Spotfire,會遇到這種情況:
-
畫面上有一張表,例如:
👉FT_YIELD_BIN -
打開屬性只看到:
👉 Source function: 某個 Python Data Function -
再看 Data Function,只看到一個名字:
👉ft_yield
然後就卡住了 😵
心裡只剩下一句話:
「所以資料到底從哪來?」
二、Spotfire 的資料其實有「三層結構」
用白話說,Spotfire 的資料來源通常分三層:
第 1 層:資料庫(最底層)
-
SQL Server / Oracle / MySQL…
-
真正存資料的地方
-
例如某個 Yield、測試、製程資料表
第 2 層:Spotfire Data Table
-
用 SQL 把資料撈進 Spotfire
-
表名常長這樣:
-
RAW_xxx -
ASMT_xxx -
TMP_xxx
-
第 3 層:Data Function / Script
-
Python / R
-
對 Data Table 做「再加工」
-
例如加總、轉換、比例計算
👉 很多人卡住,是因為只看到第 3 層
三、ft_yield 是什麼?(重點釐清)
ft_yield 不是一張表,也不是 SQL。
它是:
Data Function 的「輸入參數名稱」
白話翻譯就是:
「我這段 Python,需要你給我一批資料欄位來算」
而這批資料,實際上來自 另一張 Spotfire Data Table。
四、關鍵突破點:Input Expression
真正的線索,其實藏在這一行:
這代表:
-
ft_yield← 不是憑空來的 -
它是由 某一張 Data Table 的多個欄位組成
👉 這裡出現的表名,就是你要追的下一站
五、真正的來源其實是 SQL(而不是 Python)
當你一路回推後,最後一定會看到類似這樣的資訊:
-
Source:Database
-
Provider:SQL Server
-
SQL statement:一段 SELECT 語句
這代表:
Spotfire 只是「查資料」
真正產生資料的是 資料庫裡的一張表或 View
六、那資料庫裡那張表是誰產生的?
這一步非常關鍵,也是很多公司內部最容易斷線的地方。
資料庫中的分析用資料,通常來自:
-
ETL / Loader 程式
-
Python / Java / SSIS / 排程 Job
-
-
Vendor 上傳或批次匯入
-
資料倉儲流程
-
View(由其他原始表計算而成)
👉 Spotfire 永遠只是「消費者」,不是「生產者」
七、工程師實戰版「回推資料來源流程圖」
你可以照這個順序,每次都找得到答案:
-
從畫面上的表開始
-
看它是不是:
-
Data Function Output?
-
-
如果是 → 看 Input Expression
-
找到對應的 Spotfire Data Table
-
打開該表的 Data Table Properties
-
看:
-
Database / SQL / View
-
-
回到資料庫確認:
-
Table 還是 View
-
誰在寫入它
-
八、為什麼這件事對工程師很重要?
因為以下問題你一定被問過:
-
「這個數字正確嗎?」
-
「為什麼跟昨天不一樣?」
-
「這個 Bin 是怎麼算的?」
-
「是不是 Vendor 給錯?」
如果你只知道「Spotfire 有顯示」,但不知道 SQL 從哪來,你永遠無法回答。
九、給初學者的超重要提醒
❌ 常見誤會
-
Data Function ≠ 資料來源
-
表名看起來很「系統感」≠ 它是 Spotfire 產生的
✅ 正確觀念
-
SQL 才是資料的根
-
Spotfire 只是「分析工具」
十、總結(可以直接背起來)
Spotfire 不會憑空生資料
所有數字,一定來自:
資料庫 → Data Table → Data Function → 圖表
只要你照這條線回推,一定找得到源頭。
留言
張貼留言