使用 Power Automate 篩選和複製資料

本教學課程示範如何建立雲端流程以監視來源是否有新的或已變更的項目,然後將這些變更複製到目的地。 如果您的使用者在一個位置中輸入資料,但您的小組所需要不同位置或格式的該資料,您可以建立這類的雲端流程。

雖然本教學課程將資料從 Microsoft SharePoint 清單 (來源) 複製到 Azure SQL Database 資料表 (目的地),但您可以複製 Power Automate 所支援超過 900 個連接器當中任何連接器的資料。

提示

有關將 SharePoint 與 Power Automate 一起使用的詳細資訊,請移至 SharePoint 文件

先決條件

  • 存取資料來源和目的地。 本教學課程未包含建立來源和目的地的步驟。

  • Power Automate 的存取權。

  • 對資料儲存方式有基本認識。

  • 熟悉建立流程的基本概念。 您可以檢閱如何新增動作、觸發程序條件。 下列步驟假設您知道如何執行這些動作。

提示

來源和目的地中的每個欄名稱不需要相符。 不過,您插入或更新項目時,必須為所有必要欄提供資料。 Power Automate 會為您識別所需的欄位。

步驟的快速概觀

如果您熟悉 Power Automate,請使用下列快速步驟,將資料從一個資料來源複製到另一個資料來源:

重要

因為不支援雙向同步,因此不會將目的地中的變更複製到來源。 如果您嘗試設定雙向同步,您會建立無限迴圈,其中的變更會在來源與目的地之間無止盡傳送。

  1. 識別要監視的來源,和要將資料複製到的目的地。 確認您有二者的存取權限。

  2. 識別可唯一識別來源和目的地中項目的至少一個資料行。 在接下來的範例,我們會使用標題資料行,但您可以使用任何想要的資料行。

  3. 設定監視變更來源的觸發程序。

  4. 搜尋目的地來判斷是否存在已變更的項目。

  5. 使用條件,如下所示:

    • 如果目的地沒有新的或已變更的項目,請建立此項目。
    • 如果目的地有新的或已變更的項目,請加以更新。
  6. 觸發流程,然後確認新的或已變更的項目正在從來源複製到目的地。

如果先前未建立至 SharePoint 或 Azure SQL Database 的連線,請在提示登入時遵循指示。

以下是建立流程的詳細步驟。

監視變更的來源

  1. 登入 Power Automate

  2. 選取我的流程>從空白建立

  3. 搜尋 SharePoint> 從觸發程序清單選取 SharePoint - 建立或修改項目時觸發程序。

  4. 輸入網站位址,然後選取建立或修改項目時卡片上的清單名稱

  5. 為流程監視有無新增或更新項目所針對的 SharePoint 清單,提供網站位址清單名稱

搜尋新增或變更之項目的目的地

使用 SQL Server - 取得資料列動作來搜尋新增或變更項目的目的地。

  1. 選取新增步驟>新增動作

  2. 搜尋取得資料列,選取 SQL Server - 取得資料列,然後從資料表資料表名稱清單中選取要監視的資料表。

  3. 選取顯示進階選項

  4. 篩選查詢方塊中,輸入 Title eq ',從動態內容清單選取標題代用文字,然後輸入 '

    上一個步驟假設您正在比對來源和目的地中的資料列標題。

    取得資料列卡片現在看起來應該與以下螢幕擷取畫面類似:

    嘗試從目的地資料庫取得項目。

檢查是否找到新增或變更的項目

我們使用條件動作來檢查是否找到新增或變更的項目。

  1. 選取新增步驟>新增條件以開啟條件卡片。

  2. 在條件卡片上:

    1. 選取左側的方塊。

      新增此流程中所使用之應用程式及連接器的動態內容清單隨即開啟。

    2. 取得資料列類別中選取

    提示

    確認已從取得資料列類別中選取。 不要選取建立或修改項目時類別中的

  3. 從中央方塊的清單中選取等於

  4. 在右側方塊中輸入 0 (零)。

    條件卡片現在與下圖類似:

    顯示條件卡片的螢幕擷取畫面。

  5. 選取在進階模式中編輯

    開啟進階模式時,您會在方塊中看到 @equals(body('Get_rows')?['value'], 0) 運算式。 在 body('Get_items')?['value'] 函數周圍新增 length() 以編輯此運算式。 現在整個運算式看起來像這樣:@equals(length(body('Get_rows')?['value']), 0)

    條件卡片現在與下圖類似:

    顯示更新條件卡片的螢幕擷取畫面。

    提示

    新增 length() 函數可讓流程檢查清單,並判斷其中是否包含任何項目。

流程從目的地取得項目時,有兩個可能的結果。

結果 下一個步驟
此項目存在 更新項目
此項目不存在 建立新項目

注意

接下來顯示的插入資料列更新資料列卡片影像可能與您的有所不同,因為這些卡片顯示的是流程目前所用 Azure SQL Database 資料表中的資料行名稱。

在目的地中建立項目

如果項目不存在於目的地,請使用 SQL Server - 插入資料列動作來建立此項目。

條件如果是分支上:

  1. 選取新增動作、搜尋插入資料列,然後選取 SQL Server - 插入資料列

    插入資料列卡片隨即開啟。

  2. 資料表名稱清單中,選取將新項目插入的資料表。

    立即插入卡片會展開並顯示所選資料表的所有資料欄。 包含星號 (*) 的欄位為必填欄位,必須填入資料才能使資料列生效。

  3. 選取要填入及輸入資料的每個資料欄。

    您可以用手動方式輸入資料,請從動態內容中選取一或多個權杖,或在資料欄中輸入文字和權杖的任何組合。

    插入資料列卡片現在與以下螢幕擷取畫面類似:

    處於新狀態的條件卡片螢幕擷取畫面。

更新目的地中的項目

如果項目存在於目的地中,請以所做變更來進行更新。

  1. SQL Server - 更新資料列動作新增至條件如果否分支。

  2. 請依照本文件的建立項目一節的步驟來填入資料表的資料欄。

    目的地項目的螢幕擷取畫面。

  3. 在頁面頂端的流程名稱方塊中輸入流程名稱,然後選取建立流程加以儲存。

現在,每當 SharePoint 清單 (來源) 中的項目變更時,流程就會觸發,然後在 Azure SQL Database (目的地) 中插入新項目或更新現有的項目。

注意

從來源刪除項目時,不會觸發流程。 如果這是重要的案例,請考慮新增指出何時不再需要某個項目的個別資料行。

另請參閱

使用資料作業