在所有自動化流程、程式語言開發中,條件判斷無所不在。因為判斷式可以說是是人類大腦思考邏輯的基礎,一天當中的大大小小的決策都隱含著判斷式的身影。延續先前報修申請的例子,我們建立了一個只要有人填寫報修申請表,負責人就會收到通知的自動化流程。如果實際運作的模式是根據不同的報修種類,通知不同的負責人呢?
這時候就需要用到 Power Automate 的兩大條件判斷的工具:Condition (條件) 跟 Switch (參數)
以為要開始寫程式了嗎?不用擔心,Power Automate 作為一個低程式碼的工具,當然也設計了非常直觀的介面,不會寫程式的程式麻瓜點幾下滑鼠就能建立好條件判斷,讓你的自動化流程能夠更有彈性,也更符合實務上的工作流程。
接下來我們將繼續用報修流程當例子,說明如何加上判斷式讓不同的報修項目可以寄給相應的負責人。如果還不清楚如何建立報修自動化流程,建議先閱讀上一篇文章:自動化案例分享|透過 SharePoint List + Power Automate 建立報修平台
在 Power Automate 中,並不是只能用一種方式來進行條件判斷,而是可以根據不同的需求選擇最適合的方式:
if
函式這就像大家熟悉的 Excel 公式,適合處理簡單條件的內容變化。只需要開啟動態內容的運算式區塊,輸入 if 函數就可以使用。
例如我想要將「電腦設備」類別的報修申請寄給 A 同仁,其他的類別寄給 B 同仁,就可以用以下寫法:
if(equals(triggerOutputs()?['body/IssueType/Value']), '電腦設備'), 'A同仁信箱', 'B同仁信箱')
不用擔心 triggerOutputs()?['body/IssueType/Value']) 太難懂寫不出來,因為只要在寫公式的時候切換到動態內容選擇需要的欄位,RPAI 這邊選的是叫做「IssueType」的欄位,這長串可怕的東西就會自動產生囉!
需要注意的是,Power Automate 的運算式語法和 Excel 還是有些微差距,像是在判斷兩個值是否相等時不能使用 =
符號,而是要用 equals(A, B)
函式來表達。
適用場景:當需要根據單一條件變化特定文字內容或值時,這是最直接且簡潔的選擇。
Condition 是 Power Automate 提供的一個動作卡片,適合用於需要根據條件執行不同後續步驟的場合。Condition 的邏輯簡單明瞭,輸入條件後會自動生成兩個分支,如果符合條件就會執行左邊綠色的區域,反之則會執行右邊紅色區域。
以相同範例情境套用,在條件卡片中選擇「報修類別」的動態內容,並且判斷是否等於「電腦設備」。在符合條件的區塊中將傳送信件的收件人改為 A 同仁,不符合條件的區塊則改成 B 負責人。相比前一個方式,這樣的作法讓流程更方便閱讀,而且能夠增加更多彈性。假設有第三種類別,也可以在右側「如果否」的區域中再多加一層條件判斷。
適用場景:流程中需要根據條件來執行後續不同的步驟,或是需要多層判斷的情境。
雖然 Condition 卡片已經非常方便且容易理解,但是如果是多種情境的判斷,加太多層條件判斷仍然會讓自動化流程變得難以閱讀。這種時候就該是 Switch (參數) 派上用場了,與 Condition 動作只能產生 是
或 否
兩種結果不同,Switch 可以為每個可能的條件設定對應的分支。
範例:假設報修類別一共有電腦設備、影印機、辦公用品…等多種項目。一樣在 Switch 選擇「報修類別」的動態內容,並且在每一個情境下設定要寄出的收件人及信件內容,如果要建立更多情境,也能按右方的加號來新增。這樣一來不同情境所執行的步驟一覽無遺。
適用場景:當條件判斷涉及多個選項時(例如狀態值、類別標籤等),Switch 是最佳解法,避免過多層的條件疊加。
看完這麼多種條件判斷的作法,你是否有找到最適合自己的一種呢?透過條件判斷,我們讓報修系統變得更貼近實際運作流程。除了指派給不同負責人外,條件判斷也能運用在主管是否同意簽核、報修狀態是否完成等多種情境,切換後續不同的自動化流程,讓你的工作條理又清楚。
這些功能雖然簡單,卻是我們創造自動化流程的基石,
讓我們一起由簡單開始,成就不簡單!
如果想進一步瞭解哪些功能,歡迎在底下留言告訴我們!
這次的分享到此告一段落,想了解更多 RPA + AI 與數位轉型的最新趨勢與觀點、RPA 軟體功能介紹及實務應用案例,也歡迎追蹤 RPAI 數位優化器的社群和我們交流互動,我們下次見!
🚀 Instagram:RPAI 數位優化器
🚀 臉書粉絲專頁:RPAI 數位優化器
🚀 RPA入門課程:零基礎快速學習RPA-利用 UiPath 建構自動化機器人程式