Power Automate を使用してデータのフィルターとコピーをする

このチュートリアルでは、新しい項目または変更された項目のソースを監視し、それらの変更をコピー先にコピーするクラウド フローを作成する方法を示します。 ユーザーがある場所にデータを入力する場合に、チームで別の場所または形式のデータが必要な場合、このようなクラウド フローを作成できます。

このチュートリアルで Microsoft SharePoint リスト (ソース) から Azure SQL Database テーブル (コピー先) にデータをコピーしますが、Power Automate がサポートする 900 コネクタ を超える任意のコネクタ間でもデータをコピーできます。

チップ

Power Automate での SharePoint の使用について詳しくは、SharePoint のドキュメントを参照してください。

前提条件

  • データ ソースとターゲットへのアクセス権があること。 このチュートリアルには、ソースとコピー先の作成ステップは含まれていません。

  • Power Automate へのアクセス

  • データの格納方法の基本を理解していること。

  • フロー作成の基本を十分に理解していること。 アクション、トリガー、および条件の追加方法を確認することができます。 次のステップでは、これらアクションの実行方法を理解すていることが前提となります。

チップ

ソースとコピー先のすべての列名が一致する必要はありません。 ただし、アイテムを挿入または更新するときは、すべての 必須 の列にデータを入力する必要があります。 必須のフィールドは、Power Automate によって自動的に識別されます。

手順の概要

Power Automate を使い慣れている場合は、以下の簡単な手順を使用してデータ ソースから別の場所にデータをコピーできます。

重要

双方向の同期には対応していないため、ターゲットで行われた変更内容はソースにコピーされません。 双方向の同期を設定する場合は、ソースとターゲット間で変更内容が無限に送信される無限ループが発生します。

  1. 監視するソースと、変更データのコピー先を特定します。 両方にアクセスできることを確認します。

  2. ソースとターゲット内の項目を一意に識別する少なくとも1 つ以上の列を特定します。 次の例では、タイトル列を使用していますが、実際は任意の列 (複数可) を使用することができます。

  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() 関数を追加することで、フローでリストを確認し、そこに項目が含まれているかどうかを判別できます。

フローがターゲットから項目を取得するとき、結果として 2 つが考えられます。

結果 次のステップ
項目が存在する場合 項目を更新する
項目が存在しない場合 新しい品目の作成

Note

これらのカードはフローで使用されている Azure SQL Database テーブルのカラム名を示しているため、次に表示されている行の挿入行の更新のカードのイメージは、実際のものとは異なる場合があります。

ターゲットで項目を作成する

ターゲットに項目が存在しない場合は、SQL Server - 行の挿入アクションを使用して作成してください。

条件該当する場合 分岐では、次のようにします :

  1. アクションの追加 を選択し、行の挿入を検索して、SQL Server - 行の挿入 を選択します。

    行の挿入カードが開きます。

  2. テーブル名 リストから、新しい項目を挿入するテーブルを選択します。

    行の挿入 カードが展開され、選択したテーブルにすべての列が表示されます。 アスタリスク (*) の付いたフィールドは必須フィールドであり、行を有効にするためには設定する必要があります。

  3. 設定する各列を選択し、データを入力します。

    データを手動で入力することも、動的コンテンツから 1 つ以上のトークンを選択することも、テキストとトークンを組み合わせて列に入力することもできます。

    行の挿入カードは次のスクリーンショットのようになります。

    新しい状態の条件カードのスクリーンショット。

ターゲットで項目を更新する

項目がターゲットに存在する場合は、その項目を変更して更新します。

  1. 条件該当しない場合 分岐に SQL Server - 行の更新アクションを追加します。

  2. このドキュメントの 項目の作成 に関するセクションの手順に従って、テーブルの列を設定します。

    コピー先アイテムのスクリーンショット。

  3. ページ上部の フロー名ボックスにフローの名前を入力し、フローの作成を選択して保存します。

以上で、SharePoint リスト (ソース) の項目が変更された場合は常に、フローがトリガーされ、Azure SQL Database (ターゲット) で新しい項目が挿入されるか、既存の項目が更新されます。

Note

ソースから項目が削除された場合、フローはトリガーされません。 これが重要なシナリオである場合は、項目が不要になったタイミングを示す別の列を追加することを検討してください。

参照

データ操作を使用する