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

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

02a84f9b8af46c6c3ef7c4b1f9bbb56f?s=47 masso
June 05, 2020

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

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

02a84f9b8af46c6c3ef7c4b1f9bbb56f?s=128

masso

June 05, 2020
Tweet

Transcript

  1. PowerAutomateによる 社員健康情報集計システムの作り方 Sota Masuda

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

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

    :Excelでデータを管理する為のテーブルを作る • 本編 :PowerAutomateで社員健康情報集計システムを作る
  4. 作りたいシステムの全体像

  5. 作りたいシステムの全体像 社員 社員健康情報アンケート 集計フロー データベース メイン 社員情報 ログ アンケート送信先 (Formsサーバー)

    データの流れ
  6. 作りたいシステムの全体像 社員 社員健康情報アンケート 集計フロー データベース メイン 社員情報 ログ アンケート送信先 (Formsサーバー)

    データの流れ ①健康情報を入力
  7. 作りたいシステムの全体像 社員 社員健康情報アンケート 集計フロー データベース メイン 社員情報 ログ アンケート送信先 (Formsサーバー)

    データの流れ ②入力内容をサーバーに送信
  8. 作りたいシステムの全体像 社員 社員健康情報アンケート 集計フロー データベース メイン 社員情報 ログ アンケート送信先 (Formsサーバー)

    データの流れ ③アンケートの送信を感知+情報取得 ・健康情報 ・メールアドレス ・送信日時
  9. 作りたいシステムの全体像 社員 社員健康情報アンケート 集計フロー データベース メイン 社員情報 ログ アンケート送信先 (Formsサーバー)

    データの流れ ④メールアドレスをキーとして部署名・氏名を取得
  10. 作りたいシステムの全体像 社員 社員健康情報アンケート 集計フロー データベース メイン 社員情報 ログ アンケート送信先 (Formsサーバー)

    データの流れ ⑤メインテーブルとログテーブルに情報を設定 更新 追加
  11. はじめに~PowerAutomateの基本~ 1. PowerAutomateのはじめかた 2. PowerAutomateでのフローの作り方 3. PowerAutomateについて学ぶための教材

  12. 1. PowerAutomateのはじめかた

  13. 1. PowerAutomateのはじめかた Microsoft Store から Office をダウンロードします (Office365アプリのハブみたいなもの。便利なのでおススメ。)

  14. 1. PowerAutomateのはじめかた Office を起動して、PowerAutomate のアイコンをクリック

  15. 1. PowerAutomateのはじめかた ブラウザが起動して、PowerAutomateのホームが表示されます (場合によっては、サインインが求められます)

  16. 2. PowerAutomateでのフローの作り方

  17. 2. PowerAutomateでのフローの作り方 「作成」を選択

  18. 2. PowerAutomateでのフローの作り方 「空白から開始」―「自動フロー」を選択

  19. 2. PowerAutomateでのフローの作り方 「フロー名」を入力、「トリガー」を選択して、「作成」

  20. 2. PowerAutomateでのフローの作り方 先ほど選択した「トリガー」が表示されます 「新しいステップ」からアクションを選択します

  21. 2. PowerAutomateでのフローの作り方 先ほど選択した「トリガー」が表示されます 「新しいステップ」からアクションを選択します

  22. 2. PowerAutomateでのフローの作り方 「SharePointで項目が作成された」時 「Teamsにメッセージを投稿する」場合の例

  23. 2. PowerAutomateでのフローの作り方 「SharePointで項目が作成された」時 「Teamsにメッセージを投稿する」場合の例

  24. 2. PowerAutomateでのフローの作り方 「SharePointで項目が作成された」時 「Teamsにメッセージを投稿する」場合の例 目的に応じて、 細かい設定を入力していきます

  25. 3. PowerAutomateについて学ぶための教材

  26. 3. PowerAutomateについて学ぶための教材 Microsoftの公式ドキュメントを読みましょう https://docs.microsoft.com/ja-jp/power-automate/

  27. 3. PowerAutomateについて学ぶための教材 学習用コンテンツも揃っています https://docs.microsoft.com/ja-jp/learn/paths/automate-process-power-automate/

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

    :Excelでデータを管理する為のテーブルを作る • 本編 :PowerAutomateで社員健康情報集計システムを作る
  29. 準備:Formsで社員健康情報アンケートを作る アンケートで入力してもらう情報 体温(必須項目) その他特記事項(任意項目) その日に測った体温を入力してもらいます 入力の煩雑さ抑制の為、選択式にします その日の体調について一言コメントを入力してもらいます 入力の自由度を高める為、自由入力形式にします

  30. 準備:Formsで社員健康情報アンケートを作る 出来上がったアンケート

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

    :Excelでデータを管理する為のテーブルを作る • 本編 :PowerAutomateで社員健康情報集計システムを作る
  32. 用意するテーブルは三つ

  33. 準備:Excelでデータを管理する為のテーブルを作る メインテーブル 社員情報テーブル ログテーブル 用意するのは下記の三つのテーブルです。() 内はExcel上でのテーブル名 ( health_reports ) (

    users ) ( health_reports_log )
  34. 準備:Excelでデータを管理する為のテーブルを作る NOTE PowerAutomateから操作できるようにするために、 Excelファイルは、OneDrive上に作成しましょう。 今回は、社内グループ「情報ポータル」のフォルダに作成します。 メインテーブル 社員情報テーブル ログテーブル ( health_reports

    ) ( users ) ( health_reports_log ) 用意するのは下記の三つのテーブルです。() 内はExcel上でのテーブル名
  35. 準備:Excelでデータを管理する為のテーブルを作る メインテーブルは、集計結果を確認する為のテーブルです。 列名 型 内容 メールアドレス 文字列 社員のメールアドレス 部署名 文字列

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

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

    社員の所属部署 名前 文字列 社員の名前 体温 文字列 社員の入力時の体温 体調 文字列 社員の体調に関するコメント 入力日時 日時(YYYY/MM/DD hh:mm) 当該情報をFormsから送信した時刻 メインテーブル 社員情報テーブル ログテーブル ( health_reports ) ( users ) ( health_reports_log )
  38. エクセルでテーブルを作る方法(表ではない)

  39. 準備:Excelでデータを管理する為のテーブルを作る ① 列名を入力する

  40. 準備:Excelでデータを管理する為のテーブルを作る ② 列を選択して、テーブルを作る

  41. 準備:Excelでデータを管理する為のテーブルを作る ③ テーブル名を設定する ※必須ではないですが、推奨します

  42. 準備:Excelでデータを管理する為のテーブルを作る ③ テーブル名を設定する ※必須ではないですが、推奨します

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

    :Excelでデータを管理する為のテーブルを作る • 本編 :PowerAutomateで社員健康情報集計システムを作る
  44. (やっと)作り方

  45. 本編:PowerAutomateで社員健康情報集計システムを作る 作るのは全部で8つのステップ 一つずつ見ていきましょう ① ② ③ ④ ⑤ ⑥ ⑦

  46. ① アンケートの送信を感知する 1 2 3 4 5 6 7 8

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

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

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

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

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

    入力した社員のアドレスをキー値として、 Usersテーブルのメールアドレス列で検索します
  52. 必要な情報は全て取得できた 1. 入力した社員のアドレス、部署、氏名 2. 入力内容(体温、体調に関するコメント) 3. 日本標準時に変換したアンケート送信時刻

  53. ⑥ ログテーブルに健康情報を記録 1 2 3 4 5 6 7 8

    収集した情報を 適切な「ファイル」の 適切な「テーブル」の 適切な「列」に配置するだけ 列名
  54. ⑥ ログテーブルに健康情報を記録 1 2 3 4 5 6 7 8

  55. ⑦ メインテーブルの健康情報を更新する 1 2 3 4 5 6 7 8

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

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

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

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

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

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

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

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