【簡単にプロセスマイニング】Power Automateのプロセスマイニング機能「Process Advisor」を試してみた

#はじめに

Power Automateのメニューに新しくProcess Advisorという機能が追加されました。
Power Automate Desktopのレコーダー機能を使い、業務プロセスの可視化やプロセスマイニングを行うことができる機能です。
これにより、業務担当者が操作の記録を行い、その内容をもとにプロセスを可視化し、自動化処理を選定しやすくなります。

※2020年12月12日時点ではプレビュー版です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/0b4f5d9d-bab8-1d0d-9c34-beddfa840e80.png)
この記事では、Process Advisorでどのような業務の可視化や集計が出来るかを実際に触って検証してみました。

#Process Advisorを使用するために（Power Automate Desktopセットアップ）

Process Advisorは、手動のデスクトップ上のビジネスタスクを記録し、分析します。
このデスクトップ上の業務を記録するのに、「Power Automate Desktop」のレコーダー機能を使用します。
そのため、**Power Automate Desktop**のセットアップが必須となります。
以下にPower Automate Desktopセットアップにおける重要なポイントを抜粋します。

###1.Power Automate Dektopの利用条件

以下の要件を満たす必要があります。
・Power Automate Attended RPA の有料または試用ライセンスが必要。

・管理者権限とPower Automateを使用するWindowsデバイスにサインインする職場または学校のアカウント。

・Windows 10 Pro、Windows 10 Enterprise、Windows Server 2016、または Windows Server 2019 。

・Microsoft Edge(バージョン80以降)またはGoogle Chromeブラウザ。

・Microsoft Datavarse(旧Common Data Service)を持つ環境。

・サポートされているキーボードが接続されていること。

上記に加えて、オンプレミス データ ゲートウェイをインストールして、クラウドからデスクトップに接続できる必要があります。

これらのセットアップ詳細条件については、Microsoftのdocsをご確認ください。
[Set up Power Automate Desktop](https://docs.microsoft.com/en-us/power-automate/desktop-flows/setup#prerequisites) (英語)

###2.Power Automate Desktopのインストール

上記の前提条件がクリアされたあと、Power Automateのページへアクセスし、Power Automate Attended RPA のライセンスを持っているMicrosoft アカウントやMicrosoft 365アカウントでログインします。
[Try the Power Automate Desktop](https://go.microsoft.com/fwlink/?LinkId=2119143&clcid=0x411)
Power Automateの画面が表示されますので、「作成」→「インストール」→「Power Automate Desktop」を選んでください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/1d5c4415-d437-8323-9d97-6bebc4165e66.png)

ダウンロードされたファイルをダブルクリックし、インストールを開始してください。
インストール時の操作については、以下の記事をご確認ください。

[【Power Automateの新しいRPA機能】Power Automate Desktopのトライアル開始手順（インストール手順の項目）](https://qiita.com/maekawawawa/items/7460ea11601f880d8a90#%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%89%8B%E9%A0%86)

#Process Advisorの使用方法

ここからはProcess Advisorの使用方法を記載します。
今回はサンプルとして以下の業務プロセスを可視化することにしました。
交通費請求処理プロセス
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/d9a8cf1e-c249-c27f-3f92-acce115af386.png)

上記のフローをProcess Advisorで可視化してみます。
Process Advisorでの業務プロセスの可視化は以下の処理の流れです。
1.プロセスの定義体を作成する（業務プロセスのタイトルと器の作成）
2.プロセスを記録する（実際に操作する）
3.記録したプロセスのフローをグループ化する
4.分析し可視化する
※2と３は必要回数分実施

##1.プロセスの定義体を作成する（業務プロセスのタイトルと器の作成）
Power Automateの画面から「Process Advisorの作成」をクリックし、表示された画面で「新しいプロセスを作成する」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/15d28f2f-b938-5875-a29b-8cb7b7438bab.png)

新しいプロセスを作成する画面が起動するので、プロセス名を入力します。
日本語名も入力はできますが、解析の画面等で文字化けする可能性があるのでここでは英語で設定しています。交通費請求の意味です。
プロセス名を入力したら作成をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/dbd72692-dbb7-57aa-b616-c8e6bb9d9ab3.png)

これでプロセスの作成は完了です。この後は実際の業務プロセスの記録を行うため「記録を追加する」を選択し、プロセスの記録作業に進みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/1dad994e-da51-273b-4110-ac9f6fb90bf2.png)

##2.プロセスを記録する（実際に操作する）
「記録を追加する」をクリックしたあとデスクトップレコーダー(Power Automate Desktopのレコーダー機能)を起動するための確認メッセージが表示されるため「開く」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/c17c19a9-a7aa-d441-506b-42fa0190983e.png)

デスクトップレコーダーが起動します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/2cf5c854-ca24-4449-8048-0934bd67b374.png)

