Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hello,
I'm trying to create a report that shows all the reports we have built in Power BI. We are doing this because organisational users do not know what we have built, and I thought we could create a living documentation report that would get all the reports in our workspaces and the description attribute that goes along with it. This way they could see a summary of the reports that existed and know what to request. It would be updated automatically each time a report was added to a workspace. Also sometimes we are moving reports to new workspaces and this would also allow people to find a report that had moved.
I am using PowerShell and contacting the Power BI API.
This documentation shows that the Description attribute for each report is present.
https://docs.microsoft.com/en-us/rest/api/power-bi/reports/get-report
But when I run the PS cmdlet Get-PowerBIReport -WorkSpaceId $workspace.Id from MicrosoftPowerBiMgmt the description tag is not returned along with the report object. Is there another way I can get the Description tag for each report?
I can see in the documentation it says
"A Power BI report. Below is a list of properties that may be returned for a report. Only a subset of the properties will be returned depending on the API called, the caller permissions and the availability of the data in the Power BI database."
Seems like this attribute is not included
This is broadly what I'm doing
$userName = 'serviceaccount@company.com'
$p = ConvertTo-SecureString -AsPlainText 'pw' -Force
$credential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $userName, $p
Connect-PowerBIServiceAccount -Credential $credential | Out-Null
$workspace = 'WorkspaceName'
$workspaceObj = Get-PowerBIWorkspace -Name $workspace
$reports = Get-PowerBiReport -WorkspaceId $workspaceObj.Id
foreach ($report in $reports)
{
$report
# Insert into table
}
Once I have the report information I was going to put it in a SQL table and query it back out to Power BI via a report.
If there's a better way to display what Power BI reports have been created, like if Power BI can connect directly to the Power BI API and get what it needs. Am happy to try something else.
All the best,
Solved! Go to Solution.
Hi @GStone
I would suggest looking at the scanner API and see if this can get all the information you are looking for?
Scanner API is now in GA | Microsoft Power BI Blog | Microsoft Power BI
Thanks so much for your suggestion. It turns out that the Scanner API was able to output the description for the report. For anyone else that is struggling with this - the process is a little more involved than just operating with the Power BI powershell cmdlets.
First step is to enable the Power BI APIs in the Admin portal
https://docs.microsoft.com/en-gb/power-bi/admin/service-admin-metadata-scanning-setup
Then, using the "Try It" links on the documentation website here
https://docs.microsoft.com/en-us/rest/api/power-bi/admin/workspace-info-post-workspace-info
https://docs.microsoft.com/en-us/rest/api/power-bi/admin/workspace-info-get-scan-result
You send a POST with the workspace Id in the Body of the POST request. You are returned a Scan GUID which you need to then need to call GetScanResult with to get the results of the Scan and it does indeed include the description.
Thank you for pointing this out.
Thanks so much for your suggestion. It turns out that the Scanner API was able to output the description for the report. For anyone else that is struggling with this - the process is a little more involved than just operating with the Power BI powershell cmdlets.
First step is to enable the Power BI APIs in the Admin portal
https://docs.microsoft.com/en-gb/power-bi/admin/service-admin-metadata-scanning-setup
Then, using the "Try It" links on the documentation website here
https://docs.microsoft.com/en-us/rest/api/power-bi/admin/workspace-info-post-workspace-info
https://docs.microsoft.com/en-us/rest/api/power-bi/admin/workspace-info-get-scan-result
You send a POST with the workspace Id in the Body of the POST request. You are returned a Scan GUID which you need to then need to call GetScanResult with to get the results of the Scan and it does indeed include the description.
Thank you for pointing this out.
Hi @GStone
I would suggest looking at the scanner API and see if this can get all the information you are looking for?
Scanner API is now in GA | Microsoft Power BI Blog | Microsoft Power BI
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
59 | |
30 | |
25 | |
22 | |
21 |
User | Count |
---|---|
57 | |
37 | |
26 | |
24 | |
20 |