
Hello!
In today’s article I would like to talk about:
Power BI service cleanup and archiving unused reports based on PBI Monitoring tool.
You are assigned to a position of Power BI service admin.
Your first task is to understand usage of Power BI reports across the company.
You have access to PBI Monitoring tool designed and implemented by Astral Forest.
You need to understand the number of “unused reports” across your company.
Define the KPI for “unused reports”.
If we find reports that have been unused for at least 180 days, these reports should be archived manually or using Astral Forest script. If using the script, selected reports can be moved to Blob storage on Azure Data Lake Storage (ADLS).
If we find reports with a very low number of actions, consider archiving them or checking with users to see if any improvements can be made. The overall goal is to reduce the number of reports.
To address the above case, we will use Power BI Monitoring tool, built by my company, Astral Forest.
Let’s focus on “Not used Reports” page.

At the top of the page you have several filters to select your data:
Regarding numbers, we focus on:
This particular filter works only on the table below, showing reports where we had selected number of actions or fewer.
Shows the same information as KPI but in summarized form for each time period. There is also the possibility to drillthrough with a right-click to see actual reports behind the numbers.
All right! Let’s address our use case.
Step 1
Let’s set up filters. We will focus on the last 180 days, all departments, personal workspaces only, and of course reports that are not deleted.

Step 2
Now we need to define what “unused reports” mean. For this case, let’s assume that we want to see reports with no actions at all within specified filter context from step 1:

Step 3
Check reports stored in personal workspaces with 0 actions and export them to Excel for further actions:

Each personal workspace has a name next to it, allowing us to easilytrack the owner of the workspace. We can now mail these owners with report names, asking them to archive the reports manually.
By archiving, in this case, I mean to manually moving reports from the Power BI service to a secured Sharepoint, for example. It’s good practice to keep old files, just in case we need to access them at some point in the future.
Step 4
A similar approach can be used for non-personal workspaces. In this case, let’s use the drillthrough functionality (right click on a specific bar within a chart) from the right visual:

Drillthrough will navigate to a separate page showing data only for the filtered context from the previous page. Here, we have additional information, which could help us identify workspace owners:

The IDs on the above page can be used when connecting to Power BI API for further actions.
Step 5
In an ideal world, each workspace should have an owner responsible for archiving unused reports.
However, in real-life scenarios, workspaces or reports are sometimes left without an owner, especially if a Power BI governance policy is not implemented within the company.
If we struggle to find owners and still decide to archive reports, we can use an automated solution with a script that moves certain reports into blob storage on Azure Data Lake Storage (ADLS). Here is the link to the full solution with code if you are interested.
Step 6
Now that we have cleansed the service from unused reports, the next step would be to consider reports with a low number of actions. In this case, we may switch the filter to, let’s say, 3 actions per report:

For these items we can consider a couple of actions, such as:
With the above information, we can start drawing roadmap and identify next steps/actions for proper Power BI service content governance.
Let’s summarize why archiving is important:
Performance optimization:
Resource optimization:
Space management:
Data preservation and compliance:
Collaboration and knowledge sharing:
Well, that’s it for today!
In case of any questions, don’t hesitate to reach out to us!