記録を開始する準備をします。
この業務では社員が申請した交通費申請の内容を確認、妥当性をチェックし、その内容を請求システムに登録することを目的としています。

まず、各社員から申請の上がってきている交通費の申請がまとまっているExcel一覧があります。これを開いておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/89884e27-03a9-bb81-1bb7-4fef02d1da13.png)

次に妥当性確認のため一覧に記載されている出発地～到着地間の申請料金が正しいかをYahoo!乗換案内で検索するため、こちらも開いておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/3408706a-51e8-0343-92c3-5f6e531602d9.png)

最後に、請求金額を請求システムに入力するためこちらも起動しておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/b5641d59-8ea0-a320-4b8c-b4f91569d1cd.png)

※このアプリは吉田大貴さんが公開しているPower Automate Desktop向けのサンプリアプリを使用しております。
[Power Automate Desktop でRPAを試すための日本語版サンプルレガシーアプリを公開](https://memo.tyoshida.me/power-platform/power-automate/power-automate-desktop-sample-legacy-app-japanese-available/)

準備ができたらデスクトップレコーダーの「記録の開始」ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/a5f61bd7-c525-f418-8baa-d96fa4009ad4.png)

それでは実際に記録をしていきますが、まずは１行目の「新潟～東京間」の交通費申請を処理していきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/8c66a177-f624-d248-0d19-8ecf2cb3fc9d.png)

行程が新潟～東京であることを確認したら、「Yahoo!乗換案内」で新潟～東京間の金額を確認します。
この時、入力項目が赤枠で表示されているとデスクトップレコーダーが構造を認識できていることになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/3178ae3e-bae8-b43f-c6ec-1fa87b460e7d.png)

出発地、到着地の情報を入れて検索し、金額を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/85101467-f9c1-9baf-a7f2-c7b52bcfe90f.png)

確認した金額をExcelで表示されている金額と確認して一致していたらExcelのチェック欄に「OK」と入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/3e03aef9-acc0-a4ee-7485-4f1d2c288abf.png)

チェック後は、申請内容を請求システムに入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/1878906c-e5f6-9bcc-4daf-e930f2be9748.png)

一連の入力を行うとデスクトップレコーダーに操作が記録されます。記録が終了されたら「終了」ボタンをクリックします。
また、この時に不要な入力を削除することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/0c4d594e-a248-f43e-72d3-722ed9360ad1.png)
（ここで私見ですが、私はよっぽどの間違い（まったく関係ない作業をした等）でなければ削除しなくても良いんじゃないかなと良いと思います。ちょっとした入力誤りをしてしまうことも含めて業務にかかる時間だと思うので、多少の操作・入力ミスならそのまま削除しないのも実際の業務を可視化・計測するためにもありなんだと思います。）


本題に戻って、「終了」ボタンを押すことで記録がクラウド上（おそらくMicrosoft Dataverse）に保存されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/bf40fcc7-6963-953a-f559-313fce4fbe50.png)

##3.記録したプロセスのフローをグループ化する
記録したプロセスは、そのままでは解析することはできません。
プロセスの流れ（フロー）をグループ化する処理が必要になります。

グループ化するために記録したプロセスを表示します。「記録を表示する」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/da234f82-7741-a959-1cd5-edd729661d19.png)

保存した記録が表示されます。処理の流れ以外にステップ数や処理時間が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/530053ec-45d5-850a-fddc-7605e39346cc.png)

最初に行うのは記録の名前の修正です。おそらくここにはユーザ名＋記録した時間が表示されていると思うのですが、2byte文字のユーザ名が入っていると文字化けします。
ここを修正します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/f0474b44-f49c-180e-9c39-ca7e9f3c801c.png)
↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/704a3792-9c45-12fc-f505-916eadaa7163.png)

次に記録内容（アクション）をグループ化します。
要は業務フローにあわせてどの操作がどのグループにあたるのかを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/fba8d4ac-a936-8d3f-51b0-9e99813a3091.png)

まず、Excel上の行程確認を行う作業をグループ化します。Excelを操作開始したアクションをクリックし、次に「グループを追加する」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/d3bfe516-2920-1ca4-b304-4025e36d1e78.png)

クリックした位置にグループの枠が表示されます。あわせてグループ名を設定します。
ここでは「Check Route」と入力します。
（日本語にするとあとで解析した時に結果が文字化けします。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/105031a1-5e6b-926d-b2eb-cc64e43ab78b.png)

次にYahoo!乗換案内で行程検索する作業をグループ化します。
対象の操作を探す際には、操作の名前とクリックしたときに表示される画面キャプチャを見て確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/0a73bbb2-8e41-444c-987c-cb99da3dc62e.png)

