步驟︰設定指令碼資料來源
指令碼資料來源可讓您解決複雜的自訂資料擷取和轉換情境。您可撰寫 Kettle ETL 指令碼,以指定要從中擷取資料的資訊來源,然後將客戶特有業務規則套用至所擷取的資料。在您設定指令碼資料來源之前,您必須在網路中的內部部署 Windows 伺服器上安裝資料代理程式。請參閱「」 Concept: Data Agents 以取得詳細資訊。
Kettle 中使用的平台或指令碼不會自動升級或移轉。如果您使用舊版資料代理程式 (搭配 Kettle 4.4),則必須使用「整合」代理程式使用者介面中「下載舊版代理程式」區段內的連結。如果您想升級至 Kettle 6,則必須在先前從未安裝過任何 Kettle 版本的系統上,重新安裝新的資料代理程式和新的 Kettle 版本。
指令碼資料來源適用於有編寫 Pentaho Kettle 指令碼和使用 Spoon 使用者介面經驗的進階 ETL 實行者。如需更多有關 Pentaho Kettle 和 Spoon 的資訊 (包括大量文件和教程),請參閱 https://docs.hitachivantara.com/p/pentaho-dia。
若要設定指令碼資料來源︰
- 前往整合 > 設計整合,以存取資料設計工具。
- 在畫面右側元件庫的「資料來源」資料夾中,按一下新建資料來源。「新建」對話方塊隨即出現。
- 選取指令碼資料來源做為資料來源類型,並輸入資料來源的名稱。
- 按一下建立。畫面的中央區域會顯示新資料來源的設定和其他資訊。
- 輸入資料來源的資訊︰
- 相關聯的代理程式︰從下拉清單中選取代理程式。
- 進入點︰從下拉清單中選取進入點。進入點是系統上的 ETL 指令碼。您可以稍後編輯它。
- 記錄層級︰從下拉清單中選取記錄層級,以指定此資料來源的記錄詳細資料。您的選項有︰
- 錯誤︰僅記錄嚴重錯誤。
- 資訊︰記錄所有基本資訊,例如資料來源的更新時間。
- 詳細資訊︰提供所有階段和動作的詳盡資訊。(此層級主要用於偵錯或稽核,因為其產生的記錄資訊量可能遠超過一般用途實際所需。)
- 來源 URI︰輸入您的指令碼要連線至的 URI (以分號 (;) 分隔)。此欄位僅用於協助您識別和記載您的指令碼連至的基礎來源系統,而軟體不會將其用於任何其他目的。
- 在「動作」功能表上按一下儲存。
啟動 Spoon
儲存指令碼資料來源的基本資訊後,即可啟動 Spoon (ETL 指令碼編輯器)、處理指令碼,並將表格新增至指令碼資料來源。
若要檢視和編輯指令碼︰
- 在 Windows 的「開始」功能表中,按一下所有程式。
- 開啟 Workday Adaptive Planning Data Agent 資料夾。若資料代理程式版本為 7.1.44 版 (含) 以下,請開啟 Adaptive Data Agent 資料夾。
- 按一下 Adaptive Script Editor。在 Pentaho 啟動顯示畫面和啟動提示之後,Spoon 畫面隨即出現。
- 輸入您的Adaptive Planning登入電子郵件和密碼,然後按一下Login Now/Refresh Tenant List。如果您已從 Workday 同步使用者,請參閱 「使用 Workday 憑證登入資料代理程式和指令碼編輯器」。
- 從下拉清單中選取用戶。通常只有一個用戶。Spoon 會重新整理用戶清單。
- 從下拉清單中選取您要用於此資料來源的代理程式。Spoon 會重新整理代理程式清單。
- 從「Edit Script」的下拉清單中選取您剛建立的指令碼資料來源。
現在您已登入並告知 Spoon 您正在處理的代理程式和資料來源,可以開始編輯指令碼。
- 在 Spoon 畫面的右上角,按一下「Data Integration」。Spoon 的整合觀點隨即出現。
- 選取File > Open並瀏覽至您要檢視和編輯的指令碼,然後按一下OK。「整合」內包含的「指令碼資料來源」範例指令碼提供有關指令碼結構和資料庫連線的資訊,此資訊在您開發自己的指令碼時可能對您有所幫助。
- 視情況編輯指令碼,然後加以儲存。
- 按一下右上方的 Adaptive,返回 Adaptive 觀點。Spoon 畫面再次顯示。
- 按一下Publish Agent Changes。這會將指令碼推回至Adaptive Planning伺服器,儲存在指令碼儲存庫中。
支援下列資料匯入模式。設定可能因表格而異。
- 每次匯入資料時取代所有記錄
- 遠端代理程式會掃描所有來源記錄,並在每次必須同步資料時傳輸已變更的記錄
- 傳送所有在指定期間範圍內的記錄
將表格和欄新增至指令碼資料來源
準備好指令碼後,您可以在整合中將表格和欄新增至資料來源。
資料來源中定義的欄必須與 ETL 指令碼中定義的欄完全相符,否則資料載入會失敗。
若要將表格新增至指令碼資料來源,請執行下列步驟︰
- 在「資料元件」功能表中展開「自訂表格」項目。
- 將指令碼表格項目拖放到「要匯入的表格」區域。當您拖放此項目時,「指令碼表格」對話方塊隨即出現︰
- 輸入表格設定︰
- 名稱︰輸入表格的名稱。
- 資料匯入模式︰選取其中一種匯入模式︰
- 每次匯入資料時取代所有記錄︰這是預設值。每當匯入資料時,都會取代階段處理區域中的所有記錄。
- 匯入時使用遠端快取,找出並傳送已變更的記錄︰「整合」會查看階段處理區域,並將其與試算表或資料庫中的記錄進行比較,然後僅匯入已變更的記錄。
- 傳送所有在指定期間範圍內的記錄︰當您選取此模式時,系統會提示您輸入期間範圍和套用此範圍的欄整合。任何符合此選取條件的記錄都會匯入。
- 資料匯入篩選條件︰使用此項來輸入 SQL 運算式,以篩選要匯入的資訊或設定其格式。從資料庫擷取資料前,系統會先套用 SQL 篩選條件,以減少需要匯入的資料量,讓您進一步控制要將哪些資料帶到階段處理區域中。按一下欄位,即可顯示先前所述的「編輯 SQL 篩選條件」對話方塊。(您在此處輸入的篩選條件會套用至資料庫中的實際資料,而不是階段處理區域中的預覽資料。)
- 按一下套用以套用設定。
若要將欄新增至指令碼資料來源,請執行下列步驟︰
- 在「資料元件」功能表中展開「自訂欄」項目。
- 將其中一個欄類型拖放到「要匯入的表格」區域。當您拖放此項目時,「自訂欄」對話方塊隨即出現。
- 輸入欄設定︰
- 名稱︰輸入欄的名稱。欄名稱必須與 Spoon 的指令碼中指定的欄名稱完全相符,包括大小寫和內嵌空格。
- 欄類型︰可識別欄類型的僅供顯示欄位。
- 轉換欄類型︰您無法變更此值,但 SQL 欄除外。對於 SQL 欄,您可以從多個轉換選項中選取任何一個。
- 按一下套用以套用設定。
管理欄
如果您正在處理的表格有大量的欄,則可使用「管理欄」快速編輯要匯入的欄。「管理欄」對話方塊會在表格中顯示欄,方便您隨後勾選或取消勾選要匯入的欄。
若要管理要匯入的欄︰
- 按一下表格名稱右側分頁上的箭頭。隨即顯示包含數個選項的浮動功能表。
- 在浮動功能表上按一下管理欄。「管理欄」對話方塊隨即出現。
- 勾選欄旁邊的方塊以匯入該欄。勾選某欄時,該欄也會在儲存快顯內容後顯示在預覽視窗中。取消勾選欄可將該欄從預覽視窗中移除。您無法變更系統所產生欄位的匯入狀態,例如isDeleted。您也可選取欄屬性並設定屬性,或將欄拖放至設計工具上,藉此變更個別欄的匯入狀態。
自訂表格
針對每個表格,您可自訂資料的匯入方式。
若要自訂表格設定,請執行下列步驟︰
- 按一下表格名稱右側分頁上的箭頭。隨即顯示包含數個選項的浮動功能表。
- 在浮動功能表上按一下表格設定。
- 按一下套用以套用設定。
- 對每個表格重複步驟 1-3。
- 按一下儲存以儲存資料來源中的設定。
設定欄選項
使用「要匯入的表格」區段時,您可預覽資料在資料來源中呈現的方式,或是匯入後在階段處理區域呈現的結果。將滑鼠移到每一欄的標題上,然後按一下其名稱旁邊的下拉清單,即可變更其選項。選項包括︰
- 遞增排序︰依據此欄將整個表格遞增排序。
- 遞減排序︰依據此欄將整個表格遞減排序。
- 欄設定︰此對話方塊可用來變更階段處理表內欄的屬性。
- 名稱︰欄的名稱,顯示在標頭中
- 欄類型︰該欄使用的資料類型
- 轉換欄類型︰從此下拉式功能表中選取新的類型。
- 排除欄而不要匯入︰選取此項可從要匯入的資料中移除此欄。
- 刪除自訂欄︰選取此項可刪除整欄。(僅適用於自訂欄。)
從階段處理表下載資料
您可以從單一階段處理表下載資料。
若要從單一階段處理表下載資料︰
- 在「要匯入的表格」區段中,按一下表格標題中的向下箭頭。
- 選取下載資料。
- 在出現此作業會傳送一封電子郵件,內含下載資料的 URL提示時,按一下傳送。Adaptive Planning將內含 URL 的電子郵件傳送至與資料設計人員相關聯的電子郵件帳戶。
- 開啟電子郵件,然後按一下 URL。資料會以 .csv 格式下載。
使用進階篩選條件
在「來源」下拉式功能表下方,您可按一下
進階篩選條件
,在要匯入的表格
預覽區域中顯示用於篩選資料的選項。「進階篩選條件」提供的工具可讓您檢視及瀏覽階段處理表或指令碼內的部分資料。(當您從「來源」下拉清單中選取指令碼時,預覽要求會傳送至代理程式進行處理。)藉由變更篩選條件屬性,您可變更預覽視窗內顯示的資料檢視內容,而不需變更階段處理區域中的資料。預覽區域專門用於預覽階段處理區域中的一小部分資料。您可以探索試算表中提供的資料,並藉由檢查階段處理區域來驗證您是否取得預期的資料。(在預覽功能中設定的篩選條件不會影響階段處理區域中的實際資料。)
進階篩選條件的選項有︰
- 相異列︰勾選此方塊可隱藏重複的列。
- 最大列數︰在文字方塊中輸入數字,以限制預覽區域中顯示的列數。
- 欄︰勾選或取消勾選此下拉式功能表中的欄,即可顯示欄或隱藏已顯示的欄。
從此清單中移除欄並不會從匯入清單中移除欄。
- SQL 篩選條件︰按一下大型文字方塊可顯示「編輯 SQL 篩選條件」對話方塊 (先前所述),您可在其中輸入 SQL 篩選條件以限縮預覽中顯示的列。請按一下套用,自動檢查篩選條件的 SQL 語法。(運算式中會標出所有語法錯誤。)如需詳細的 SQL 語法說明,您可以在「附註」區段中按一下線上說明。
按一下
移除篩選條件
(在「來源」下拉式功能表旁邊),以清除所有進階篩選條件設定。在表格自訂流程中,您也可以使用 SQL 運算式建立聯結表格和自訂欄。
新增和編輯參數
您可使用參數將資訊傳遞給基礎 Kettle 指令碼。這些參數可使用預設值來設定。然後,指令碼可使用參數來控制 ETL 指令碼中的轉換和篩選。
若要新增參數︰
- 按一下「參數」標題右側的編輯參數圖示。「參數編輯器」對話方塊隨即出現。
- 在左側窗格中按一下您要新增參數的資料夾。資料夾名稱會顯示在右側窗格中。
- 按一下新增,然後從浮動功能表中選取下列選項之一︰
- 資料夾︰新建資料夾
- 布林值︰建立布林值參數 (True/False)
- 整數︰建立整數參數
- 文字︰建立文字參數
- 密碼︰建立密碼參數
- 期間範圍︰建立期間範圍參數 (開始/結束日期)
- 維度︰建立維度
- 實際值版本︰建立實際值版本
- 計畫版本︰建立計畫版本
- 在右側窗格中,輸入所選選項的資訊。
- 按一下套用。
連按兩下左窗格中您要編輯的項目並變更欄位中的資訊,然後按一下「套用」以儲存變更,即可編輯個別的參數或資料夾。
您也可以建立資料夾以將參數分組,然後將參數拖曳至該資料夾。
使用指令碼資料來源匯入資料
設定並儲存指令碼資料來源後,即可匯入資料。
若要使用指令碼資料來源匯入資料︰
- 在「動作」功能表中按一下匯入資料。選取的資料會依 ETL 指令碼以及任何 SQL 運算式篩選,然後載入階段處理區域。您可以在階段處理區域中預覽資料。
資訊會保留在階段處理區域中,直到您將其清除,或直到後續資料載入導致其依據作用中的「資料匯入模式」設定而清除。
若要從階段處理區域中清除資料︰
- 在「動作」功能表中按一下清除階段處理表。資料來源中所有表格的階段處理區域都已清除。