🐬【新手必懂】TIBCO Spotfire Automation Services 排程報表完整教學-從「看不到 Job」到「成功自動產出報表」的工程師實戰解析

前言:為什麼 Spotfire 自動化,常讓新手卡關?

很多公司在使用 TIBCO Spotfire 時,最後一定會遇到一個需求:

「這份分析報表,可以每天 / 每週 / 每月自動產出嗎?」

於是大家會開始研究 Automation Services,結果常常卡在這些問題:

  • Script 已經寫好了,為什麼 Automation 看不到?
  • DXP 已經存到 Library,為什麼排程頁面是空的?
  • Web 介面找不到「建立 Job」的地方?
  • Job Builder 到底在幹嘛?
  • 本機可以跑,Server 為什麼失敗?

這篇文章會用工程師白話 + 實戰流程,一步一步帶你從 0 到成功。


一、先建立正確觀念:Spotfire 自動化不是「直接跑程式」

新手最常見的誤解

很多人以為 Automation Services 是這樣運作的:

排程 → 直接執行 Script → 輸出報表

這是錯的


正確的系統設計是這樣

Spotfire 的自動化其實是「三層結構」:

Automation Job
├─ 開啟分析檔(DXP)
├─ 執行分析內的 Script
└─ (必要時)儲存結果

👉 Automation Services 只執行「Job」
👉 不會直接跑 Script,也不會直接跑 DXP


二、為什麼你在 Web Automation Services 看到的是「空的」?

關鍵原因只有一個

因為你還沒有建立「Automation Job 檔案」

Spotfire Library 裡,其實存在三種完全不同的東西:

類型 用途 Automation 看得到嗎
分析檔(DXP) 報表與資料視覺化
分析 Script IronPython 邏輯
Automation Job 描述「怎麼跑」

Automation Services Web 介面只認得第三種。


三、真正能建立 Job 的地方在哪?(90% 的人找錯)

答案不是 Web,而是「桌面版 Spotfire Analyst」

正確入口在這裡:

Spotfire Analyst(桌面版)
→ Tools
→ Automation Services Job Builder

這是唯一能建立 Automation Job 的地方

Web 介面只負責:
  • 排程
  • 啟用 / 停用
  • 查看執行紀錄


四、Automation Job Builder 在做什麼?工程師白話版

Job Builder =「自動化流程說明書」

你不是在寫程式,而是在用 GUI 描述:

  1. 先打開哪一份分析
  2. 要跑哪一支 Script
  3. 要不要存回 Library
  4. 之後由 Server 幫你照表執行

五、建立第一個 Automation Job(完整流程)

以下用「完全假資料 + 假碼」示意,不涉及任何實際商業邏輯。


Step 1:新增第一個 Task(一定要)

Task 類型:

Open Analysis from Library

用途說明(白話):
先把報表檔打開,後面的 Script 才知道要操作哪個畫面與資料。


Step 2:新增第二個 Task(執行邏輯)

Task 類型:

Execute JSSPPlus ScriptJob

用途說明:
執行你事先寫在分析檔裡的 IronPython Script。

示意 Script(假碼)

取得今天日期
計算資料查詢區間
重新整理資料來源
逐一套用條件
輸出多份報表檔案

⚠️ 注意:

  • Job Builder 不是貼程式碼
  • 而是「選擇已存在的 Script 名稱」

Step 3(選擇性):是否要存回 Library?

只有在 Script 有修改「分析狀態」時才需要,例如:

  • 改報表篩選條件
  • 改全域參數
  • 改書籤狀態

如果只是輸出檔案,可以不加。


六、為什麼要先「本機執行」?工程師最佳實務

Job Builder 提供兩種執行方式:

模式 用途
Execute Locally 開發、除錯
Execute on Server 正式排程

為什麼一定先跑 Local?

  • 錯誤會直接顯示
  • 不用翻 Server log
  • Debug 成本最低

這就像寫後端 API:
👉 一定先在本機跑通,才丟到正式環境


七、成功後的最後一步:存成 Automation Job

當本機執行成功後:

File
→ Save
→ Save to Library

這一步會產生一個 Automation Job 檔案

這一刻開始,Web Automation Services 才「看得到它」。


八、回到 Web:排程正式上線

流程就會變得非常直覺:

Automation Services(Web)
→ Scheduled Jobs
→ Schedule a Job
→ 選擇剛剛建立的 Job
→ 設定時間
→ Enable

完成。


九、為什麼本機成功,Server 常失敗?(兩個真實地雷)

地雷一:輸出路徑權限

  • 本機能寫 ≠ Server 能寫
  • Server 使用的是「服務帳號」
  • 最穩做法:使用網路共享路徑(UNC)

地雷二:依賴 UI 的 Script

Automation 是「無畫面(Headless)」執行:

  • 不能依賴使用者點擊
  • 不能依賴前端互動
  • Script 必須是「純邏輯」

十、工程師總結(給真的要上線的人)

如果你只記三件事,請記這三句:

  1. Automation 不跑 Script,也不跑 DXP,只跑 Job
  2. Job 只能在 Spotfire Analyst 的 Job Builder 建
  3. 一定先 Execute Locally,再 Execute on Server

做到這三件事,你的 Spotfire 自動化成功率會直接跳到 90% 以上。


結語:這不是你不會,是文件真的不友善

Spotfire Automation 的學習曲線不低,但不是因為你能力不夠,而是:

  • 官方文件偏管理員視角
  • 很少用工程師流程解釋
  • 關鍵觀念(Job ≠ Script)常被忽略

希望這篇文章,能幫你少走很多冤枉路。

如果你之後想進一步做到:

  • 多 Job 分流(週報 / 月報)
  • 報表自動寄信
  • 大量裝置 / 條件批次輸出

那代表你已經進入「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 錯誤)