Microsoft FlowでGraphを叩いて結果をCSVに入れるまで


本稿ではタイトルの通りMicrosoft Flowで叩いたGraphの結果をCSVに出力する方法を記載します。

出来上がったFlowは以下のようになります。

Microsoft FlowからGraphを叩いてJSONを受け取り取り解析するところまでは前出の
Microsoft FlowでGraphを叩いて結果をExcelに入れるまで
と同じになりますので本稿では割愛します。

MicrosoftFlowでCSVを作成するにはCSVテーブルを作成しそれをファイルに保存するというステップをFlowに定義していくことになります。
ポイント(であると同時にはまったところ)はExcelの時と同じように「Apply to each」の扱い方でした。

Flowへの定義の順序としては「JSONの解析」を定義の後に
1.「CSVテーブルの作成」アクションを追加、「開始」に「value」を設定。
2.「Apply to each」が自動的に設定される。
3.自動的に設定された「Apply to each」の中の「CSVテーブルの作成」の後に「ファイルの作成」を追加する。

となります。
「CSVテーブルの作成」について。
「CSVテーブルの作成」ではヘッダーを追加するということも出来ますが、今回は上手くいきませんでした。
理由はヘッダーを追加しヘッダーを定義、値を設定していくと「Apply to each」が自動で追加され、「Apply to each」のネストされます。
するとCSVが行毎に生成される結果となりひとまとまりのCSVとして作成されませんでした。
結果、ヘッダは無いものの連続したデータを取得できる今の形に落ち着きました。

また「列」を「自動」にしてテストを実行すると「カスタム」に変わり、自動で全列が定義されます。一旦テスト的に実行、その後に欲しいカラムだけ残した結果がキャプチャです。

CSVファイルは時系列に結果を残したいというケースではファイル名を作成時間とすることも多いかと思います。
その際はファイル名に「動的なコンテンツの追加」の式で

formatDateTime(utcnow(),'yyyy-MM-dd_hh_mm_ss')

と入力、その後にキャプチャのように「.csv」を追加すると目的通りのファイル名が得られます。