はじめに
使用状況メトリックとは
Power BIの運用では、レポートを作って終わりにせず、「誰が・いつ・どのレポートを閲覧しているか」を可視化し、実際に業務で活用されているかを継続的に確認することが重要です。
利用頻度の高いレポートは優先的に改善し、よく見られているページやビジュアルはさらに使いやすく磨き込む――こうした判断をデータに基づいて行うことで、レポートの価値を着実に高められます。
また、ほとんど閲覧されていないレポートが見つかれば、内容の見直しや導線改善、必要に応じた整理など、活用促進に向けた次のアクションにもつなげられます。
こうした「誰が・いつ・どのレポートを閲覧しているか」を可視化するために、
標準で用意されているのが使用状況メトリックレポートです。
使用状況メトリックの制限
一方で、ここにはいくつかの制約があります。まず、使用状況メトリックレポートで確認できるデータは、直近30日間に限られます。月をまたいだ傾向(施策前後の比較、季節性、四半期での利用推移、組織改編や権限変更の影響など)を追いたい場合、30日という保持期間は明らかに足りません。「気づいたときには過去のデータがもう残っていない」という状態は、改善のタイミングを逃す原因にもなります。
さらに、 ワークスペース単位で提供されるため、複数ワークスペースを横断して「組織全体として何が使われているか」「部門ごとの利用傾向はどうか」といった分析ができない、という課題もあります。ワークスペースを分けて運用している組織ほど、全体最適の視点でのモニタリングや棚卸しが難しくなりがちです。
この記事では、こうした “30日の壁” や “ワークスペースの壁” を越えるために、使用状況データを外部へエクスポートして長期保管・横断分析できる形にする方法を整理します。継続的なモニタリングや、半年〜1年単位での利用推移の把握、組織横断での利用状況の可視化をしたい方の参考になれば幸いです。
取得方法
使用状況メトリックのデータをFabricのノートブックで抽出します。
その際に使用するコア技術はSemantic Linkという
Fabricノートブックからセマンティックモデルへ接続する機能です。
Fabric ノートブックから Semantic Link(sempy.fabric)を使って、Usage Metrics Report セマンティックモデル内の指定テーブル(例:Report Page views)を DAX で取得します。
%%pyspark
# Semantic Link(SemPy)のAPIを使う
import sempy.fabric as fabric
workspace = "<ワークスペース名>"
dataset = "Usage Metrics Report"
table_name = "Report Page views"
# EVALUATE:指定テーブルをそのまま返す
dax = f"EVALUATE '{table_name}'"
# DAXを実行して結果を取得(num_rows=Noneで全行)
df = fabric.evaluate_dax(dataset, dax, workspace=workspace, num_rows=None)
display(df)
セマンティックモデルUsage Metrics Report内のテーブルReport Page viewsは「いつ・誰が・どのレポートの・どのページを・どのように見たか」のイベントが登録されているファクトテーブルです。
| 観点 | 列名 | 概要 | サンプル値 |
|---|---|---|---|
| いつ | Timestamp | ページ閲覧イベントの発生時刻(最も粒度が高い時刻) | 2025-12-27 11:28:38.130000 |
| いつ | Date | 日付軸用(その日の 0:00 で入る“日付”) | 2025-12-27 00:00:00.000000 |
| 誰が | UserId | ユーザーGUID(ユーザーの一意ID) | 11111111-2222-3333-4444-555555555555 |
| 誰が | UserKey | Usage Metrics のユーザーキー(補助キー) | ABCDEF1234567890 |
| どのレポート | ReportId | レポートID(GUID) | aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee |
| どのレポート | OriginalReportId | 元レポートID(置換/コピー等の“元”がある場合) | null |
| どのページ | SectionId | ページ(Section)の内部ID(ページを一意に表すGUID) | 99999999-8888-7777-6666-555555555555 |
| どのページ | WorkspaceId | レポートが属するワークスペースID | ffffffff-eeee-dddd-cccc-bbbbbbbbbbbb |
| どのページ | OriginalWorkspaceId | 元ワークスペースID(移動/コピー等の“元”がある場合) | null |
| どのように見たか | Client | クライアント種別(Web/モバイル等) | Power BI Web |
| どのように見たか | DeviceBrowserVersion | ブラウザ(バージョン) | Edge 143.0 |
| どのように見たか | DeviceOSVersion | OS(バージョン) | Windows 10 |
| どのように見たか | AppName | アプリ名(埋め込み/アプリ経由など。空の場合あり) | null |
| どのように見たか | AppGuid | アプリGUID(空の場合あり) | null |
| どのように見たか | SessionSource | セッションソース(空の場合あり) | null |
| どのように見たか | TenantId | テナントID(環境の識別) | 01234567-89ab-cdef-0123-456789abcdef |
必要に応じて、その他のディメンションテーブルも取得し、テーブルごとに適切な差分更新をしながら、蓄積することで、長期間、ワークスペース間での分析が可能な使用状況メトリックレポートを構築できます。

