LoginSignup
52
93

More than 3 years have passed since last update.

【10分で作成】Microsoft TeamsでForms投票、その結果をPower BIでリアル可視化

Last updated at Posted at 2020-04-26

はじめに

 Microsoft Teamsには、チーム内で、簡単にMicrosoft Formsの投票機能が呼び出せ、その結果が簡易的な棒グラフで同チーム内にリアルタイムに表示できます。また投票されたデータはMicrosoft Formsの管理機能で円グラフ、1件づつの回答結果、Excelでの回答一覧を取り出せます。
 こちらを、Power AutomateとPower BI Serviceを連携することにより、リアルタイムに好きなビジュアルで表示するようにします。

尚、当初は【1】の手順でTeams内で使えるクイック投票機能(FormsがTeamsの投稿時のアプリになっているもの)を使おうとしたのですが、うまくいかないことに気が付き、【1-2】【5】【6】の手順を追記しています。手順変更によって読みづらい部分もあるかと思いますが、失敗の経験、注意すべきことももシェアするということでご了承ください。

ご注意

 本記事の作成者である私は、市民開発者(シチズン・ディベロッパー)であり、ところどころ技術的説明が雑な説明を含みます。ご了承いただき、より正しい説明はMicrosoft Docs、後記の参考にした有用なリソース等の関連箇所を参照ください。

利用イメージ図

image.png
(左:Teams内のForms、真ん中:Power Automateの実行ステップ、右:Power BI Serivceでリアル表示)

※実際のデータ数はテストデータを含むため、異なります。

利用環境の概要

 本資料は各サービスのライセンスに対応する機能の詳細等は割愛します。概要は以下のとおりです。
- Microsoft Teams(ビデオ会議、ビデオチャット等コラボ基盤。無料版ではない通常版。Microsoft 365の大半のライセンスに付属)
- Microsoft Forms(アンケート集計サービス。Microsoft 365の大半のライセンスに付属)
- Power Automate(アプリ、データ等の自動連携。Microsoft 365の大半のライセンスに付属)
- Power BI Service(Power BI Proにある1サービス。Microsoft 365 E5に付属他、単体購入等に付属)
- 上記の各サービスは、同じMicrosoft 365の組織テナント内にあるものとする。

概要図(データの流れと説明順)

image.png

【1】(事後で見直しになった)投票フォームの作成(Microsoft Teams部分)

 注意 この部分の方法を見直したものは後記の【1-2】にあります。そちらの手順を採用してください。

 Teamsアプリの投稿「その他のオプション」(・・・)からFormsを選択します。

コメント 2020-04-26 155707.png

 投稿を作成して..

コメント 2020-04-26 155824.png

 送信すると、チームのチャネル内に投票とそのリアルタイム結果ボードができます。実際に投票を送信するとボードが更新されます。

コメント 2020-04-26 160135.png

【2】投票されたデータの確認(Microsoft Forms部分)

 Microsoft 365ポータルからFormsを呼び出します。

コメント 2020-04-26 161153.png

 Teamsで作成した投票を選択し、「Responses」で結果が投票されていることがわかります。そして、上部のワーニングにあるように、この投票フォームはこれ以上編集できません。((補足)このメッセージがでるのは【1】の場合のみ)
image.png

 Excelで開くをクリックすると(Teamsの同じ組織テナント内の)ユーザーやメールアドレスも自動で取得されいることもわかります。
image.png

【3】可視化する受け側部分の作成(Power BI部分)

 Microsoft 365ポータルからPower BI Serviceを呼び出します。

コメント 2020-04-26 161241.png

マイワークスペースの「+新規」から「ストリーミングデータセット」を選択します。

コメント 2020-04-26 161409.png

APIを選択し[次へ]

image.png

「データセット名」、Formsから取得する項目を「ストリームからの値」を設定します。日時と数値は必須で設定し、その他は取得するものを入れます。履歴データの解析はオンにして、ストリーミングデータセットに加えてプッシュデータセットも受け取り、Power BI Service上でレポートを作成できるようにします。
コメント 2020-04-26 162211.png

最終確認画面で完了を押すことで、ストリーミングデータセットの作成は完了です。

(補足)下部にあるテキスト部分(JSON形式)をPower Automateで利用する必要がある場合もありますが、以降の手順で進めた場合は不要でした。

コメント 2020-04-26 162403.png

作成したデータセットからレポートを作成しましょう。
image.png

適当にカードや、テーブル等を配置しましょう。各ビジュアルの右上にあるピン留めし、リアルタイム表示するダッシュボードに留めます。

コメント 2020-04-26 162906.png

レポートの保存は、適当なレポート名をつけて保存します。
image.png

ピン留めは新規か既存のダッシュボードへ
image.png

モバイル用のレイアウトも作るか聞かれます。後でも設定できるので一旦ダッシュボードへ。
image.png

これでダッシュボードも完了です。
image.png

【4】データのつなぎ(Power Automate部分)

 Microsoft 365ポータルからPower Automateを呼び出します。

image.png

 「作成」から「自動フロー」を選択します。
image.png

以下のようにFormsの新しい応答の送信からスタートして作成します。
image.png

フォームIDをセットして
image.png

新しいステップでFormsの「応答の詳細」を
image.png

応答IDをセットします。
image.png

現在の時刻を取得し、さらにタイムゾーンを変換します。

image.png

「Office 365ユーザー」から名前取得を行うため呼び出します。そして、Formsのメールアドレスを指定します。

image.png

「データセットに行を」でPower BIに関する設定します。

