ページ分割されたレポートを使ってレポート使用状況を蓄積する

Power BIサービスのレポートの「使用状況メトリック」では、利用状況を90日分閲覧できます。

レポートをどの部門で利用しているか、利用していない部門はどこか、継続してフォローしたいので、既定の90日分より長い期間のユーザアクセス情報を蓄積して推移を集計してみようと思います。

参考
(*1) [Power BI サービスでワークスペース内のレポートの使用状況を一覧する](https://qiita.com/ayumito/items/c43c1ef55b671db7d3c6)
(*2) [Power BIのUsage Mertics Reportを定期的に出力する方法](https://qiita.com/misottyo/items/02d0af3e0a6815a3de02)
(*3) [Power BI のページ分割されたレポート用の埋め込みデータセットを作成する](
https://learn.microsoft.com/ja-jp/power-bi/paginated-reports/paginated-reports-create-embedded-dataset)
(*4) [[Power BI Tips] フォルダーコネクタを使って、毎月追加/更新されるファイルをデータソースにした Power BI レポートの自動化](https://qiita.com/yugoes1021/items/14f763d90554ee2f2ee2)

# 監査や購読があるのに？
監査ログはITチームでないと利用できないので、使用状況レポートをコピーして購読(*2)してみました。しかし、メールで配信されるのはレポートへのリンクとpngファイルだけ、これでは閲覧者が多くなるとレポート上には一部しか見えず、蓄積できません。

そこで、Usage Metricsの基になるデータから、ページ分割されたレポートを作成して、定期的にエクスポートすることにします。

ページ分割されたレポートを共有するには、(レポートと同様) Power BI Pro ライセンス等が必要です(*3)。
![レポートの使用状況メトリック](https://learn.microsoft.com/ja-jp/power-bi/collaborate-share/media/service-usage-metrics/power-bi-report-usage-metrics-update.png)
引用元:
https://learn.microsoft.com/ja-jp/power-bi/collaborate-share/service-usage-metrics

# 準備
1. 監視対象のレポートの「利用状況のメトリックレポートを表示」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389901/8dad6a17-1520-4291-3b0d-22fe285be54b.png)
ここに表示されているオプション「ページ分割されたレポートの作成」(下から2番目)は、監視するレポートのコンテンツそのものが対象です。今回は、その利用状況をレポートの対象に作成したいので選択しません。

2. 使用状況レポートのコピーを保存
[ファイル]→[コピーを保存]で適当なワークスペースを指定して保存します。
Power BIサービス上の使用状況メトリックのレポートをコピーしておくと、蓄積したいデータあるテーブルやフィールドが確認しやすいです。

3. 対象レポートのReportGuidを確認
コピーした使用状況レポートを開くと、フィルターペインの[すべてのページでのフィルター]で、対象レポートのReportGuidが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389901/f319253b-1b1a-66c0-0f27-a7ac1bd50f64.png)

# ページ分割されたレポートを作成
Report Builder でのデータの取得、テーブル操作などは(*3)の通りです。

1. コピーしたレポートから、Report Bulderを開く
ワークスペースのレポート一覧で、コピーしたレポートの[その他のオプション]から、[ページ分割されたレポートの作成]を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389901/28946a42-0d0f-ae6b-139d-9a0059f2f6a6.png)
初めてだとReport Builderのインストールも促されます。
rdlファイルがダウンロードされるので、[開く]を選択します。

2. データソースの選択
Report Builderが開きますが、Power BIデータセットがデータソースとして選択済みの状態です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389901/0c15dd98-0eeb-4f1c-f750-fba9d638033f.png)

3. データセットの作成
データセットを右クリックして、[データセットの追加...]を選択します。
データセットのプロパティで、データソースを選んで、クエリデザイナーをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389901/2c4c98f8-36b5-fd23-8c36-a93d6a10d01b.png)
確認しておいた ReportGuid でフィルターして、監視対象レポートの使用状況を参照する埋め込みデータセットを用意します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389901/99b26fa2-94b0-5407-d158-3cf25faba89e.png)
ユーザ別の毎日のページビュー回数を埋め込みデータセットとして作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389901/d65565ea-7a89-62ce-9ae3-261410f1e078.png)
クエリをテストしたらOKでクエリデザイナーを閉じます。
データセットのプロパティのダイアログに戻ったら、他のプロパティも適宜設定してOKで閉じます。

4. テーブルの作成
レポート デザイン ビューが開くので、あとはレポート体裁を指定するだけです。
リボンの [ホーム] タブで [実行] ボタンを選択して、意図通りに配置できているか確認してください。[デザイン] ボタンでホームに戻れます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389901/9577cdc4-e578-76fb-db28-052484fb566f.png)

5. 発行
[ファイル] >[名前を付けて保存] を選択して [Power BI サービス] を選択します。
[ホーム] タブにある[発行]ボタンでも発行できます。発行が完了したら Report Builderを終了します。

# 定期保存と集計
1. Power Automateでページ分割されたレポートを定期的にエクスポートする
Power Automateのテンプレートを利用してフローを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/389901/d56e712b-f360-e010-ae8e-10d5b88a3fca.png)
Power BIコネクタ - [Export To File for Paginated Reports](https://learn.microsoft.com/ja-jp/connectors/powerbi/#%E6%94%B9%E3%83%9A%E3%83%BC%E3%82%B8%E5%AF%BE%E5%BF%9C%E3%83%AC%E3%83%9D%E3%83%BC%E3%83%88%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E3%82%A8%E3%82%AF%E3%82%B9%E3%83%9D%E3%83%BC%E3%83%88%E3%81%99%E3%82%8B)
エクスポート形式を選べるので、CSVを指定しました。

2. アクセス履歴を集計する
SPOフォルダをデータソースにして、保存されていくCSVファイルからユーザのアクセス履歴の推移を集計するのは(*4)の通りです。
集計したアクセス推移レポートも発行するのでしたら、定期エクスポートと集計レポート更新を一つのフローにまとめると分かりやすそうです。
---

ページ分割されたレポートには、更新スケジュールを設定するメニューはありませんが、ファイルへエクスポートすると期待通りの内容で保存できました。

Report Builderは、4年前にすこしだけ試したことがありました。今回の再挑戦では、Power AutomateのPower BIコネクタに、対応するアクションが用意されていたのがよかったです。