掲題のフローの解説編その2です。
フローをGitHubで公開しました。
github.com
この投稿は、
解説編その1 の続きです。
概要編はこちらです。
この回で解説する範囲
解説する範囲のフロー図
この回で解説する範囲のフロー図は以下の通りです。
この範囲で解説するステップ
この範囲で解説するステップは以下の通りです。
- 投稿一覧のデータを変換したものを格納するための配列変数を初期化
- 投稿一覧の1行ごとにデータの変換処理を実行して、配列変数に追加
解説
1.投稿一覧のデータを変換したものを格納するための配列変数を初期化
これは「変数」>「変数を初期化する」アクションです。後続のステップで変換処理したデータを格納するための箱をつくります。
2.投稿一覧の1行ごとにデータの変換処理を実行して、配列変数に追加
解説編その1 で得た投稿一覧のデータを、使いやすいように変換します。
アクションをひとつずつ解説します。
4-1.「ユーザー プロフィールの取得 (V2)」アクション
これは「Office 365 User」>「ユーザー プロフィールの取得 (V2)」アクションです。投稿一覧から取得した投稿者のUser IDをキーにして、Azure ADから投稿者の表示名を取得します。
4-2.「Html からテキスト(プレビュー)」アクション
これは「Content Conversion」>「Html からテキスト(プレビュー)」アクションです。投稿一覧から取得した投稿本文はHTMLタグが含まれます。そのため、このアクションでHTMLタグの無いテキストに変換します。
4-3.「配列変数に追加」アクション
これは「変数」>「配列変数に追加します」アクションです。4-1 と 4-2 のアクションで変換した列を含む3つの列を持つデータ(= 行)を、配列変数「投稿一覧のデータを変換したもの」に追加します。
このアクション内で"createdDateTime"列を、convertTimeZone関数を使ってUTCから Tokyo Standard Time に変換します。
また、このアクションでは変換したデータの列名を任意に指定できます。そのため、用途が分かりやすいように日本語の列名をつけます。
"inputs": { "name": "投稿一覧のデータを変換したもの", "value": { "投稿日時": "@convertTimeZone(item()?['createdDateTime'], 'UTC', 'Tokyo Standard Time', 'yyyy/MM/dd HH:mm:ss')", "ユーザー": "@outputs('ユーザー_プロフィールの取得_(V2)')?['body/displayName']", "本文": "@body('Html_からテキスト')" } },
今回の範囲の結果として得られるもの
今回の範囲の結果として得られるものは、配列「投稿一覧のデータを変換したもの」のデータです。
この配列の中身は、一番上は"親の投稿"です。2つめ以降の行は"返信"です。ですが、返信の並び順は日時の昇順になっていません。
後続の処理ではこの配列の中身を日付の昇順に並べかえます。こちらについては次の回で解説します。
今回は以上です。
追記:解説編その3を投稿しました。
追記:CSVに含める列を「最終更新日時」から「投稿日時」に変更しました。
「最終更新日時」を基準にした並び順はTeamsのスレッド上の並び順と一致しない場合があるため、出力対象を「投稿日時」に変更しました。