Guide 3 minute read

How to find when a Power BI report was last viewed

Compare Usage Metrics, the activity log, and the unused-artifacts API for a defensible Power BI report last-viewed signal.

Direct answer: To find when a Power BI report was last viewed, use Usage Metrics for a workspace-level check, the Power BI activity log for tenant-wide ViewReport events, or the preview Get Unused Artifacts API for a workspace-specific lastAccessedDateTime. Retain the events yourself if you need a reliable history longer than the source window.

“Last viewed” sounds like one field, but the correct source depends on scope, permissions, and the time period you must defend. A creator checking one workspace has a different need from an administrator reviewing an entire tenant.

Three ways to get a last-viewed signal

Source Best for Important boundary
Usage Metrics A creator reviewing report activity in a workspace Workspace-scoped, client-collected, and limited to its retained window
Power BI activity log An administrator building tenant-wide history Requires Fabric administrator access and scheduled extraction
Get Unused Artifacts as Admin Finding items unused for 30 days in one workspace Preview API; 30-day definition; maximum 200 requests per hour

Option 1: use Usage Metrics

Open the report in its workspace, choose More options, and open Usage Metrics. The classic report can be copied and edited. Microsoft explains that removing the default ReportGuid filter lets the copy show the reports in the current workspace.

This is the fastest option for a content owner, but it does not give an administrator a complete cross-workspace inventory. It can also undercount because events are collected on the client.

Option 2: derive last viewed from the activity log

The activity log records service events including ViewReport, with fields such as creation time, workspace ID, report ID, report name, user, distribution method, and consumption method. Extract events on a schedule, keep successful report-view activities, and calculate the maximum event time per stable report ID.

Use IDs as the key. Names can change, and two workspaces can contain reports with the same name. Also preserve the extraction time and period so reviewers understand exactly what “last viewed” covers.

Option 3: use the unused-artifacts API

The admin endpoint GET /admin/groups/{groupId}/unused returns reports, dashboards, and datasets that have not been used within 30 days. When applicable, its response includes lastAccessedDateTime. It can accelerate a short-window workspace review, but it is not a substitute for retained history or owner validation.

Phrase the result precisely

Prefer “last qualifying view recorded on May 8 in activity events retained from February 1 through July 30” over “last used May 8.” The first statement exposes the evidence boundary; the second overstates what telemetry knows.

Turn last viewed into a safe review queue

Join the date to a complete report inventory and ownership record. Add total views, unique viewers, repeat use, content status, business owner, seasonality, replacement, dependency, and recovery fields. Then apply the governed process in the unused reports guide.

Frequently asked questions

Does Power BI have a last viewed date for every report?

Not as one universal field for every scope and history. You can derive or retrieve a last-access signal from Usage Metrics, retained activity events, or the preview unused-artifacts API, subject to each source’s limitations.

How far back can I see Power BI report views?

The available period depends on the source and Usage Metrics experience. If you need a longer, stable history, extract events before they expire and retain them in storage you control.

Can last viewed date prove a report is safe to delete?

No. It is one screening signal. Review the owner, audience, business criticality, replacement, dependencies, seasonality, archival plan, and approval before deletion.

Primary sources

Keep last-viewed evidence beyond a rolling window

UsageVault loads selected-workspace usage into your own SQL environment and presents the evidence period beside the portfolio decisions it supports.

See the model in a 30-minute demo ↗