Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PowerAutomateによる社員健康状態集計システム / Employee health status tabulation system with Power Automate

masso
June 05, 2020

PowerAutomateによる社員健康状態集計システム / Employee health status tabulation system with Power Automate

本資料は MS Power Automate の使い方を学ぶ為の学習資料である。
社内向けに作成した「社員の健康情報を集計するシステム」を事例として、
Power Automateの使い方を非エンジニア向けに説明する。

masso

June 05, 2020
Tweet

More Decks by masso

Other Decks in Education

Transcript

  1. 目次 • はじめに:作りたいシステムの全体像 • はじめに:PowerAutomateの基本 • 準備 :Formsで社員健康情報アンケートを作る • 準備

    :Excelでデータを管理する為のテーブルを作る • 本編 :PowerAutomateで社員健康情報集計システムを作る
  2. 目次 • はじめに:作りたいシステムの全体像 • はじめに:PowerAutomateの基本 • 準備 :Formsで社員健康情報アンケートを作る • 準備

    :Excelでデータを管理する為のテーブルを作る • 本編 :PowerAutomateで社員健康情報集計システムを作る
  3. 作りたいシステムの全体像 社員 社員健康情報アンケート 集計フロー データベース メイン 社員情報 ログ アンケート送信先 (Formsサーバー)

    データの流れ ③アンケートの送信を感知+情報取得 ・健康情報 ・メールアドレス ・送信日時
  4. 目次 • はじめに:作りたいシステムの全体像 • はじめに:PowerAutomateの基本 • 準備 :Formsで社員健康情報アンケートを作る • 準備

    :Excelでデータを管理する為のテーブルを作る • 本編 :PowerAutomateで社員健康情報集計システムを作る
  5. 目次 • はじめに:作りたいシステムの全体像 • はじめに:PowerAutomateの基本 • 準備 :Formsで社員健康情報アンケートを作る • 準備

    :Excelでデータを管理する為のテーブルを作る • 本編 :PowerAutomateで社員健康情報集計システムを作る
  6. 準備:Excelでデータを管理する為のテーブルを作る メインテーブルは、集計結果を確認する為のテーブルです。 列名 型 内容 メールアドレス 文字列 社員のメールアドレス 部署名 文字列

    社員の所属部署 名前 文字列 社員の名前 体温 文字列 社員の入力時の体温 体調 文字列 社員の体調に関するコメント 入力日時 日時(YYYY/MM/DD hh:mm) 当該情報をFormsから送信した時刻 メインテーブル 社員情報テーブル ログテーブル ( health_reports ) ( users ) ( health_reports_log )
  7. 準備:Excelでデータを管理する為のテーブルを作る 社員情報テーブルは、社員の基本情報を記したマスタデータです。 列名 型 内容 ユーザーID 文字列 社員ID 氏名 文字列

    社員の名前 メールアドレス 文字列 社員のメールアドレス 部署 文字列 社員の所属部署 メインテーブル 社員情報テーブル ログテーブル ( health_reports ) ( users ) ( health_reports_log )
  8. 準備:Excelでデータを管理する為のテーブルを作る ログテーブルは、集計結果の履歴を保存するテーブルです。 列名 型 内容 メールアドレス 文字列 社員のメールアドレス 部署名 文字列

    社員の所属部署 名前 文字列 社員の名前 体温 文字列 社員の入力時の体温 体調 文字列 社員の体調に関するコメント 入力日時 日時(YYYY/MM/DD hh:mm) 当該情報をFormsから送信した時刻 メインテーブル 社員情報テーブル ログテーブル ( health_reports ) ( users ) ( health_reports_log )
  9. 目次 • はじめに:作りたいシステムの全体像 • はじめに:PowerAutomateの基本 • 準備 :Formsで社員健康情報アンケートを作る • 準備

    :Excelでデータを管理する為のテーブルを作る • 本編 :PowerAutomateで社員健康情報集計システムを作る
  10. ① アンケートの送信を感知する 1 2 3 4 5 6 7 8

    感知したいフォームのIDを入力します 準備の際に作成した「みんなの健康状態調査」を選択します
  11. ② アンケートの送信情報を取得する 1 2 3 4 5 6 7 8

    詳細を取得したいフォームのIDと 取得したい情報(応答ID)を選択します
  12. ③ 送信日時のタイムゾーンを変換する 1 2 3 4 5 6 7 8

    基準時間にFormの送信日時を入力し、 時刻の書式、変換元/先のタイムゾーンを 入力します
  13. ④ データベースを取得する 1 2 3 4 5 6 7 8

    データベース用に作成したエクセルファイルの保存場所と ファイル名を選択します。
  14. ⑤ メールアドレスをキーに社員の所属部署と氏名を取得する 1 2 3 4 5 6 7 8

    社員情報テーブルの格納場所と テーブル名を選択します。
  15. ⑤ メールアドレスをキーに社員の所属部署と氏名を取得する 1 2 3 4 5 6 7 8

    入力した社員のアドレスをキー値として、 Usersテーブルのメールアドレス列で検索します
  16. ⑥ ログテーブルに健康情報を記録 1 2 3 4 5 6 7 8

    収集した情報を 適切な「ファイル」の 適切な「テーブル」の 適切な「列」に配置するだけ 列名
  17. ⑦ メインテーブルの健康情報を更新する 1 2 3 4 5 6 7 8

    各項目に入力する値は、 前項のログテーブルと同一 ただし、 アクション名が「行の更新」 になっている点に注意
  18. ⑦ メインテーブルの健康情報を更新する 1 2 3 4 5 6 7 8

    「行の更新」では、 設定したキー値の行がテーブルに 存在しない場合、このアイテムが エラーを返します。 メールアドレス列にキー値がない場合、 エラーが返ってくる
  19. ⑦ メインテーブルの健康情報を更新する 1 2 3 4 5 6 7 8

    もし、エラーが返った場合、 「行の追加」をするように制御します。 次項よりその制御方法について記載します。
  20. ⑧ メインテーブルに更新対象の情報がない場合は追加する 1 2 3 4 5 6 7 8

    「スイッチ」アクションを追加し、 「実行条件の構成」で 「に失敗しました」にチェックを入れます。 こうすることで、 「行の更新2」が失敗した場合も、 このステップは実行されるようになります。
  21. ⑧ メインテーブルに更新対象の情報がない場合は追加する 1 2 3 4 5 6 7 8

    スイッチアクションの「オン」という項目に式を入力します。 ここでは、「行の更新 2」の実行結果(= statusCode)を outputする命令を記述しています。
  22. ⑧ メインテーブルに更新対象の情報がない場合は追加する 1 2 3 4 5 6 7 8

    NOTE PowerAutomateでは、ステップ名に数字がついている場合(ex. 行の更新 2)は、 内部的には、半角スペースがアンダースコアに置き換わっています。
  23. ⑧ メインテーブルに更新対象の情報がない場合は追加する 1 2 3 4 5 6 7 8

    状態コード=404は、⑦で説明した「行の更新」が失敗したことを意味します。 このときは、「行の更新」ではなく「行を追加」を実行します。
  24. ⑧ メインテーブルに更新対象の情報がない場合は追加する 1 2 3 4 5 6 7 8

    「行を追加」の内容は、 ⑦で説明した「行の更新」と同一です。 ⑦の行の更新と同じ値を設定する