Microsoft Power BIでAutomation Anywhereのデータを表示させる

Microsoft Power BI August 2020 Update (2.84.802.0 (2020年8月)) でAutomation Anywhereコネクタのベータ版が組み込まれました。これによりAutomation AnywhereでBot Insightに表示していたデータがPower BIにも取り込めるようになりました。Automation Anywhereの対応バージョンはv11.xおよびA2019です。

どのように接続するのか、やってみました。(今回はA2019でやってみました)


**参考資料**

* [Microsoft Power BI Connectorがリリース](https://autodojo.hatenablog.com/entry/Power-BI-Connector) - オートメーション道場
* [Power BI Desktop August 2020 Feature Summary](https://powerbi.microsoft.com/ja-jp/blog/power-bi-desktop-august-2020-feature-summary/) - Microsoft Power BI ブログ
* [【Automation Anywhere A2019】Bot Insightでロボットの状態や作業結果を簡単に可視化](https://qiita.com/RPAbot/items/441599294441361c21f0) - Bot Insightに対する理解をするには
* [Data Connector for Power BI (v11)](https://docs.automationanywhere.com/bundle/enterprise-v11.3/page/enterprise/topics/bot-insight/user/analytics-connector.html)
    * [Deploy Power BI connector](https://docs.automationanywhere.com/bundle/enterprise-v11.3/page/enterprise/topics/bot-insight/user/tpc-powerBI-deployment.html)
    * [Configure Power BI connector](https://docs.automationanywhere.com/bundle/enterprise-v11.3/page/enterprise/topics/bot-insight/user/configuring-automation-anywhere-connector.html)
    * [Example: Retrieve information in Power BI using business information API](https://docs.automationanywhere.com/bundle/enterprise-v11.3/page/enterprise/topics/bot-insight/user/analytics-connector-example.html)
* [Data Connector for Power BI (A2019)](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/bot-insight/user/cloud-analytics-connector.html)
    * [Deploy Power BI connector](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/bot-insight/user/cloud-powerBI-deployment.html)
    * [Configure Power BI connector](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/bot-insight/user/cloud-configuring-automation-anywhere-connector.html)
    * [Example: Retrieve information in Power BI using business information API](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/bot-insight/user/cloud-analytics-connector-example.html)
* [Power Query: REST APIでListから取得したRecordをTableに変換するには](https://qiita.com/RPAbot/items/9ca6561827f51c7c8063)

# 必要要件
* Automation Anywhere Control Room
* 使用するAutomation Anywhereユーザーアカウントで、ユーザーが**AAE_Bot Insight Admin**や**AAE_Admin**ロールを持っていること
* Power BI Desktopをインストール済み

# 全体像
Automation Anywhere Control Room APIの中のBot Insight APIを使ってREST APIでデータをPower BI Desktopに読み込みます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/fe79fcd0-93fd-89df-7949-b8c5261a2e78.png)


### 扱えるデータの種類

* [**Business Information**](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/control-room/control-room-api/cloud-bot-log-data.html?_LANG=jpjp): ビジネスデータ。Botの実行で記録されたビジネスデータを取得します。AAE_Bot Insight Admin権限が必要。
* [**Business Variable Profile**](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/control-room/control-room-api/cloud-bot-variable-profile.html?_LANG=jpjp): ビジネスデータ。Botで使われている変数名、変数型、最大値、最小値に関する情報を得ます。AAE_Bot Insight Admin権限が必要。
* [**Get Bot Run Data Detail**](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/control-room/control-room-api/cloud-bot-insight-bot-run-data.html?_LANG=jpjp): オペレーションデータ。過去のアクティビティに関する情報を取得します。AAE_Bot Insight Admin権限が必要。
* [**Get Audit Trail Data Detail**](https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/control-room/control-room-api/cloud-bot-insight-audit-trail-data.html?_LANG=jpjp): オペレーションデータ。他のユーザーも含めた監査データを取得します。AAE_Admin権限が必要。

# Power BI DesktopでAutomation Anywhereをデータソースとして指定
1. Power BI Desktopで「データを取得」-「詳細」を選択します。<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/821eb06c-97c6-f516-6e9b-a386c524eccb.png)
2. 「データを取得」ダイアログボックスで「Automation Anywhere (ベータ)」を選択します。<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/574d4f2d-60b5-44d4-717c-f4ffad8d5f91.png)<br/>以下のダイアログで「続行」ボタンをクリックします。<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/dc485a4c-43e2-ab05-5ca3-fda99259f95a.png)
3. Automation Anywhereのバージョン選択とControl Room URLを指定します。ここでは「A2019」を選択し、あらかじめ用意してあるControl Room URLを入力します。URLの最後に "/" は入れないようにしてください。<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/cfc82d25-6ca0-b932-4f1b-73701971291c.png)
4. ユーザー名とパスワードを入力して「接続」ボタンをクリックします。 <br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/0c1e99b5-62d4-82fb-83f1-bb70ef4a148d.png)
5. Power QueryでAPIの一覧がテーブルとして表示されます。<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/b16110d8-0286-50e6-9733-d3eee36bf30c.png)


# Get Bot Run Data Detailのデータを整形してPower BIに出力
以下では、APIの例としてGet Bot Run Data Detailを扱います。URLを指定するControl Roomではあらかじめある程度Botを実行していることで過去のアクティビティデータが溜まります。

1. Get Bot Run Data Detailの右隣にあるFunctionをクリックします。<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/1352f161-3262-ed1f-716b-e71126127bdc.png)
<br/>※2回目に実行すると、替わりに以下のダイアログになることもあります。その場合はGet Bot Run Data Detailを選択して「データの変換」ボタンをクリックすると同等の操作となります。<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/c31659d0-3168-6848-b309-2fef939b219b.png)
2. パラメータの入力ダイアログボックスで「OK」ボタンをクリックします。<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/afcbbe9e-2ccb-0935-c6d9-5bc513f47207.png)
3. Listで返ってきた結果をクリックします。<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/3f89a549-8053-3188-31af-287f3a3bdf2e.png)<br/>Listの中のRecordの一覧が表示されます。<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/2d690373-f91e-3927-b9c8-5daeba336ee2.png)
4. リボンの「テーブルへの変換」ボタンをクリックします。[Listの中のRecord型のデータをTableに変換](https://qiita.com/RPAbot/items/9ca6561827f51c7c8063)できます。<br/>
5. List/Recordの内容がテーブルに展開された形のクエリが完成しました。リボンの一番左の「閉じて適用」ボタンをクリックすると、Power Queryが閉じてデータがPower BIにテーブル形式で読み込まれます。<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/2852e93c-fb40-bbd5-4823-b90680aee6c2.png)


# Power BI Desktop上でレポートを仕上げる
Power BIにGet Bot Run Data Detailテーブルが読み込まれました。これからレポートを作成していきます。

1. 視覚化パネルから「テーブル」と「円グラフ」を選択してキャンバス上に置きます。<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/56f75594-af2e-8d2f-9963-6f36442ab9b5.png)
2. テーブルは表示したい列を選択します。<br/>![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/479715/798976ab-a15b-c171-aa7a-788240be493d.png)
3. 円グラフの方は「Cloumn1.status」を凡例と値にセットします。


このように、Automation AnywhereのBot Insight API経由でPower BIにも同じデータが表示できます。