← 手順一覧へ戻る
クラウドフローデータ処理

選択(Select)でSharePointの配列から必要な列だけを取り出す

SharePointの一覧をIDと件名だけの配列に整えます。2件・0件の具体例でSelectの動きを確認し、行を減らすFilter arrayとの違いと組み合わせ方を説明します。

画面上の名前は、表示言語やバージョンによって異なる場合があります。クラウドフローはトリガー(フローを開始する条件)から始まり、その後にアクションを実行します。値の受け渡しには、前のステップの出力を選ぶ「動的コンテンツ」を使います。式は[式]欄へ入力します。

実行前に確認

  • SharePointへの接続と対象リストの読み取り権限が必要です。SharePointは標準コネクタですが、Power Automateの利用権、Microsoft 365の契約、組織のDLPポリシーも確認します。標準だから誰でも無料、という意味ではありません。
  • 選択は元のSharePointリストの列やデータを削除しません。フロー内に新しい配列を作るだけです。重複行を取り除く処理でもありません。
  • 値がnullになるときは、実行履歴の入力側にID・Titleが存在するかと、大文字・小文字を確認します。item()?['title'] は入力側のTitleとは別です。出力キーにtitleを使うこととは区別します。
  • Fromに配列が必要というエラーが出たら、valueを指定しているか確認します。式自体が文字で出力されるときは式欄への入力を見直します。人物列・複数選択列などの複雑な値はこの例の対象外です。
  • この練習は最大10件の読み取りと整形のみです。大量データの全件処理は取得上限・ページネーションを別途確認します。実行履歴に入力データが残るため、まず架空データで試してください。

1使うトリガーとアクション

  1. トリガー手動でフローをトリガーする
  2. アクション複数の項目の取得GetItems:ID昇順で最大10件
  3. アクション選択SelectColumns:IDとTitleをid・titleに対応付け
  4. アクション作成配列全体を実行履歴で確認。送信・書き込みなし

図で見る処理のイメージ

概念図

入力例のID18・19は架空の値です。実際には自分のリストのIDを使います。

  1. 入力2件

    18:備品の在庫確認/19:会議室の整理。ほかの列も含む

  2. 選択の対応付け

    ID → id、Title → title。各行を2列に整える

  3. 基本の出力

    2件のまま、id・titleだけ。空配列なら0件のまま

  4. 行も絞りたい場合

    選択の前にFilter arrayを追加。件名一致のID18だけが残る

結果の例

基本は2件→2件。応用ではフィルターで2件→1件にしてから、選択で2列に整えます。

図は架空データの概念例です。実際のフローを実行して確認した結果ではありません。

設定と処理を説明する模式図です。実際の設定画面や実行結果のスクリーンショットではありません。

2実際の設定内容

入力する値・操作手順を確認する9ステップの設定と確認方法
  1. 1

    準備:練習用のSharePointリストに、標準タイトル列を使って「備品の在庫確認」「会議室の整理」の2件を登録します。IDは自動採番されるため、以下の18・19は説明用です。自分のリストの実際のIDに読み替えてください。機密情報は使いません。

  2. 2

    インスタントクラウドフローの「手動でフローをトリガーする」の後にSharePoint「複数の項目の取得」を配置し、名前をGetItemsに変更します。サイトと練習用リストを選択。Order By=ID asc、Top Count=10、フィルタークエリ=空欄、ページネーション=オフにします。先頭10件までの練習であり、全件取得ではありません。

  3. 3

    データ操作の「選択」を追加して名前をSelectColumnsにします。元(From)には式 body('GetItems')?['value'] を入力します。valueが項目の配列です。body全体のオブジェクトや、個別のTitleを指定しないでください。

  4. 4

    マッピングはキーと値の2列です。キー欄に固定文字id、値欄には式 item()?['ID'] を設定。2行目のキー欄に固定文字title、値欄には式 item()?['Title'] を設定します。キーは出力側の名前、ID・Titleは入力側の名前です。式は式欄に入力し、式全体を引用符で囲みません。

  5. 5

    選択の後に「作成」を置き、入力に式 body('SelectColumns') を指定します。Apply to eachは追加不要です。実行履歴でGetItemsのvalueと、選択・作成の出力を見比べます。元データに作成日時などの列があっても、出力は指定した2列だけになります。

  6. 6

    期待する例:入力がID=18/Title=備品の在庫確認、ID=19/Title=会議室の整理なら、出力は [{"id":18,"title":"備品の在庫確認"},{"id":19,"title":"会議室の整理"}] です。件数は2件のまま。IDは数値で、並び順は取得した配列の順です。

  7. 7

    0件の確認:同じ列構成の空の練習用リストへGetItemsの対象を一時的に変更します。valueが [] なら選択の出力も [] です。これは正常な空配列で、nullや空文字とは別です。確認後は元のリストに戻します。

  8. 8

    応用:件名が「備品の在庫確認」の行だけ欲しいときは、GetItemsと選択の間にデータ操作「配列のフィルター処理(Filter array)」を追加し、名前をFilterRowsにします。From=式 body('GetItems')?['value']、左=式 item()?['Title']、比較=次の値に等しい、右=固定文字「備品の在庫確認」。そのうえで選択のFromを body('FilterRows') に変更します。2件から1件に減るのはフィルター、2列に整えるのは選択の役目です。

  9. 9

    応用の確認:上の2件ならid=18の1件だけが残り、条件を存在しない件名に変えれば [] になります。英字の比較は大文字・小文字を区別します。整形後にフィルターする設計では列名もTitleからtitleへ変わるので、手順の順番だけ入れ替えないでください。取得できていない11件目以降は、このフィルターでは探せません。

Microsoft公式ページで確認する

設定を確認できる公式資料