Slow and inefficient Power BI reports are a widespread cause of low customer satisfaction, bloated costs, wasted compute capacity, and increased total cost of ownership. Fixing these issues often requires a significant time investment and a high level of domain expertise in business intelligence data modeling, Power Query ETL design, and DAX runtime expression optimization.
But what if you could save thousands of dollars in person-hours by using Microsoft M365 Copilot to analyze your Power BI Desktop files and generate a step-by-step mitigation plan for slow and inefficient reports? What if optimization tasks that used to take days could now be completed in minutes or hours?
In this article, I’ll walk through my methodology for enabling M365 Copilot to read your Power BI Desktop files, produce a consultant-grade 20‑page assessment, and deliver a clear, actionable mitigation plan in less than 20 minutes. With this approach, a resource with intermediate Power BI skills can resolve issues in a few hours that previously required days or more of expert-level effort.
All you need to follow along today is M365 Copilot and Power BI Desktop. Everything described in this article is generally available now, and no additional licensing is required beyond M365 Copilot.
For the example in my video (embedded below), I created a very poorly architected Power BI solution and experienced the following improvements. Results for your own solutions will probably vary widely, and note that this model was designed to be bad:
- Semantic Model and Power Query refresh time reduced by 45%
- Semantic Model (Import Mode) size reduced by 79%
- Report visualization rendering times reduced by 25%
- Assessment and mitigation guide that would’ve taken 16-40 hours reduced to 15 minutes
- All changes made in two hours (may have taken an additional 16-40 hours without M365 Copilot guide)
Some of you might ask why I’m not using the new Power BI MCP server capabilities. While powerful, setting up an MCP server requires a high level of technical aptitude and dedicated infrastructure. These resources are simply not available to many Power BI developers. A frequent request I get from customers is “We have hundreds of self-service Power BI developers, how can we encourage them to optimize their reports before publishing?” A tool such as M365 Copilot can easily be scaled to a large community of self-service developers.
Fixing slow Power BI reports using M365 Copilot for many scenarios requires no additional licensing beyond M365 Copilot itself. All sensitive metadata remains within the customer’s tenant, and no advanced coding skills are required beyond standard Power BI development. An organization with hundreds of Power BI developers can realistically ask each developer to apply this method to optimize their own reports.
While an MCP server-based approach may ultimately be faster or more powerful, it also introduces higher infrastructure and skill barriers that limit who can adopt it. If you’re interested in exploring the Power BI MCP server for building semantic models, I recommend this article from my colleague Inder Rana (Inder and I may combine efforts in this area in a future article): Agentic AI development for Power BI Semantic Models using GitHub Copilot and Power BI Modeling MCP Server | by Inderjit Rana | Mar, 2026 | Medium
For my end-to-end demo and tutorial on using M365 Copilot to fix a slow and inefficient Power BI report, you can view my video below:
Here is a step-by-step tutorial for implementing the method in the video:
Prepare the Power BI Desktop file for M365 Copilot
- Save the Power BI Desktop file for the problematic solution in a PBIP format.
- Create an empty folder that M365 Copilot can access. I used OneDrive.
- Copy the tmdl files for model, relationships, and expressions to that folder. These will be in the PBIP folder [File Name].pbix.SemanticModel > definition with .tmdl extensions.
- Next copy all the table files to the same folder as step #3. You can see the auto date/time intelligence tables with the long GUIDS in the titles. Tables will be in the PBIP folder [File Name].pbix.SemanticModel > definition >tables with .tmdl extensions.
- Change the extension name of the copied files from .tmdl to .txt
- Create a sharable link to the folder which can be read by M365 Copilot
Add the prompt to M365 Copilot and run it against the OneDrive sharable link
Leave the M365 Copilot model selection set to Auto and use the Researcher Agent. Paste in the following prompt. Paste the OneDrive url within the brackets:
Context:I have exported TMDL files from a Power BI Semantic Model and converted them into human readable text. The files can be accessed at the attached url: [paste sharable OneDrive url here]Your tasks:0. Data Subject Matter Overview (Start Here)Begin your analysis with a concise explanation of:• The overall business or analytical subject matter the semantic model represents• The purpose of the dataset• The types of questions or insights this dataset appears designed to answer• Any domain specific themes, patterns, or assumptions you can infer from the tables, relationships, and fieldsThis section sets the context before the deeper technical review.1. Semantic Model OverviewProvide a structured summary of the semantic model, including:• Tables and their purpose• Relationships and cardinality• Measures• Calculated columns• Parameters• Data sources• Any notable metadataUse a clear structure (e.g., bullet points, grouped sections).2. Power Query (M) Code ReviewAnalyze all Power Query scripts and identify:• Inefficient or redundant steps• Transformations likely to cause refresh or folding issues• Unnecessary buffers, merges, sorts, or row by row operations• Unused or staging queries• Opportunities to improve query folding• Recommended rewrites for performance and maintainability3. Data Model Best Practice ReviewEvaluate the semantic model against Microsoft-recommended best practices:• Star schema design and presence of fact/dimension separation• Relationship cardinality and direction correctness• Column data types and use of numeric vs text fields• Compression efficiency (high cardinality issues)• Hidden fields and navigational cleanliness• Naming conventions and role-playing dimensions• Unnecessary columns or tablesProvide specific, actionable recommendations.4. DAX Expressions ReviewAnalyze all measures and calculated columns for:• Performance issues (iterators, row context, FILTER usage, auto-exist implications)• Unnecessary calculated columns that should be measures• Measures that can be simplified or optimized• Use of variables, DIVIDE(), IF vs SWITCH, iterator functions, dependency chains• Best-practice patterns and opportunities to reduce complexityProvide optimized DAX examples when applicable.5. AI & Copilot Optimization RecommendationsEvaluate the model for readiness and clarity for use with:• Power BI Copilot• Fabric Data Activator / Data Agents• Q&A and natural language experiences• Semantic link usage for AI modelsFocus on:• Naming conventions• Field descriptions and metadata• LLM-friendly measure naming• Reducing ambiguity• Improving semantic clarity• Cleaning unused or unclear elements• Ensuring relationships and structures make intuitive sense to an AI agentOutput Requirements• Organize your response into sections 0–5 as listed above• Provide detailed findings with bullet points• Quote or reference relevant metadata, queries, or DAX snippets when calling out issues• Include rewritten or optimized examples where appropriate• Be specific, actionable, and thorough
Save the results as a Word document. Now you have a consultant-grade assessment of your solution that would have cost thousands of dollars in time or consulting fees!
Create a Step-by-Step mitigation guide for Optimization opportunities
Add the following prompt to the conversation string, add the link to the sharable OneDrive folder at the end:
Based on the detailed recommendations provided in the semantic model review above, create a clear, actionable, step-by-step improvement guide tailored for a Power BI developer with intermediate experience.The guide should help the developer enhance the model’s performance, maintainability, and AI-readiness.Organize the steps by theme (e.g., data model cleanup, Power Query optimization, DAX improvements, naming and metadata enhancements, AI/Copilot readiness), and ensure each step includes specific actions the developer should take within Power BI Desktop.Check the order of the steps to make sure that later steps do not break earlier steps.Use concise language, avoid jargon where possible, and focus on practical implementation.Take your time and provide a detailed step-by-step guide for everything a developer can do to improve this Power BI report.You can also reference the attached OneDrive files used to generate the above detailed recommendations. [paste sharable OneDrive url here]
Run the prompt, and save a copy of the results.
Examples from my demo video
You can download and review the documents I generated for my demo video below:
Consultant-Grade Assessment:
Step-by-step mitigation plan:




















