PowerBI.tips

Power BI Hack: Download Report Authored in Browser as PBIX

May 6, 2022 By Mike Carlo
Power BI Hack: Download Report Authored in Browser as PBIX

How do I download a Power BI report authored in the browser as a PBIX?

TL;DR. Browser-authored reports will not download as PBIX. Publish a blank PBIX, copy the browser report content into it with the Power BI REST API (Update Report Content In Group), then download that PBIX. The linked PowerShell function wraps the API calls.

Why can I not download a browser-authored report as PBIX?

If the report was never created as a PBIX, the Power BI service will not offer a PBIX download. Only reports that originated as PBIX files can be downloaded that way.

What is the workaround?

Publish a blank PBIX to the service, then copy the browser-authored report content into that blank report. Because the target started as a PBIX, you can download it afterward.

Which API endpoint does this use?

The Power BI REST API endpoint Update Report Content In Group. Manual API calls are messy. The linked PowerShell function wraps those steps.

What PowerShell module do I need?

Install the MicrosoftPowerBIMgmt.Profile module. Run the linked script, then call Copy-PowerBIReportContentToBlankPBIXFile from the same PowerShell window.

Which parameters does the function take?

sourceReportId, sourceWorkspaceId, targetReportId, and optional targetWorkspaceId. If you omit the target workspace, the function assumes source and target share one workspace.

Related: Split an existing Power BI file into a model and report, Updating PBIX files in SharePoint: Dos and Don’ts, Power BI Layouts PBIR Gallery, and Power BI Theme Generator.

The Problem

Most of you have probably run into a situation where someone in your organization has authored a report in the Power BI web service, and now they want to make changes that can only be done with Power BI Desktop. So, you try to download the PBIX file from the Power BI web service, only to discover that you can’t, because if it wasn’t created as a PBIX, it can’t be downloaded as a PBIX. Infuriating!

:rage:

The Solution (sorta…)

There’s actually a way to get around this problem. If you publish a blank PBIX file to the Power BI web service, you can copy the contents of the report that was originally authored in the browser into that blank report. And since that report was originally a PBIX file, you can download that instead!

Unfortunately, the only way to do this right now is to use the Power BI REST API and hit the Update Report Content In Group endpoint, and this process is just about as straightforward as Lombard Avenue in San Francisco. (Actually, probably even less so.)

File:Lombard Street SFA.jpg - Wikimedia Commons

Lombard Avenue in San Francisco: Famously bendy, but still more straightforward than manually hitting Power BI APIs.

PowerShell to the Rescue!

:powershell:

Hooray for PowerShell!

So, I wrote a PowerShell function to simplify and streamline this process, and its only prerequisite is the MicrosoftPowerBIMgmt.Profile module for PowerShell. Just run the script file (linked below) in your PowerShell terminal, and then call the Copy-PowerBIReportContentToBlankPBIXFile function directly from that same window. The expected parameters are:

  • sourceReportId: The ID of the report to copy from
  • sourceWorkspaceId: The ID of the workspace to copy from
  • targetReportId: The ID of the report to copy to
  • targetWorkspaceId: The ID of the workspace to copy to (this one is optional – if you leave it blank, the function will assume both source and target are in the same workspace)

Download the Copy-PowerBIReportContentToBlankPBIXFile.ps1 PowerShell script file here.

As always, feedback and suggestions are 100% welcome and encouraged. 

:sunglasses:

Cheers!

~ James

Acknowledgements:
This PS function was inspired by a blog article written by one of the top minds in the Power BI space, Mathias Thierbach. Check out his article here. And if you’re not already using his pbi-tools for Power BI version control, you should check that out too.

Previous

Power BI Support Channel: Microsoft Teams Tips

More Posts

Oct 6, 2026

Where Writeback Belongs – Ep.569

An anonymous mailbag asks whether Power BI should let people act on a number without leaving the report. Tommy Puglia and Mike Carlo put writeback in Fabric apps, keep the report for consumption, and treat translytical task flows as the exception.

Oct 1, 2026

FabCon Barcelona - Feature Draft – Ep.568

Tommy Puglia and Mike Carlo draft a team from the FabCon Barcelona feature list, starting with Fabric app backends and the ontology authoring agent. The picks that follow are pay-as-you-go capacity, the Fabric notebook toolkit, deployment hooks, and text search in semantic models.

Sep 29, 2026

The Right Model for the Task – Ep.567

Tommy Puglia and Mike Carlo use Kurt Buhler and Eugene Meidinger's Tabular Editor piece to decide which model and effort level belongs on a Fabric task. The same hour covers FabCon Barcelona's Fabric app backend, semantic views, and why monthly active agents may matter more than monthly active users.