🐬【新手必懂】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 描述:
- 先打開哪一份分析
- 要跑哪一支 Script
- 要不要存回 Library
- 之後由 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 必須是「純邏輯」
十、工程師總結(給真的要上線的人)
如果你只記三件事,請記這三句:
- Automation 不跑 Script,也不跑 DXP,只跑 Job
- Job 只能在 Spotfire Analyst 的 Job Builder 建
- 一定先 Execute Locally,再 Execute on Server
做到這三件事,你的 Spotfire 自動化成功率會直接跳到 90% 以上。
結語:這不是你不會,是文件真的不友善
Spotfire Automation 的學習曲線不低,但不是因為你能力不夠,而是:
- 官方文件偏管理員視角
- 很少用工程師流程解釋
- 關鍵觀念(Job ≠ Script)常被忽略
希望這篇文章,能幫你少走很多冤枉路。
如果你之後想進一步做到:
- 多 Job 分流(週報 / 月報)
- 報表自動寄信
- 大量裝置 / 條件批次輸出
那代表你已經進入「Spotfire 自動化進階段」,歡迎繼續深入研究。
留言
張貼留言