在本教程中,您將學習在進階模式 下使用運算式和條件 比較多個值。
當您建立雲端流程時,可以透過基本模式使用條件 卡來快速比較單一值與另一個值。 然而,有時您需要比較多個值。 例如,您可能需要檢查試算表或資料庫資料表中幾個資料行的值。
您可以在條件中使用下列任何邏輯運算式組合。
展開資料表
Expression
描述
範例
and
採用兩個引數,並在兩個值相符時傳回 True。
注意 :兩個引數都必須是布林值。
此運算式會傳回 False:and(greater(1,10),equals(0,0))
or
採用兩個引數,並在任一個引數相符時傳回 True。
注意 :兩個引數都必須是布林值。
這個運算式會傳回 True:or(greater(1,10),equals(0,0))
等於
如果兩個值相等,會傳回 True。
例如,如果 parameter1 是 someValue,則此運算式會傳回 True:equals(parameters('parameter1'), 'someValue')
less
採用兩個引數,並在第一個引數小於第二個引數時傳回 True。
注意 :支援的類型為 integer、float 和 string。
這個運算式會傳回 True:less(10,100)
lessOrEquals
採用兩個引數,並在第一個引數小於或等於第二個引數時傳回 True。
注意 :支援的類型為 integer、float 和 string。
這個運算式會傳回 True:lessOrEquals(10,10)
greater
採用兩個引數,並在第一個引數大於第二個引數時傳回 True。
注意 :支援的類型為 integer、float 和 string。
這個運算式會傳回 False:greater(10,10)
greaterOrEquals
採用兩個引數,並在第一個引數大於或等於第二個引數時傳回 True。
注意 :支援的類型為 integer、float 和 string。
這個運算式會傳回 False:greaterOrEquals(10,100)
empty
如果物件、陣列或字串是空的,則傳回 True。
這個運算式會傳回 True:empty('')
not
傳回相反的布林值。
這個運算式會傳回 True:not(contains('200 Success','Fail'))
if
如果運算式產生 True 或 False,則會傳回特定值。
這個運算式會傳回 "yes":if(equals(1, 1), 'yes', 'no')
以下是完成本演練所需的內容。
Power Automate 的存取權。
您自己的試算表,其中包含本逐步解說稍後所述的資料表。 請務必將試算表儲存至 Dropbox 或 Microsoft OneDrive 這類位置,讓 Power Automate 可以存取它。
Microsoft 365 Outlook (雖然我們使用 Outlook,但是您可以在流程中使用任何支援的電子郵件服務)。
如果項目的值是 valueA or valueB,則有時您的工作流程必須採取動作。 例如,您可能正在試算表中追蹤任務的狀態。 假設資料表具有名為 Status 的資料行,而此資料行中的可能值如下:
以下是試算表外觀範例:
指定上面的試算表,您想要使用 Power Automate 移除所有狀態 欄設定為已完成 或不必要 的資料列。
請建立流程。
登入 Power Automate 。
在左窗格中,選取我的流程 。
選取新增流程 >已排程雲端流程 。
為您的流程命名。
設定每天執行一次流程排程。
選取建立 按鈕移至下一個步驟。
注意
Power Automate 使用傳統的雲流程設計工具或具有 Copilot 功能的新型新式設計工具。 若要確定您正在使用哪個設計工具,請前往探索雲流程設計工具 中的附註 區段。
當您在傳統設計工具和新設計工具之間切換時,系統會要求您儲存流程。 在解決所有錯誤 之前,您無法儲存並切換。
您可以使用 Copilot 為您建立流程,或手動建立。
要求 Copilot 建立流程。 在 Copilot 中輸入以下提示:
每週,在 Excel 表中列出資料列,如果狀態資料欄等於成功或宣告管理員的電子郵件為 jake@contoso.com,則刪除 Excel 資料列 。
選擇提交 。
提交提示後,Copilot 會為您建立流程。 您需要填寫流程正常運作的詳細資訊,例如 Copilot 新增的各種動作的參數。
或者,您可以執行以下步驟手動建立相同的流程:
若要新增步驟,請選取加號 (+ )>新增動作 。
搜尋資料列 >Excel Online (Business) >與您正在使用的試算表相對應的取得資料列 動作。
例如,如果您使用 Google 試算表 ,請選擇 Google 試算表 - 取得資料列 。
選擇列出資料表中的資料列 動作。
選取包含資料的位置 、文件庫 、檔案 和資料表 。
在傳統設計工具中,您可以手動建立流程。 Copilot 不是一個選擇。
選取新步驟 。
搜尋資料列 ,然後選取 Excel Online (Business) 。
選取對應於您所使用試算表的取得資料列 動作。 例如,如果您要使用 Google 試算表,請選取Google 試算表 - 取得資料列 。
選擇列出資料表中的資料列 動作。
選取包含資料的位置 、文件庫 、檔案 和資料表 。
若要新增步驟,請選取加號 (+ )>新增動作 。
在新增動作 畫面,搜尋適用於各項目 ,然後選取控制項 底下的套用至每個 。
透過選擇避雷針圖示,將值 權杖新增到從前面的步驟中選擇輸出 框。
此數值 權杖代表試算表資料表及其所有資料。
在套用至每個 卡片上,選取加號 (+ )>新增動作 ,以新增步驟。
搜尋條件 ,然後選取 Condition 控制項。
新增下列 OR 運算式。 此 OR 運算式會檢查資料表中每一個資料列的值。
如果 Status 資料行的值是 completed 或 unnecessary ,則 OR 運算式會評估為 True 。
以下是條件 卡片的範例。
選取新步驟 。
搜尋適用於各項目 ,然後選取套用至每個控制項 - 控制項 。
將值 權杖新增至選取先前步驟中的輸出 方塊。
此數值 權杖代表試算表資料表及其所有資料。
選擇套用至每個 卡上的新增動作 。
搜尋條件 ,然後選取 Condition 控制項。
新增下列 Or 運算式。 此 Or 運算式會檢查資料表中每一個資料列的值。 如果狀態 資料行的值是已完成 或 不必要 ,則或 運算式會評估為 "True"。
以下是條件 卡片的範例。
選擇加號 (+ ) 可在條件的 True 分支上新增動作。
如果 Or 條件計算結果為真 ,則執行 True 分支。
搜尋 Excel Online (Business) ,然後選擇刪除資料列 。
在刪除資料列 面板上,設定位置 、文件庫 、檔案 和 資料表 框,就像您在本教學前面的列出資料表中的資料列 卡片上設定這些框一樣。
在索引鍵資料行 下拉式清單中,選取 _PowerAppsId_ 。
在索引鍵值 欄位中,插入 _PowerAppsId_ 動態值。
儲存您的流程。
在條件的如果是 分支中,選取新增動作 。
如果 OR 條件的計算結果為 True ,則執行如果是 分支。
搜尋刪除資料列 ,選取 Excel Online (Business) ,然後選取刪除資料列 。
在刪除資料列 卡片上,設定位置 、資料庫 、檔案 和資料表 方塊,設定方法與您在本教學課程前文資料表中列出的資料列 卡片中的相同。
在索引鍵資料行 下拉式清單中,選取 _PowerAppsId_ 。
在索引鍵值 欄位中,插入 _PowerAppsId_ 動態值。
儲存您的流程。
在您儲存流程之後,即會執行流程。 如果您已建立本教學課程稍早所示的試算表,則以下是其執行完成後的結果。
請注意,已刪除 Status 資料行中具有已完成 或非必要 資料列的所有資料。
假設您的試算表資料表有兩個資料行。 資料行名稱為 Status 和 Assigned 。 如果 Status 資料行的值為已封鎖 ,而且 Assigned 資料行的值為 John Wonder ,則也假設您需要刪除所有資料列。 若要完成這項工作,請遵循本教學課程稍早的所有步驟,不過,當您以進階模式編輯條件 卡片時,請使用 and 運算式,如下所示:
@and(equals(item()?['Status'], 'blocked'), equals(item()?['Assigned'], 'John Wonder'))
以下是條件 卡片的範例。
如果您按照本教學中的步驟動作,您的試算表應該類似於以下螢幕擷取畫面。
執行流程後,您的試算表看起來應該會類似以下螢幕擷取畫面。
請注意,試算表中現在有幾個空白資料列。 若要移除它們,請使用 empty 運算式來識別 Assigned 和 Status 資料行中沒有任何文字的所有資料列。
若要完成此工作,請遵循本教學課程前文的使用 'and' 運算式 區段中所列出的所有步驟。 在進階模式中編輯條件 卡片時,請使用以下 empty 運算式。
@and(empty(item()?['Status']), empty(item()?['Assigned']))
您的條件 卡片應該會類似以下螢幕擷取畫面。
執行流程後,試算表看起來應該會類似以下螢幕擷取畫面。
請注意,會從資料表中移除額外行。
想像一下,您為同事購買了棒球票,並使用試算表來確保每個人都能獲得報銷。 您可以快速建立一個雲端流程,每天向每個未支付全額的人發送電子郵件。
使用較大 的表達來識別未支付全額的員工。 然後您可以自動向他們發送提醒電子郵件。
以下是試算表的檢視。
這是較大 運算式的實作,它標識所有支付金額低於應付金額的人。
@greater(item()?['Due'], item()?['Paid'])
想像一下,您為同事購買了棒球票,並且您使用試算表來確保每個人都在大家同意的日期之前得到報銷。 您可以建立一個雲端流程,如果目前日期距到期日不到一天,則向每個未全額支付的人發送提醒電子郵件。
因為有兩個要驗證的條件,所以會搭配使用 and 運算式與 less 運算式。
展開資料表
要驗證的條件
要使用的運算式
範例
已支付全額欠款嗎?
greater
@greater(item()?['Due'], item()?['Paid'])
離到期日不到一天嗎?
less
@less(item()?['DueDate'], addDays(utcNow(),1))
在 'and' 運算式中合併使用 'greater' 和 'less' 運算式
使用較大 的運算式來識別支付金額少於應付全額的員工,並使用較小 的運算式來確定付款到期日是否距離目前日期少於一天。 然後,您可以使用發送電子郵件 動作向未全額付款,且到期日不到一天的員工發送提醒電子郵件。
以下是試算表資料表的檢視。
這是 and 運算式的實作,它標識所有支付金額低於應付金額,且到期日距目前日期不到一天的員工。
@and(greater(item()?['Due'], item()?['Paid']), less(item()?['dueDate'], addDays(utcNow(),1)))
某些運算式會從雲端流程開始執行時可能還不存在的執行階段動作取得其值。 若要在運算式中參考或使用這些值,您可以使用工作流程定義語言提供的函數。 更多資訊。 若要深入了解,請前往 Azure Logic Apps 和 Power Automate 中的工作流程運算式函數參考指南 。
訓練:Power Automate 中的運算式簡介 (課程模組)