Leo Yeh's Blog

SAS Viya (130)

教學目標

初步了解如何以 SAS Visual Analytics on SAS Viya 搭配 SAS Job Execution 整合企業內部核心系統的網站功能。

重點概念

首先在企業內部有許多核心系統的網站功能是目前報表網站應用程式還無法取代,此時我們是否能夠針對在 SAS Visual Analytics on SAS Viya 報表網站應用程式中不同用途的視覺化報表根據使用者所點選的內容傳遞參數至核心系統特別的網站功能中呈現出對應且適當的資訊呢?答案是技術可行,我們能夠透過 SAS Visual Analytics on SAS Viya 中報表連結動作的功能完成上述需求。但是通常在連接至傳遞參數至核心系統之前,我們可能會需要先執行前置資料處理,此時可能會透過 Flask (Python) 或 Node.js (Javascript) 客製開發後端資料處理伺服器進行前置資料處理,當完成前置資料處理之後,才會傳遞處理過後的新參數至核心系統特別的網站功能中呈現出對應且適當的資訊。

然而 SAS 平台也有提供客製開發後端資料處理伺服器,著在 SAS 9 平台中主要提供 SAS Stored Process 網站應用程式,而在 SAS Viya 平台中主要提供 SAS Job Execution 網站應用程式,這兩個網站應用程式皆能夠按照客戶端應用程式的請求執行對應的 SAS 程式碼,以利我們在伺服器進行資料處理之後,立即呈現報表結果。至於要如何設定 SAS Visual Analytics on SAS Viya 報表直接連結 SAS Stored Process 的預儲程序或 SAS Job Execution 的預儲程序,則建議參考官方文件。此外若是使用的是 SAS Visual Analytics on SAS Viya 報表網站應用程式,則建議使用 SAS Job Execution 網站應用程式,至於考慮因素請參考以下表格資訊。

跨站請求 登入執行 傳遞參數
SAS Stored Process on SAS 9 需設定白名單 需設定匿名登入 預設
SAS Job Execution on SAS Viya 預設 預設 預設

再來若要以 SAS Job Execution 網站應用程式來建立 SAS 程式碼的預儲程序,一開始則需要先輸入「https:// [SAS Viya URL] /SASJobExecution」登入至 SAS Job Execution 網站應用程式,建立儲存預儲程序的資料夾,像是我們能夠在「My Folder」下建立「Stored Process」資料夾,新增工作定義檔,像是命名為 DataPrep,此時我們就能夠在工作定義檔中撰寫進行資料處理的 SAS 程式碼。然而當我們撰寫完成工作定義檔,並且儲存之後,要如何取得執行網址呢?非常簡單,僅需要在工作定義檔上按右鍵點選「屬性」,然後展開「進階」,其中就有一個參數為「工作提交」,其值就是執行預儲程序的網址,通常會呈現以下類似格式的網址,此時就能夠將此網址設定至 SAS Visual Analytics on SAS Viya 報表的連結動作中。

1
http://[SAS Viya URL]/SASJobExecution/?_program=%2FMy%20Folder%2FStored%20Process%2FDataPrep

此外當我們執行完成預儲程序之後是否能夠返回 SAS Visual Analytics on SAS Viya 報表中呢?此時建議參考官方文件,其實作方式就是當執行完成預儲程序之後輸出 HTML 網頁,並且在 HTML 網頁中進行重新轉換網址 (Redirect) 的操作,所以技術上理應可行,但是如果要讓預儲程序動態轉換網址至適當的報表頁面,則有許多方式,像是我們能夠透過傳遞參數的方式直接動態對應至適當的報表頁面連結。

最後除了以 SAS Visual Analytics on SAS Viya 搭配 SAS Job Execution 整合企業內部核心系統的網站功能之外,我們更能夠透過 IFrame 嵌入網頁連結SDK 軟體開發套件兩種方式整合 SAS Visual Analytics 報表至核心系統的網站應用程式中,以利成為其中的關鍵元件,至於整合網站應用程式的實務經驗分享,則建議參考官方論文

相關資源

⬅️ Go back