image.png

ワークスペースは「My Workspace」等【3】で選んだスペース、データセット、テーブルは「RealTimeData」をセットします。
すると、その他のテーブルの項目をセットする画面がでます。変換後の時間、Formsの各項目(応答通知のID、出欠の回答)、Office365から表示名とメールを設定し、保存します
image.png

一連の動作確認

 Formsに行き、右上の[Preview]を押し、テストで1件投稿します。
image.png

 Power Automateは左上の[←]で前の画面に戻り、
image.png
 下の実行が、成功しているか見ます。
image.png
 開始の下の日付をクリックすると詳細の実行状況が見られます。

 Power BIの項目を見ると、指定した項目が送られていることがわかります。もしエラーになったら、エラーの内容を確認し、右上の編集から一部修正しましょう。
image.png

 Poer BIレポートに値は入ってるでしょうか?更新がなければ、その他のオプション(・・・)から更新を。すると表示されました。
image.png

ところどころ表示が変なようです。
image.png

これらを治します。編集にして
image.png

カードは一意なカウントに、
image.png

テーブルは必要な項目のみに。投稿時間の新しいのが上にくるようにするとよいでしょう。
あらためて、ダッシュボードへのピン留めもし直します。レポートの保存を忘れないように。
image.png

ダッシュボードを画面に出したまま、FormsからテストでPreviewから投稿してみましょう。

1件追加で投稿されれば、OKですね!!

image.png

「データについて質問する」は不要なので消しましょう。ダッシュボードのその他のオプション(・・・)から設定に進み、Q&Aをオフです。
image.png

その他、同様にレポートでビジュアルの追加等を行い、ピン留め等を繰り返しビジュアルを整えましょう。
image.png

以上で終了です。自動的に画面が動くのはダッシュボード上で見られます。

Power BI Mobile(アプリ)でも自動更新

 ピン留めした後にででる案内等から「Phoneビューの編集」を行うと、Power BI Mobile(アプリ)で表示される見栄えを調整できます。右上の切り替えから「Webビュー」のダッシュボードに戻れます。

image.png

 モバイルアプリのダッシュボードも自動更新されます。
IMG_6525.PNG

データのメンテナンス(クリア)

 プッシュデータセット(レポートで表示しているデータ)は、データセットの編集から「履歴データの解析」をオフにして保存すると消えます。再度アンケートを取得するときは、オンにして保存します。
image.png
 ストリーミングデータセットは、1時間経過で自動的にクリアされます。
 Forms側のデータのクリアも行いたいときは、[Responses]から結果を表示して回答の削除を行います。
image.png

(振り返り)ここにきて、致命的なミスに気がつく...

データをクリアして、あらためてTeamsからテストしたのですが、Formsにデータ蓄積されるものの、Power Automateからは進みません。
どうやらTeamsのメッセージ欄からアンケートを起こす、クイック投票では、Power Automateから先は動かないようです(原因不明)。
またもし動いたとしても、投票が投稿された後、チームユーザーはすぐに回答する可能性が高いです。そうなると【2】~【4】の準備ができていないので、うまくいかずでした...(浅はかでした)。というわけで、改良版の【1-2】を次に書きます。

【1-2】(改良版)投票フォームの作成(Microsoft Forms)

Formsから新しいフォームを作成します。
image.png

 過去の質問で「類似あったね」とレコメンドしてくれましたw
image.png

(補足)【4】「データのつなぎ(Power Automate部分)」のForm指定の微修正

 【1-2】から【4】にいけば、【4】自体は修正する必要がありません。【1】を実施していた私は、Formsの該当フォームを結びつけなおしました。
image.png

こちらも修正して保存。
image.png

Power BIも修正要です。そして保存を忘れずに
image.png

次にFormsからPower BIまで動作確認を実施します。

【5】投票フォームをリリース(Microsoft Teams部分)

TeamsのタグにFormsを貼って、ユーザーに使ってもらいましょう。タブから...

image.png

Formsを選びます。
image.png

作成したフォームを選択。
image.png

タブのタイトルが長いときは短く修正を。
image.png

【6】投票結果の見える化(Microsoft Teams部)

 投稿結果は、Power BIのレポートをタブに呼び出しましょう。
image.png

 ダッシュボードは呼び出せない模様。同様のものを呼び出したい場合、My Workspace以外のワークスペースにしてアプリにするという方法でしょうか..

image.png

 結果がでました。
image.png

 補足ですが、Formsの回答をタブに追加することもできますね。

image.png

image.png

Formsの入力とPower BIの見える化に関するさらなる応用等

 Formsで蓄積されるデータのPower BIの可視化についての応用例には以下もご参照ください。

参考にした有用なリソース等

@yugoes1021 さんばっかり!w はい、本記事はこれまでPower BI勉強会やQiita等で教えてもらったことが軸です。Power BIについて本質的なことを身につけていくには、Microsoft MVPのひとり、@yugoes1021 さんのアウトプットから学ぶことをおすすめします。

おわりに

 ストリーミングデータセットを利用したリアルタイムアンケートの仕組みについて、実施するたびにどこか肝になることを忘れる、抜けるので、Teamsの中でシンプルなFormを理由にまとめ直してみました。リアルアンケートの少しかっこいい可視化をやってみたいな、という方は是非トライしてみてくださーい。
 「(振り返り)ここにきて、致命的なミスに気がつく...」のところは、大きな見落としでした。反省しています。ただ、経験でいろいろわかりまるものですね。手を動かすこと大事です。

52
93
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
52
93