🐬【Spotfire 教學】如何回推資料從哪裡來?完整解析 Data Function、ft_yield、SQL 資料來源

 適合讀者

  • 剛接手 Spotfire 專案的新手

  • 看到一堆表名(RAW_xxx、ASMT_xxx)卻不知道資料從哪來的人

  • 工程師 / 分析師 / BI 使用者

  • 常被問:「這張圖的數字是哪來的?」卻答不出來的人


一句話先講結論(給忙的人)

在 TIBCO Spotfire 裡:

畫面上的結果 ≠ 程式碼直接算出來的
大多數情況是: 
SQL 資料庫 → Spotfire Data Table → Data Function 處理 → 圖表顯示


只要你能一路回推這條鏈,就一定能找到「真正的資料來源」。


一、為什麼 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

真正的線索,其實藏在這一行:

Input expression: [某張表].[欄位A], [某張表].[欄位B], ...

這代表:

  • ft_yield ← 不是憑空來的

  • 它是由 某一張 Data Table 的多個欄位組成

👉 這裡出現的表名,就是你要追的下一站


五、真正的來源其實是 SQL(而不是 Python)

當你一路回推後,最後一定會看到類似這樣的資訊:

  • Source:Database

  • Provider:SQL Server

  • SQL statement:一段 SELECT 語句

這代表:

Spotfire 只是「查資料」
真正產生資料的是 資料庫裡的一張表或 View


六、那資料庫裡那張表是誰產生的?

這一步非常關鍵,也是很多公司內部最容易斷線的地方。

資料庫中的分析用資料,通常來自:

  1. ETL / Loader 程式

    • Python / Java / SSIS / 排程 Job

  2. Vendor 上傳或批次匯入

  3. 資料倉儲流程

  4. View(由其他原始表計算而成)

👉 Spotfire 永遠只是「消費者」,不是「生產者」


七、工程師實戰版「回推資料來源流程圖」

你可以照這個順序,每次都找得到答案:

  1. 從畫面上的表開始

  2. 看它是不是:

    • Data Function Output?

  3. 如果是 → 看 Input Expression

  4. 找到對應的 Spotfire Data Table

  5. 打開該表的 Data Table Properties

  6. 看:

    • Database / SQL / View

  7. 回到資料庫確認:

    • Table 還是 View

    • 誰在寫入它


八、為什麼這件事對工程師很重要?

因為以下問題你一定被問過:

  • 「這個數字正確嗎?」

  • 「為什麼跟昨天不一樣?」

  • 「這個 Bin 是怎麼算的?」

  • 「是不是 Vendor 給錯?」

如果你只知道「Spotfire 有顯示」,但不知道 SQL 從哪來,你永遠無法回答。


九、給初學者的超重要提醒

❌ 常見誤會

  • Data Function ≠ 資料來源

  • 表名看起來很「系統感」≠ 它是 Spotfire 產生的

✅ 正確觀念

  • SQL 才是資料的根

  • Spotfire 只是「分析工具」


十、總結(可以直接背起來)

Spotfire 不會憑空生資料

所有數字,一定來自:
資料庫 → Data Table → Data Function → 圖表

只要你照這條線回推,一定找得到源頭

留言

這個網誌中的熱門文章

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