Be smarter with every change
One-Click, Designed for Everyone
➡️ Download Impact IQ - One-Click Update & Run Tool
- Everything within the script is limited to your access within the Power BI and/or Fabric environment.
- All computer requirements are at the user level and do not require admin privileges.
- There are ZERO pre-reqs. The one-click solution stays updated with the latest features.
Have specific Reports and/or Models downloaded you want to analyze? Don't have direct access to the Workspace but have the PBIX? Check out Impact IQ's local edition here: https://github.com/BeSmarterWithData/ImpactIQ-Local
This provides a quick and automated way to identify where and how specific fields, measures, and tables are used across Power BI reports in all workspaces down to the visual level. It also backs up and breaks down the details of your models, reports, and dataflows for easy review, giving you an all-in-one Power BI & Fabric Governance solution.
- Impact Analysis: Fully understand the downstream impact of data model changes with visual-level lineage, ensuring you don’t accidentally break visuals or dashboards—even when multiple reports connect to a model in a different workspace.
- Used and Unused Objects: Identify which tables, columns, and measures are actively used and where. Equally as important, see what isn't used and can be safely removed from your model to save space and complexity.
- Comprehensive Environment Overview: Gain a clear, detailed view of your entire Power BI environment, including complete breakdowns of your models, reports, and dataflows and their dependencies.
- Backup Solution: Automatically backs up every model, report, and dataflow for safekeeping.
- User-Friendly Output: the final output is presented in a Power BI Report & Model, making everything easy to explore, analyze, and share with your team.
- Sovereign Cloud Support → Now supports Power BI in Government and International clouds! Choose from Public (default), Germany, USGov, China, USGovHigh, or USGovMil environments at script start.
- Workspace Selector → Only want to run this against 1, 2, 10 workspaces? Now a popup will allow you to choose which workspaces you run this against. Select All will still run against eveyrthing and a built-in timer ensures no selection will run against everything.
- Unused Model Objects → Identify model fields/measures not used in any visuals, measures, calculated columns, or relationships.
- Broken Visuals (with Page Links) → See all broken visuals/filters and jump directly to the impacted report page.
- Report-Level Measures Inventory → Surface report-only measures with full DAX and usage details.
- New Report Layouts & Wireframe → See where your visuals sit on the page with a wireframe layout - thanks to @stephbruno for this feature!
You’ve got two ways to get started:
Always up-to-date and the easiest way to get started.
➡️ Download Impact IQ - One-Click Update & Run Tool
This automatically:
- Pulls the latest repo from GitHub
- Places it into
C:\Power BI Backups - Runs the Final PS Script
- Opens the Power BI Governance Model at the end
💡 Tip: Once downloaded, simply re-run this locally anytime to keep your backups and governance details up-to-date and take advantage of the newest features.
⚠️ If security policies block the batch file, follow the manual steps below instead.
📂 All backups and the final Power BI Governance Model will be saved to: C:\Power BI Backups
Make a folder at:
C:\Power BI Backups
Download all repo files and place them into the newly-created
C:\Power BI Backupsfolder.
Open PowerShell and run the Final PS Script. You can:
- Copy/paste the full script, or
- Rename
Final PS Script.txt→Final PS Script.ps1and run directlyEnvironment Selection: When prompted, choose your Power BI environment:
- Press Enter for Public cloud (default)
- Or choose:
Germany,USGov,China,USGovHigh, orUSGovMilfor sovereign clouds.- If no selection is made after 120 seconds, it will continue with the default of Public.
Open:
Power BI Governance Model.pbit
→ Let it refresh, then save as.pbix
🎉 That’s it — enjoy! 🎉
🌐 Sovereign Cloud Support
The script now supports Power BI in Government and International cloud environments:
- Public (default) - Commercial cloud
- Germany - Microsoft Cloud Germany
- USGov - Azure Government (GCC)
- China - Microsoft Cloud China (21Vianet)
- USGovHigh - Azure Government (GCC High)
- USGovMil - Azure Government (DoD)
When you run the script, you'll be prompted to select your environment (or default to Public after 120 seconds). The script automatically uses the correct API endpoints for all Power BI, Fabric, and XMLA connections.
⚙️ PowerShell may prompt to install required modules.
No admin access is needed — they install at the user level.
🧰 This setup uses the portable version of Tabular Editor 2 (v2.27.2).
You don't need it preinstalled. It runs locally from the folder with no differences.
https://github.com/TabularEditor/TabularEditor (MIT License)
🧠 Model backups use XMLA (for PPU, Premium, Fabric).
For Pro workspaces,pbi-toolsextracts the BIM from the PBIX.
Includespbi-tools v1.2: https://github.com/pbi-tools/pbi-tools (AGPL 3.0 License)
🚨 Using Tabular Editor 3?
Tabular Editor 2 is still included and required for this because TE3 doesn't support command line execution.🧩 Model refresh error in Power BI Desktop?
If you see:
"Query XXXXXX references other queries or steps..."Update your Power BI Desktop privacy settings:
File → Options and settings → Options → Privacy
Then select either:
- “Combine data according to each file's Privacy Level settings”
or- “Always ignore Privacy Level settings”
- Leverages Power BI REST API to gather information about Power BI workspaces, datasets, reports, report pages, and apps.
- Exports the extracted metadata into a structured Excel workbook with separate worksheets for each entity.
- You must have at least read access within workspaces. 'My Workspace' also included.
-
- Saves exported models in a structured folder hierarchy based on workspace and dataset names.
- Leverages Tabular Editor 2 and C# to extract the metadata and output within an Excel File.
- All backups are saved with the following format: Workspace Name ~ Model Name.
- You must have edit rights on the related model. Works with all Pro, Premium-Per-User, Premium, and Fabric Capacity workspaces. 'My Workspace' also included. Both XMLA and non-XMLA models.
- Backs up Power BI and Paginated Reports from Power BI workspaces, cleaning report names and determining file types (
.pbixor.rdl) for export. - Leverages Tabular Editor 2 and C# to extract the Visual Object Layer metadata and output within an Excel File (credit to @m-kovalsky for initial work on this)
- Paginated Reports are only backed up (no metadata extraction).
- All backups are saved with the following format: Workspace Name ~ Report Name.
- You must have edit rights on the related report. Works with all Pro, Premium-Per-User, Premium, and Fabric Capacity workspaces. 'My Workspace' also included.
-
- Extracts dataflows from Power BI workspaces, formatting and organizing their contents, including query details.
- Leverages PowerShell to parse and extract the metadata and output within an Excel File.
- All backups are saved with the following format: Workspace Name ~ Dataflow Name.
- Must have edit rights on the related dataflow. 'Ownership' of the Dataflow is not required. Works with all Pro, Premium Capacity, Fabric Capacity workspaces. 'My Workspace' also included.
-
- Leverages Power BI REST API to gather all model connection details.
- Exports the extracted metadata into the same structured excel workbook as the Power BI Environment Information Extract
- You must have read permissions on the related model.
- Leverages Power BI REST API to gather all model refresh history (limited to the same history shown in the Service).
- Exports the extracted metadata into the same structured excel workbook as the Power BI Environment Detail Extract
- You must have read permissions on the related model.
- Leverages Power BI REST API to gather all model refresh schedule settings including enabled status, time zone, schedule days, and times.
- Exports the extracted metadata into the same structured excel workbook as the Power BI Environment Detail Extract
- You must have read permissions on the related model.
- Leverages Power BI REST API to gather all Dataflow connection details.
- Exports the extracted metadata into the same structured excel workbook as the Power BI Environment Detail Extract
- You must have read permissions on the related Dataflow.
- Leverages Power BI REST API to gather all Dataflow refresh history (limited to the same history shown in the Service).
- Exports the extracted metadata into the same structured excel workbook as the Power BI Environment Detail Extract
- You must have read permissions on the related Dataflow.
- Combines extracts into a Semantic Model to allow easy exploring, impact analysis, and governance of all Power BI Reports, Models, and Dataflows across all Workspaces
- Works for anyone who runs the script and has at least 1 model and report. Dataflow not required.
- Public example (limited due to no filter pane): https://app.powerbi.com/view?r=eyJrIjoiNmMxYWQ2ZTItZDM4ZS00MGM1LTlhMDQtN2I1OTMwMzI0OTg2IiwidCI6ImUyY2Y4N2QyLTYxMjktNGExYS1iZTczLTEzOGQyY2Y5OGJlMiJ9
- The script has a built-in timer to ensure the API bearer token does not expire. It is defaulted to require logging in every 55 minutes. This is only applicable if you have a large number of reports and models (150+)
- This defaults to looping across all workspaces. If you only want to run this for a specific workspace, you can enter a workspace ID within the quotation marks in $reportSpecificWorkspaceId and/or $modelSpecificWorkspaceId (these are in the first 20 lines of the script)
- For the best user experience, the final Power BI Govervance Model output is from the perspective of the Report. This means that when looking at a Workspace where Reports have the Model sitting in a different Workspace (i.e. multiple reports connected to a model in a different workspace), the Model detail will still be viewable. This ensures you get a comprehensive view of any report. This does not work both ways - when viewing a Workspace with only Models and no Reports, it will only show the Model detail since there are no Reports within that Workspace. If you do not want this perspective and prefer that Model detail only show in the Workspaces they are in, then set the All-Pages filter "Model in Workspace Flag" to TRUE.
- For backing up Reports & extracting the metadata, this mirrors what you can do at powerbi.com. This means that if you cannot download the report online, then the script will also not be able to download it. For Models, this works differently and if it's within a Premium, PPU, or Fabric capacity, even XMLA-only models can be backed up and extracted by leveraging the XMLA endpoint connection.
.. ..