はじめに
Power Platformを使う方が増えている中、業務で発生する繰り返し作業を自動化したいというニーズも増加しているように思います。
そんな中、Power Appsで検索した一覧結果をcsv出力したいという要望です。
そこで、Power Apps(画面)からPower Automate(処理)を使って任意の列順でcsv出力する方法について以下にご紹介します。
※豆知識も紹介しますので、ご参考にしていただければと思います。
概要
画面で検索した一覧結果のCSV出力の概要は、下記になります。
具体例
全体像としては下記のようになります。
※詳細は、追ってご説明いたします。
1.画面から処理を呼び出し
下記をCSV出力ボタンのOnSelectイベントに記載することで処理を呼び出すことができます。
Set( varCSVFile, CSV出力.Run(varJSONINPUT).linkoutput );
Power Automate側のトリガーには、様々なものがありますが、本日は、画面から手動で実行するため、手動トリガーを設定します。
※こちらをスケジューリングされたトリガーにすると毎日csvを対象のフォルダに出力することができます。
もっと見る
・入力の追加「入力の追加」を押下することで、手動トリガーの引数を設定できます。
※引数を設定することで画面で検索した内容を元にCSVを出力することが可能です。
2.任意の列順を設定
CSVを出力する際は、特定の値を任意の列に出したいというのが通常だと思いますが、元々準備されているPower AutomateのCSV出力では、テーブルに入っている順番でしか出力できない。
そのため、下記のように順番を設定して上げる必要がある。
もっと見る
■JSONの解析引数で渡されたJSONを分析します。
■CSVテーブルの作成
こちらに記載された順序でCSVが出力されます。
※例では、タイトルと社内管理担当者名称をCSVに出力しています。
※情報が多かったとしてもこちらに記載された情報しかCSVに出力されないので、ユーザに必要な情報のみを取捨選択が可能です。
3.CSVを作成し画面から出力
メールを送信します。
※メールにURLを添付したいことがありますが、その際は、URLを変数にいれることをお勧めします。
URLを変数に入れずにメール本文に入れた場合、Power Automateを開くたびに文字が変換されて、本来想定していたURLとは違うものが送られてしまう可能性があります。
もっと見る
■ファイルの作成・サイトのアドレス
サイトのアドレスを設定します。
・フォルダーのパス
作成するファイルのパスを設定します。
・ファイル名
出力するCSVのファイル名称を設定します。
※CSVの名称が重複しないために、下記のように日時込みのファイル名称で出力します。
formatDateTime(addHours(utcNow(),9), 'yyyyMMddhhmmss')
・ファイルコンテンツ
出力するCSVの情報を設定します。
例の場合は、「CSVテーブルの作成」で作成した情報を設定します。
■DBLink作成
・入力
パスを設定します。
■PowerApp または Flow に応答する
・LinkOutPut
出力されたCSVのフォルダパスを画面に戻します。
まとめ
Power Platformは、初心者の方も使いやすく、また、作成後にすぐに実証できるので、使用感を即時に体感いただけるかと思います。
今後も、Power AppsやPower Automateの記事を上げていきますので、繰り返し業務で多忙になっている方のご負担が少しでも軽減されればと思います。