RPA 功能|UiPath 具迴圈概念的 For Each Row in Datatable!

2022/07/13閱讀時間約 6 分鐘
在 UiPath 的學習道路上,我們常會對這些各項功能(Activities)、參數(Properities)感到混亂,因此 RPAI 數位優化器的系列文章將會對這些功能參數進行解說。這篇文章將要介紹具「迴圈」概念的 For Each Row in Datatable 功能!
在開始閱讀正文之前,也別忘了先追蹤我們的 臉書粉絲專頁方格子帳號

For Each Row in Datatable 功能介紹

這個功能主要也是使用於Excel,可針對指定變數中的行列執行重複操作,舉例來說,若是希望將每一列的C欄內容輸出,或是將每一行的某欄位刪除,就可以使用此一功能。
另外由於input是DataTable形式,因此需要搭配先前介紹過的「Read Range」、「Excel Application Scope」!
我們在UiPath介面左側的Activities列表可以找到此一功能,如下圖所示:
如果還想學習更多 UiPath 功能、實作案例並了解最新自動化趨勢,
歡迎加入「零基礎快速學習 RPA-利用 UiPath 建構自動化機器人」線上課程!課程優惠只到 2024 年 2 月 5 日,快點擊連結立即了解:https://mastertalks.tw/products/rpa-uipath?ref=RPARPA

功能參數說明

點選 For Each Row in Datatable,便可看到如下方的Activity結果,我們先來聊聊For Each和In底下的欄位。
  • For Each:
    「Current Row」為UiPath的預設值而且是一變數,可將它視為UiPath系統內的「讀取每一行」變數,而此變數已經有迴圈特性,可以讀取每一列進行後續操作。
  • In: 
    In代表「Input」概念,通常會以DataTable形式輸入,如果前面有其他讀取Excel的Activity,該Output就會成為此處的Input。以上圖為例,我們先前介紹Read Range功能時,有將其Output變數設定為「TEST」,因此這邊的In欄位就可以輸入「TEST」作為Input。
此外,當我們點選 For Each Row in Datatable,便可在介面右側的Properties設定相關參數(如下圖所示),接下來將介紹這些參數所代表的意涵:
  • DisplayName:
    使用者可為此一For Each Row in Datatable功能自由命名,在進行較為複雜的流程設計時,可標註此一區域所欲達成的目標,也可協助其他使用者理解。
  • Input:
    如同先前所介紹,通常會以DataTable形式輸入,輸入後同時也會在Properties自動填入結果,例如圖二的TEST、圖三的DT1就是不同的Datatable變數。
  • MISC 的 Private:
    根據UiPath官方定義,是指不會被登錄於Verbose level,而 RPAI 數位優化器認為此一功能的白話解釋為:勾選後,如果流程執行過程中有bug,將不會跳出提醒而是直接略過(也歡迎在下方留言與我們分享你的想法!)
  • Output: 
    格式是Int,此Output欄位的Index,可以讓For each row in Datatable這整個 activity作為變數,若之後需要逐條調整這個數據表資訊,便可透過這個功能進行修改。

實作案例

假設需求是「讀取每個A欄位資訊,並透過對話框形式跳出」,那麼我們將可參考以下實作來練習For Each Row in Datatable功能:
  1. 如下圖所示,Excel中有數筆個股資訊,我們希望讀取到這些個股名稱、代碼與連結的欄位資訊。
2. 使用先前所提到的Excel Application Scope、Excel Read Range功能,指定針對該Excel活頁簿進行操作,並讀取所需要的內容範圍,在此例中,我們將指定其讀取「Stock」工作表的內容。
3. 接著我們可使用For Each Row in Datatable功能,讓UiPath針對我們所指定的範圍一一讀取。一開始「ForEach」下方便會預設「CurrentRow」變數,我們於「In」中填入先前Read Range功能的Output變數(亦即「TEST」),UiPath便會進行迴圈一一讀取!
4. 為確認UiPath有逐列讀取Excel中的資訊,我們可以透過Message Box功能確認,請參考下圖。
需要特別注意的是撰寫格式,我們希望UiPath只要讀取A欄位即可,因此只要在CurrentRow後方括弧輸入0,這邊的數字0就代表A欄位、1代表B欄位,依此類推喔!

常見誤區

  • 設定完For each並用Message box進行輸出時,如果只輸入「CurrentRow」,僅會跳出「System.Data.DataRow」;唯有寫「CurrentRow(0)」,才能呈現所希望的Excel資訊內容。
  • 此功能不一定只能用於Excel,例如CSV檔也可使用!

結語與心得

RPAI 數位優化器認為,For Each Row in Datatable功能的實用度高達五顆星!
除了可協助用戶進行重複性的Excel資料處理,也能讓我們了解UiPath的迴圈邏輯,協助我們進一步理解「While」、「For Each」等功能,透過理解這些功能,將能使工作更加順暢與自動化,讓我們一起 Work Smart!
這些功能雖然簡單,卻是我們創造自動化流程的基石,
讓我們一起由簡單開始,成就不簡單!
如果你/妳喜歡這篇文章,歡迎點點愛心或留言,讓我們相互交流和成長!
這次的分享到此告一段落,想了解更多 RPA + AI 與數位轉型的最新趨勢與觀點、RPA 軟體功能介紹及實務應用案例,也歡迎追蹤 RPAI 數位優化器的社群和我們交流互動,我們下次見!
🚀 Instagram:RPAI 數位優化器
🚀 臉書粉絲專頁:RPAI 數位優化器
🚀 YouTube 頻道:RPAI 數位優化器

延伸學習資源

為什麼會看到廣告
88會員
75內容數
我們是以「機器人流程自動化(RPA)」結合「人工智慧(AI)」為主題的中文學習社群,旨在分享 RPA + AI 的學習資源、應用實例和最新發展趨勢,讓工作者透過自動化工具的有效應用,創造數位優化與轉型契機,讓我們一起由簡單開始,成就不簡單!
留言0
查看全部
發表第一個留言支持創作者!