コルネの進捗や備忘録が記されたなにか

進捗や成果物や備忘録てきななにかを雑に更新していきます。

Microsoft FormsとMicrosoft Flowを用いて社内の改善提案を収集する


スポンサードリンク

社内の改善提案を行っている、もしくは行いたい皆様。 普段どのようなやりかたで、問題の収集を行っていますか?

今回はそのような方々に問題収集を行う方法の1つをご提案したいと思います。


大まかな流れ

  1. 改善提案の収集を行うMicrosoft Formsを社内向けに公開
  2. Microsoft Formsの回答結果をExcelに記載、所定のTeamsに展開
  3. Teamsに投稿されたメッセージのいいねなどの数を収集して社員が最も興味をもっている内容を特定
  4. 対応策を考えて実行!
    本記事では「3」までのやり方をご紹介します。

Microsoft Forms

今回使用するMicrosoft Formsはこちらのリンクよりテンプレートとして使用することが可能です。 ご自由にお使いください。
Microsoft Forms

データを記録するためのExcelを作成

Microsoft Formsなどの回答結果を記録するためのExcelを作成します。
作成の際の注意点として、テーブルとして書式設定を忘れずに行ってください。
これを忘れちゃうとMicrosoft Flowから参照できなくなってしまいます。

f:id:koruneko:20190904235856p:plain

Microsoft Flow

Microsoft Formsの回答結果をExcelに起票してTeamsにて展開を行う

まずはトリガーとして「新しい応答が送信されるとき」を選択し、任意のフォームを選択します。

f:id:koruneko:20190905000347p:plain

続いて上記で選択したフォームの回答結果を取得したいため「応答の詳細を取得します」を選択し、先ほどと同様のフォームを選択します。

f:id:koruneko:20190905000803p:plain

次のアクションにて、タイムゾーンの変換とユーザーの検索を行っていますがこちらは任意ですので、今回の説明では省略します。
ここまでのアクションで取得できた結果をExcelに記載しています。
作成したテーブルに当てはまる項目をこちらで選択してください。
いいねやステータスはまだ取得できていないはずですので、0や未着手などと記載してあげるとよいかもしれません。

f:id:koruneko:20190905001549p:plain


f:id:koruneko:20190905001624p:plain

最後にTeamsに投稿するための処理たちになります。
まずはチャネルの一覧を「チャネルの一覧表示」より取得してください。

f:id:koruneko:20190905001836p:plain

続いて取得したチャネルに一覧をJSON解析を行います。
JSONの解析」を選択し、以下のようなスキーマを選択します。1

f:id:koruneko:20190905002406p:plain

{
    "type": "array",
    "items": {
        "type": "object",
        "properties": {
            "id": {
                "type": [
                    "string",
                    "null"
                ]
            },
            "displayName": {
                "type": [
                    "string",
                    "null"
                ]
            },
            "description": {
                "type": [
                    "string",
                    "null"
                ]
            },
            "email": {
                "type": [
                    "string",
                    "null"
                ]
            },
            "webUrl": {
                "type": [
                    "string",
                    "null"
                ]
            }
        }
    }
}


Teamsに投稿する前に投稿するチャネルのIDを取得します。
下記のスクショではフォームで指定されたジャンルのチャネルを取得しています。(変数の初期化は最初の処理で行って下さい)

f:id:koruneko:20190905004637p:plain

条件の左辺の式には以下のような式が記載されています。

last(split(items('Apply_to_each_3')?['displayName'], '_'))

これは対象のTeamsのチャネルが下記のようになっているので整形を行っているだけです。

f:id:koruneko:20190905004715p:plain

最後に「メッセージをフローボットとしてチャネルに投稿する」を選択してTeamsに投稿し、完了です!

f:id:koruneko:20190905005434p:plain

Teamsに投稿したメッセージのいいねを取得する

いいねの取得方法についての詳しい解説は下記リンクで説明させていただいていますので、そちらをご覧になってください。

koruneko.hatenablog.com



上記記事を参考にTeamsのいいねの数を取得できたらExcelを更新して終了です。
更新する際の「キー値」ですが、例えば私が上記で紹介した内容と同様の内容をTeamsに投稿されたのでしたら、

first(split(last(split(items('Apply_to_each_2')?['body']?['content'], 'ID   :')), '<br>'))

などのように記載してIDと紐づくようにしてあげてください。


最後に

こちら使用する際に一声などいりませんが、もし使用いただけたのならば感想やこういうことはできない?などの相談をお待ちしております!
また、今回はあまり細かく書きすぎると記事が長くなってしますので、少々説明が雑だったかもしれません。。。。
ごめんなさい。
もし、不明点などあれば、コメントかTwitterにでも投げて頂ければ幸いです!

最後まで読んで頂きありがとうございました!


  1. こちらのスキーマはあくまで一例となります。もしエラーとなった場合は実行結果より、「チャネルの一覧」の結果を取得し、「サンプルのペイロードを使用してスキーマを生成する」より生成してください。もしわからない。上手くいかないなどあればコメントかTwitterにでも投げて頂ければできうる限りのアドバイスをさせて頂きます。


スポンサードリンク