そんな感じで操作にあわせて以下のグループを作成しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/174726bc-6786-d895-588b-e6029b3f5f30.png)

| グループ名 | 説明 |
|:-----------|:------------|
| Check Route       | Excelで申請情報を確認        |
| Search Route     | Yahoo!で金額確認      |
| Write Check       | 申請金額とYahoo!で確認した金額の相違チェック        |
| Input bill to Contoso         | 請求システムにデータ入力          |

設定済み画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/a33082a5-8710-953e-1522-60da812fff68.png)

最後に記録の保存と「分析する準備ができました」をクリックして、この作業は完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/95690ff9-a5d8-6878-444d-43f3570bfd05.png)

次に分析を行いところですが、まだ１作業分しかプロセスの記録がありませんので、分析するデータが足りません。

引き続き、先程のExcel一覧のデータごとに記録を行っていきます。
新たな記録の開始は、対象のプロセスを開き「新しい記録」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/083dd70f-a98b-7fa2-7028-a6fdaec582d0.png)

2行目の東京～高崎も同じようにYahoo!乗換案内で金額確認を行い、システムにデータを入力する操作を記録していきますが、一点だけ最初の記録と異なる箇所が出てきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/c6e34e23-1c99-b481-9d57-ea65e70fa83b.png)

それは、Excel上に記載された申請料金とYahoo!乗換案内で確認できた金額が異なるというところです。異なる場合はチェック結果にNGと入力し、NGの場合の金額記入欄に正しい金額を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/48b60872-945f-7057-70b5-791d97b265a8.png)

業務フローでいうところの「いいえ」の場合の処理です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/31dcc4db-7ffe-d2f1-b57a-ad4b71c6bc72.png)

金額訂正後は、請求システムへデータを入力する流れは一緒です。記録を完了します。

このような操作で記録された結果に対して、グループの設定を行います。
2回目以降は1回目の記録したグループをリストから設定することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/175086f4-05dc-da2f-bb8b-629010070f76.png)

一通りグループを設定したあと、1回目の記録と異なる、「チェック結果にNGと入力し、NGの場合の金額記入欄に正しい金額を入力」した部分の記録に新しいグループを設定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/6b9c1a99-e8b8-e2be-1725-c7f77965db00.png)

| グループ名 | 説明 |
|:-----------|:------------|
| Write Check No Case       | チェック結果がNGだった場合        |

このように条件分岐によるグループも設定していくことでプロセスを明確に可視化することができます。

上記の通り、Excelの全ての行について記録を実施し、分析する準備ができました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/1bf1ae22-4e09-373e-9526-2537b408228b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/838c6406-c920-af81-337f-93a46b566bea.png)

##4.分析し可視化する
グループを作成した記録の分析を行います。
分析の開始は右側の「分析」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/4f9ef90b-fcbe-4130-0542-7ed0f3acd263.png)

「確認」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/f491e09f-8c3e-812f-98a4-df5fb624ff41.png)

※処理は数分かかることもあります。

状態が分析済に変わったら分析完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/b76042c7-69b5-1083-c00b-cf2ce0c162a5.png)

次に分析結果を確認します。
分析の確認は左側の「分析」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/bae59fd2-ef6b-8438-0c02-24c10f438708.png)

画面が切り替わり、分析結果が表示されます。
業務フローの他に、記録数や平均処理時間が可視化できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/39c3cf64-af3e-2628-6720-5b77be422be1.png)

フローについては、申請金額と確認金額が一致しなかった場合の処理がちゃんと分岐されています。
また、処理に時間がかかっているものは濃い色で表示されています。
メインのフローは太い線で表示されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/fcd6f22c-1b81-5f7a-6841-b00014c22de8.png)

別のレポートでは、グループごとの処理時間や記録ごとの処理時間を確認することができます。極端に長い処理時間の記録の場合、該当記録者へのヒアリングによるボトルネックの解消や記録ミスによる不要データとして削除することも検討できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/547452/10fd5991-4812-7635-a364-3e7aa4590249.png)
Process Advisorでは、上記のように記録をするだけで、既に用意されている分析機能を用い業務プロセスの可視化を簡単に行うことができます。

#まとめ
現在はプレビュー版のため、グループ名や記録名に日本語文字(2byte文字)を使うと文字化けするケースもありますが、とても簡単な手順で業務プロセスの可視化を行うことができます。

Process Advisorを使用することで複数の業務プロセスに対して解析を行い、その中で自動化しやすかったり、自動化の効果が高いフローを見つけて、自動化対象を選定する指針にできるものと思っています。

また、記録した内容をDesktop flow作成時の土台として使うことができるようになれば、現場実際の業務フローをもとにflowの作成を行うことも出来るのではないかと思います。

とても魅力的な製品ですので正式版リリースを楽しみに待つとともに皆さんもぜひお試しください。