背景
當使用資料管理套件編排報告流程時,我們經常遇到複雜的工作流程場景。例如,應用程式可能需要執行:
- 具有不同輸入的多次單一工作流程
- 多個不同的工作流程
- 多個並發工作流程,每個工作流程都有特定的輸入
- 需要特定參數(例如日期、檔案名稱或規則名稱)的來源系統整合工作流程
為了有效地自動化和管理這些複雜的工作流程要求, 控製表 的概念被證明是非常寶貴的。控製表充當集中管理工具,允許預先定義每個工作流程執行的輸入。透過利用控製表,使用者可以指定每個工作流程運行的參數和條件,從而促進無縫、自動化的流程,透過適當的輸入運行所有必要的工作流程,而無需在每個步驟進行手動幹預。
透過建立和利用控製表,使用者可以:
- 定義每次執行時將傳遞到鏈的輸入值
- 定義標誌來確定鍊是否應該執行某些操作
- 執行連結或執行規則時,將查詢參數、規則名稱或日期篩選器等值傳遞到系統工作流程。
- 執行前滾操作
- 管理 Workiva 中工件的 ID 的
- 記錄工作流程的執行狀態
本文將引導使用者完成建立簡單控製表的過程。此表將允許使用者使用不同的輸入集來運行相同的工作流程。
必要條件
- 配置 Workiva 連接器
- 配置 JSON 連接器
- 配置 車把連接器
第 1 步:設定控製表
- 在 Workiva 平台中建立電子表格
- 將所有權權限指派給與 OAuth2 授權關聯的使用者。
- 將電子表格和工作表重新命名為
- 控制電子表格
- 控製表
步驟 2:設定控製表的標題(鍵)
為將由鏈工作流程處理的每個值建立標頭。在此範例中,設定了以下標頭:
- Active_Flag: 判斷該行是否應該處理
- File_Name: 待處理的檔名
- Table_ID: 將匯入檔案的 Wdata 表的 ID
步驟 3:為控製表中的標題指派值
- 在此範例中,為每個鍵/值對定義了三個值。因此,當讀取每一行時,將輸入以下資料:
true, file_x.csv, df2a1988929e4358858306956685e162
true, file_y.csv, df2a1685e162 [] true, file_y.csv, df2a1685e162
true, file_y.csv, df2a19586 z.csv, df2 a1988929e4358858306956685e162
步驟 4:建立一條鏈來檢索控製表數據
為了從電子表格中檢索控製表數據,必須建立一個鏈來讀取電子表格。
- 導航到 Chains 模組並建立一個新的 Chain
- 導航至鏈設定並為新鏈命名 取得控製表資料
- 增加兩個 Chain 變數:
- 簡歷-電子表格ID
- 履歷表名稱
- 使用控製表中對應的 SpreadsheetID 和 SheetName 值填入每個變數。
第5步:取得工作表數據
為了使用控製表中的數據,您必須使用 Get Sheet Data 命令。此命令從電子表格的工作表中讀取內容並產生 .csv輸出。
- 將 Workiva Get Sheet Data 指令拖曳到畫布的 START 部分
- 配置命令
- 重新命名 取得控製表資料
- 使用鏈結變數 cv-SpreadsheetID 作為電子表格 ID 字段
- 使用鏈結變數 cv-SheetName 作為工作表 ID/名稱字段
- 輸入 A1: 代表區域
- 將值樣式和修訂保留為 計算和 -1
- 點擊“儲存”
第 6 步:將工作表資料轉換為 JSON
成功檢索 .csv 格式的控製表資料後,下一步是將其轉換為 JSON。此轉換可確保標題和列值正確地重新格式化為 JSON Key-Value 結構。這種格式對於後續步驟至關重要。
- 將 CSV to JSON 指令拖曳到畫布上
- 將 取得控製表資料 指令連結到 CSV 到 JSON 指令
- 編輯 CSV to JSON 命令
- 在 輸入檔 欄位中,使用 取得控製表資料 [] 下拉清單中的 ] 資料 輸出
- 將分隔符號欄位保留為逗號 (,)
- 點擊“儲存”
第 7 步:迭代 JSON 數據
現在控製表資料採用 JSON 格式,命令組可用於 迭代 控製表中的每一行數據
- 將 命令組 加入畫布
- 將 CSV to JSON 命令連接到命令組的 In 部分
- 編輯命令組並將其命名為 JSON Iterator
- 按一下基本資訊標籤右側的迭代符號
- 啟用迭代器
- 將 選擇修飾符類型 保留為 清單
- 對於 Iterations 部分,從 CSV to JSON 命令的下拉清單中選擇 <> JSON File 輸出
- 點擊“儲存”
第 8 步:預覽資料的每次迭代
由於該鏈現在能夠遍歷控製表的每一行,因此可以使用 Handlebars 命令來預覽資訊的輸出。
注意:Handlebars 命令用作查看本文中的值的佔位符,但也可以使用其他命令來處理這些值。
- 將 渲染文字範本 指令拖曳到畫布上
- 將命令組的 組開始 連結到 渲染文字範本 命令
- 編輯命令並將其命名為 預覽控製表資料
- 在範本欄位中,輸入以下內容:
檔案名稱 活動標誌表 ID
- 為了從控製表中導出值,必須對每個 JSON 迭代應用變數轉換
- 在 檔名旁邊,從側欄中選擇 JSON 檔案迭代 ,位於 組迭代器下拉清單下。
-
- 點擊“JSON 檔案迭代”,選擇“從 JSON 取得值”
- 在值欄位中,輸入控製表中的標題 File_Name
- 注意:一個好的做法是將控製表中的標題直接複製到值欄位中
- 按 Enter 並接受
-
- 對控製表中的 Active_Flag 和 Table_ID 標頭重複上述步驟
- 完成後,模板欄位應如下所示:
- 保存命令
第 9 步:運行鏈並預覽
現在鍊和控製表已設定完畢,重要的是要確保 Handlebar 輸出的每次迭代都包含控製表中每一行的資料。
- 點選 【發布 】然後 【執行 】鏈
- 運行鏈條
- 鏈運行成功後,點選 【預覽控製表資料 】指令,導覽至 【日誌 】標籤
- 在「開始渲染文字」下,第一次迭代的輸出應該是可見的。
- 在「日誌」標籤上方的選項上切換到「值 2」以查看第二次迭代的結果
- 最後切換到值3看看第三次迭代的結果
- 每次迭代應如下所示:
值1:
值2:
值3:
利用活動標誌
下一步是使用已建構的相同鏈,合併利用 Active Flag 值的 [ Conditional 邏輯。
- 編輯鏈並刪除 JSON迭代器 和 預覽控製表資料之間的鏈接
- 新增 條件 命令,並將命令組的 組開始 連接到新命令
- 將 條件 命令連結到 預覽控製表資料 命令
- 編輯條件命令
- 將命令命名為 活動標誌?
- 點選 【】 +規則 【】按鈕
- 在值欄位中,從 Group Iterator的下拉清單中點選 [] <> JSON File Iteration
- 新增變數轉換並使用控製表中的 Active_Flag 標頭作為值
- 按一下“接受”
- 將條件從“Is Blank”更改為“=”
- 在表達式欄位中輸入單字“true”
- 點擊“儲存”
現在,每當鏈運行時,只有當該迭代中的 Active_Flag 值等於 true時,才會執行 Preview Control Sheet Data 命令。
- 由於兩次迭代的 Active_Flag 設定為“FALSE”,因此僅對第三次迭代執行 Preview Control Sheet Data 指令。
- 如果控製表中的迭代值為“FALSE”,則將跳過“Active Flag?”條件命令後面的命令
其他用例
控製表提供了一種高效的方法來集中、管理和自動化工作流程執行中使用的值。它可以應用於多種場景,包括:
- 用於管理來源系統、Workiva 和 Wdata 元素 ID 的中央樞紐
- 利用標誌來過濾並採取行動是否應執行特定進程
- 指定用於從來源系統執行報告的 URL 端點
- 定義特定文件的日期和命名約定
- 識別 SFTP 的文件目錄以檢索指定文件