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

CSVテーブルの作成で必要な列だけを書き出す

Power Automateの配列から商品名と数量だけをCSVに変換。カスタム列の設定、0件の分岐、出力内容の確認とSharePoint保存へのつなぎ方を説明します。

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

実行前に確認

  • カスタム列は出力列を選ぶ設定です。行の絞り込みや重複削除はしません。列名の大文字小文字や空白を間違えると、値を取り出せず空欄になる場合があります。
  • CSVの作成だけならデータ操作を使います。保存を追加するとSharePoint接続、対象ライブラリの権限、Power Automateの実行権利、組織のDLPポリシーの確認が必要です。標準コネクタでも、すべての契約で追加費用なしとは限りません。
  • この例の入力は信頼できる短い文字列と数値に限定しています。CSVにはExcelの書式やデータ型が保存されず、Excelで開くと先頭ゼロなどが変わることがあります。文字化けしたら文字コードを指定して取り込み、カンマ・引用符・改行入りの値も実データに移す前に確認します。CSVを単純にカンマで分割し直さないでください。
  • 外部入力をCSV化してExcelで開く場合、=などから始まる値が数式として解釈されるリスクを別途確認します。CSVの引用符だけで数式入力対策が完了するわけではありません。
  • InternalMemoは出力から省きますが、SampleRowsの実行履歴には残ります。この例は機密情報を履歴から消す仕組みでも、保存ファイルの公開範囲を制限する仕組みでもありません。

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

  1. トリガーフローを手動でトリガーする
  2. アクション作成SampleRows:架空の商品2件を配列にする
  3. アクション条件length(outputs('SampleRows')) が 0 より大きい
  4. アクションCSV テーブルの作成はい側:必要な2列だけを指定。名前は CsvText
  5. アクション作成はい側:CsvTextの出力を確認するだけ
  6. アクション作成いいえ側:「対象なし」と表示するだけ

図で見る処理のイメージ

概念図

3項目ある商品データから、共有に必要な商品名・数量だけをCSVにします。

  1. 入力

    Product・Qty・InternalMemoの2件

  2. 件数確認

    0件なら対象なしで終了

  3. 列を選択

    Product→商品名、Qty→数量

  4. CSV文字列

    見出し1行+データ2行。保存は別アクション

結果の例

商品名,数量 ノート,3 付箋,5

商品名,数量
ノート,3
付箋,5
入力項目とCSVの出力列の対応
入力項目入力の2件CSVの扱い
Productノート/付箋商品名として出力
Qty3/5数量として出力
InternalMemo練習用A/練習用B出力しない
配列が0件[]CSV変換をスキップし「対象なし」

架空の入力と期待される処理例です。実際のフローを実行して確認した結果ではありません。

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

2実際の設定内容

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

    準備:クラウドのインスタントフローを手動トリガーで作ります。最初は架空のデータ操作だけで、Excel接続・メール送信・ファイル保存は使いません。アクション名を下記の英数字に変更してから式を設定します。

  2. 2

    作成を SampleRows に変更し、式タブへ json('[ {"Product":"ノート","Qty":3,"InternalMemo":"練習用A"}, {"Product":"付箋","Qty":5,"InternalMemo":"練習用B"} ]') を入力します。jsonで配列を作るので、配列に見える文字列をそのまま渡す間違いを避けられます。

  3. 3

    条件の左側は式 length(outputs('SampleRows'))、比較は「次の値より大きい」、右側は数値 0。はい側でだけ変換します。いいえ側には作成を置き、入力を「対象なし」にします。

  4. 4

    はい側にデータ操作の「CSV テーブルの作成」を追加して CsvText に変更します。FromはSampleRowsの出力(式 outputs('SampleRows'))。列/Columnsが隠れていたら詳細パラメーターから表示し、「カスタム」にします。

  5. 5

    カスタム列を上から2行設定します。1行目のヘッダーは「商品名」、値は式 item()?['Product']。2行目のヘッダーは「数量」、値は式 item()?['Qty']。InternalMemoの列は追加しません。ヘッダーは文字入力、値は式タブへ入力し、式を単なる文字として貼り付けないでください。

  6. 6

    CsvTextの直後に作成を置き、入力へCsvTextの動的コンテンツ「出力」を入れます。期待する内容は見出し「商品名,数量」、データ「ノート,3」「付箋,5」の計3行です。入力は配列、変換後はCSV文字列。ここまででは.csvファイルは作られません。 CSVテーブルの作成は配列全体を一度に変換するため、Apply to eachで囲みません。

  7. 7

    練習:実行履歴で2列・2件・InternalMemoが含まれないことを確認します。次はSampleRowsの式を json('[]') に変えて実行し、いいえ側だけが通りCSV変換がスキップされることを確認します。確認後は元の2件に戻します。

  8. 8

    保存へつなぐ場合:練習用SharePointライブラリ内に出力フォルダーを用意し、書き込み権限と接続を確認します。はい側のCsvTextの後にSharePointの「ファイルの作成」を追加し、サイト・フォルダーを選び、ファイル名は未使用の「商品一覧-練習01.csv」、ファイルコンテンツはCsvTextの「出力」にします。既存名を使わず、再実行時も別名を選びます。最初の練習フローには追加しないでください。

  9. 9

    実データへ置き換える場合:Excelの「表内に存在する行を一覧表示」やSharePointの「複数の項目の取得」の value 配列を使います。応答全体は配列ではありません。必要な行の絞り込みと取得件数は関連する記事48・78で確認し、カスタム列のキーも実データに合わせます。

Microsoft公式ページで確認する

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