利用控制表中的值來執行連鎖工作流程,需要有系統地在指令中讀取和應用這些值。在本連線學習路徑中,我們將探討如何從控制表中讀取和使用值,並利用命令群組有效地遍歷多行。
| 主要業務使用個案 |
從集中位置協調報表工作流程 簡化終端使用者的工作流程管理 |
| 主要學習目標 | 學習如何在鏈中使用控制表中的值 |
| 次要學習目標 |
學習如何使用條件指令、JSON 迭代器和 Handlebars Connector |
| 必要條件 |
設定下列連接器: - JSON |
| 支援範本 | CLP | 使用控制表中的值 |
步驟 1:編輯現有的連線
- 導覽至 Chain Builder 並找出 ChainCLP | 從控制表讀取
- 按一下鉛筆按鈕編輯 Chain
- 按一下右上方的鏈設定
- 重新命名連鎖:CLP | 使用控制表中的值
- 保存鏈
步驟 2:將控制表轉換為 JSON
為了有效利用控制表中的值,我們將把Get Sheet Data 指令的輸出從 CSV 格式轉換為 JSON 格式。此轉換可在控制頁中的標頭與每個標頭下方的行中的對應值之間建立鍵值對,從而實現高效迭代。
- 從JSON Connector 新增CSV 至 JSON 指令至 Chain canvas。
- 將Get Sheet Data 指令連接至CSV to JSON 指令
- 按兩下指令進行設定
- 命名該命令:將控制工作表轉換為 JSON
- 按一下輸入檔案 欄位
- 在Select a Variable(選取變數) 面板內,按一下向下箭頭以展開Get Sheet Data(取得工作表資料
- 選擇資料輸出
- 保留分隔符欄位為Comma (,)
- 儲存指令
步驟 3:新增指令群組
在 Chain 中加入指令群組 ,以啟用控制工作表中每一行的迭代。這可讓我們透過該群組的一系列指令,推動控制工作表的每一行。
- 在 Chain canvas 上新增指令群組
- 將Convert Control Sheet to JSON Command 連接到In section of the Command Group
- 雙擊指令群組進行設定
- 命名群組:控制頁迭代器
- 導航至「迭代器」索引標籤
- 啟用Iterations 切換,並按一下Iterations 欄位
- 在Select a Variable 面板內,按一下向下箭頭以展開Convert Control Sheet to JSON
- 選擇JSON輸出
- 啟用Iterations 切換,並按一下Iterations 欄位
- 儲存指令
現在已設定 Command,它會遍歷控制工作表的每一行,並為每一行提供輸出。
步驟 4:新增條件指令
在控制工作表中,使用者可以決定是否要在工作流程中執行某一行。這可透過ActiveFlag 欄加以利用。我們將使用條件指令來決定工作流程是否需要繼續控制工作表中的每一行。
- 在 Chain canvas 上新增Conditional Command Chain Event。
- 將Control Sheet Iterator Group 內的 GroupStart 連接到Conditional Command。
- 雙擊該命令進行配置
- 命名該命令:Active Flag?
- 將條件保留為AND ,然後按一下+ RULE 按鈕
- 再次確認資料類型設定為String ,並變更操作以測試Is Blank 至=。
- 按一下指令左側的開放欄位 (要測試的值)
- 從Select a Variable 面板,按一下向下箭頭以展開Group Iterator
- 選擇 <> JSON File Iteration
- 按一下綠色的 JSON 檔案迭代 藥丸來轉換變數
- 按一下 Select a Transformation 並選擇 Get Value from JSON
- 按綠色的 + 符號
- 在值欄位中輸入ActiveFlag 標頭,與控制工作表中的一模一樣,然後按 Enter
- 選擇另一個轉換,然後選取小寫
- 按綠色的+ 符號
- 按一下「接受」(Accept)。
-
- 回到Conditional 指令,在右側 (要比較的值) 鍵入字true
- 確保此字為小寫,因為之前應用的變數轉換使 Active Flag 值全為小寫。
- 回到Conditional 指令,在右側 (要比較的值) 鍵入字true
- 儲存指令
步驟 5:將輸出輸入指令
此時,控制頁迭代器已設定為提供值給存在於 Command Group 的 Group Start 中的任何 Command。我們將利用 Handlebars Command 作為佔位符來顯示擷取值,這也可以在下游 Command 中迭代使用。
- 從Handlebars Connector 新增Render Text Template Command 到 Chain canvas。
- 將Active Flag? 指令連接到渲染文字範本 指令
- 按兩下指令進行設定
- 命名命令:擷取控制工作表值
- 在Template 欄位中,鍵入下列資訊:
- Top Row:控制頁資訊
- 第二行 檔案名稱:<JSON>
- 取代Select a Variable 面板中的
<JSON>,點擊向下箭頭展開Group Iterator - 選擇 <> JSON File Iteration
- 取代Select a Variable 面板中的
-
-
-
- 按一下綠色的 JSON 檔案迭代 藥丸來轉換變數
- 按一下 Select a Transformation 並選擇 Get Value from JSON
- 按下綠色的 + 符號
- 在值欄位中輸入FileName,與控制工作表中的一模一樣,然後按回車鍵
- 按一下「接受」(Accept)。
- 按一下 Select a Transformation 並選擇 Get Value from JSON
- 按一下綠色的 JSON 檔案迭代 藥丸來轉換變數
-
-
-
- 重複第三、第四和第五行的步驟
- 使用控制工作表中的變數取代
<JSON>占位符。- 表 ID:<JSON>
- 遵循之前的相同步驟,但使用TableID 而非FileName 。
- 試算表 ID:<JSON>
- 遵循之前的相同步驟,但使用試算表 ID而非檔案名稱 。
- 檔案位置:<JSON>
- 遵循之前的相同步驟,但使用FileLocation而不是FileName 。
- 表 ID:<JSON>
- 使用控制工作表中的變數取代
- 重複第三、第四和第五行的步驟
- 儲存指令
注意: 按照概述的步驟提取任何標頭,並從控制工作表中檢索相應的行值。
步驟 6:測試練習
現在 Chain 已經完成,請測試結果。
- 發佈 連鎖
- 按一下執行 ,然後選擇 執行鏈
- 一旦鏈完成,點擊Capture Control Sheet Values命令驗證成功
- 點選指令前,請先讓連鎖完全完成
- 會有一個欄位顯示Value 1
- 如果按一下此欄位,會顯示指令處理了三個不同的值,這些值是控制工作表中的三行資料
- 按一下Log 欄位的每個單獨值,並驗證其是否與控制工作表內的值相符
值 1:
值 2:
價值 3:
完成下一個路徑,進一步了解控制表的使用:在控制表中執行流程和記錄結果 !