Copilot in Power BI cannot create report pages on four documented setups: a semantic model with the Q and A feature switch turned off, a model that uses real-time streaming, a model connected live to Analysis Services, and a model with implicit measures disabled. It also does not support custom visuals or styling changes. Every other Copilot answer depends on how that model was named, described and structured.
Last updated 10 September 2026 · by Inam Ul Haq, data analyst and automation engineer · about the author
You open a report in the Power BI service, select Copilot, ask it to build you a page, and it tells you it cannot do that here. Or the Copilot button is not in the ribbon at all. In nearly every one of those cases nothing is broken and there is no ticket to raise, because Copilot reads your semantic model before it does anything, and one of a short list of conditions in that model is set the way that stops it.
A semantic model, if the phrase is new to you, is the layer underneath the report: the tables, the relationships between them, the measures, and the names and descriptions attached to all of it. The report is what you see, and the model is what Copilot actually talks to. Most write-ups sell Copilot as ask for a dashboard and get one, which is true on a demo model built to demonstrate exactly that, and Microsoft’s own documentation is far more specific about where it will not run.
The part that surprised me when I read those pages properly is that three of the four blocking conditions are not faults. They are decisions a careful modeller makes on purpose, and one of them is forced on you the moment you add a calculation group to your model. So a well built model can be the one Copilot does less on, which is the opposite of what the roundups imply.
So check the model before you blame the AI. Is Q and A turned on, is the model using real-time streaming, is it live connected to Analysis Services, and are implicit measures turned off. If any one of those is true, Copilot will not build you a report page, and no better prompt will change that. The rest of Copilot, the questions, the summaries and the DAX help, usually still works, and the sections below separate what is a switch you can flip from what is a decision you already made.
Copilot is not refusing your prompt. It is reading your semantic model and telling you what kind of model you built.
What will Copilot actually refuse to do in Power BI?
Microsoft lists this on the page for creating and editing reports with Copilot, under considerations and limitations, and the list is short enough to hold in your head. Four of the items are about your model and two are about the visuals themselves.
The four model ones: the Q and A feature switch has to be on for the model before Copilot will create or edit report pages, and Copilot cannot create pages for semantic models that use real-time streaming, cannot create pages for models connected live to Analysis Services, and cannot create report pages if you disable implicit measures in your model. The two visual ones: custom visuals are not supported, and styling or formatting changes are not supported either. Microsoft also warns that changing complex visuals might lose some detail or formatting.
Sorting that list into two piles is the useful move. The Q and A switch is a setting, so if that is your problem you turn it on and carry on with your day. Real-time streaming and a live connection to Analysis Services are architecture, and nobody picks either of those by accident, so on those models page generation is simply not a feature you have and building by hand is the plan.
Implicit measures sit on their own, and they are worth a whole section, because that is the one where a team that did the modelling properly gets the refusal and cannot work out why.
Why is the Copilot button missing before you even ask?
Because Copilot is bought with capacity rather than with a user licence, and a lot of the guides you will find are quoting a requirement that has since moved. Worth getting right before you spend an afternoon on your model, since a model fix does nothing if the tenant was never eligible.
Microsoft’s current Copilot for Power BI overview states the requirement as a paid Fabric capacity of F2 or higher, or Power BI Premium P1 or higher, and says trial capacities and free SKUs are not supported. Plenty of posts still say you need an F64. Check the date on anything you read about this, including this article, because this is the number that has moved most.
Three more conditions come with it, and each one produces the same symptom of a missing button. The tenant admin setting called users can use Copilot and other features powered by Azure OpenAI has to be on, and a Power BI Pro or Premium Per User licence on its own is not enough because Copilot needs organisational capacity. Your capacity has to sit in a supported region, and sovereign clouds are not supported at all.
Why does turning off implicit measures stop Copilot?
Start with what an implicit measure is, because the name hides a thing you have done a thousand times. When you drag a numeric column like Sales[Amount] straight onto a visual and Power BI sums it for you without anybody writing any DAX, that automatic sum is an implicit measure. An explicit measure is the other way round: somebody wrote Total Sales = SUM(Sales[Amount]) once, and every visual uses that.
Experienced modellers turn implicit measures off, and they have good reasons. Every number in the report then comes from one written definition, so two visuals cannot quietly disagree, and the logic sits documented in the model instead of in whoever built the page. It is the same discipline behind writing your measures explicitly in DAX and behind a clean star schema.
Now the part that connects two documentation pages nobody reads together. Turning implicit measures off is a model property called DiscourageImplicitMeasures, and Microsoft’s page on calculation groups says that in order to create calculation groups this property must be set to true. Calculation groups are the standard way to stop a model growing forty near identical time intelligence measures, so plenty of mature models have them.
Put those two sentences next to each other and you get the trade nobody mentions. If your model has calculation groups then implicit measures are off, and if implicit measures are off then Copilot will not create report pages on that model. The two features are mutually exclusive today, and it is not a bug on either side.
You can reverse it, and I would think hard before doing it. Turning implicit measures back on brings page generation back and takes your calculation groups with it, which for most teams means trading something that saves an hour a week for something that keeps every number consistent. On a model a client depends on, the calculation groups win. On a scratch model somebody uses to explore, the opposite is a fair call.
Why does Copilot answer vaguely on a model that looks fine?
Because it reads your metadata as its brief, and most models were named for the person who built them. Microsoft’s page on optimising your semantic model for Copilot is a long list of the obvious things, and it is right about all of them: unambiguous column names rather than ProdID, correct and consistent data types, clearly defined relationships with the cardinality stated, and fewer unused objects hanging around to create ambiguity.
Buried in the same page is one number that changes how you write, and I have not seen it repeated anywhere else. In the section on getting accurate DAX queries out of Copilot, Microsoft states plainly that in the description property Copilot uses only the first 200 characters. It says the same thing again for calculation group columns, and adds that the model metadata does not include calculation items at all, so that column’s description is the only place to explain what those items do.
Two hundred characters is roughly two normal sentences. So the rule that falls out of it is about order rather than length: say what the measure means and how to use it first, and put the ownership, the history and the wiki link after. A description that opens with built by the finance team in 2024 for the monthly pack has spent half its budget before it says what the number is.
Microsoft’s own example is the shape to copy, and it does two jobs in one line. It defines the measure and then tells Copilot how to use it, as in use with the Date[Year] column to show by years other than the latest year. That second half is the bit people leave out, and it is the bit that stops a wrong reading turning up in a dashboard somebody presents on Monday.
Why does asking the same question twice give the same wrong answer?
Because the second answer is not a second answer. Microsoft documents that if you ask the same exact prompt on an unchanged semantic model, meaning the same schema, data and custom instructions, within a rolling 24 hour window, Copilot responds from the cache, and it says the clear chat button does not affect this.
That matters because of what people naturally do when an answer looks wrong. You ask again, word for word, to see whether it says the same thing, and getting the same thing back feels like confirmation. It confirms nothing. It is the same response handed to you a second time.
There is a second half to this that pulls the other way, and both are true at once. Microsoft also states that AI behaviour is nondeterministic and that Copilot does not always produce the same response even with the same input. So a repeat can hand you a cached answer or a genuinely different one, and you cannot tell which from the outside, which is exactly why a repeat is not a test.
Do it properly instead. Reword the prompt so it is not an exact match, or refresh the underlying model, and check the number against something you worked out yourself. That is the same habit as keeping your own check figure beside a report, and it is the one that catches a confident wrong answer, because a confident wrong answer never announces itself.
Can Copilot fix the model it is complaining about?
Some of it, and in a different place from the one you were sitting in. This is where a claim you will read everywhere has gone out of date: that Copilot cannot create tables, columns or relationships. In the report pane that is still true, and in Copilot in web modelling, which is in preview, it is not.
Microsoft lists what it does there: create, update and manage tables, columns, measures and relationships using natural language, generate or refine DAX measures, create row level security roles, suggest clearer descriptions, propose display folders, and recommend which technical fields to hide from report authors. Read that list next to the previous section and it covers most of the model readiness work itself.
It is fenced sensibly. You need Write permission on the semantic model, you have to be in Editing mode in Model view, and Copilot asks for permission once at the start of each session before it reviews the model or changes anything. It then creates a restore checkpoint using semantic model version history, so a session that goes wrong can be rolled back rather than argued with. The one thing it cannot do there is set up Prep data for AI, which stays a separate job.
| Where you are | What Copilot can do there | What it will not do there |
|---|---|---|
| The Copilot pane in a report | Create and edit report pages, add, change and delete visuals, summarise a report or a page | Custom visuals, styling and formatting, and any page at all on the four blocked model setups |
| Web modelling in the service, preview | Create, update and manage tables, columns, measures and relationships, write DAX, create RLS roles | Set up Prep data for AI, and anything outside semantic modelling |
| Prep data for AI, Desktop or the service | AI instructions, an AI data schema, and verified answers tied to a chosen visual | In Desktop, models that are not Import, DirectQuery or Composite local |
That third row is the one to plan around if you work in Desktop. Microsoft’s page on preparing data for AI says Desktop supports those features only on Import, DirectQuery and Composite local connections, while every model type can use them in the service. It also says you must enable Power BI Q and A on the model, which is the same switch from section one turning up a third time.
What do you check before you blame Copilot?
In order, cheapest first, because four of these take a minute and only the last two are real work. Run them the next time somebody tells you Copilot is broken.
- 01Check the capacity before anything elseA paid Fabric capacity of F2 or higher or Power BI Premium P1 or higher, in a supported region, with the tenant setting on. A Pro licence alone is not enough. If you changed capacity today, give it up to 24 hours before you conclude anything.
- 02Check the Q and A switch on the model, not the reportThis one setting gates report creation and editing, and it also gates the Prep data for AI features. It lives on the semantic model, so a report author looking through report settings will never find it.
- 03Ask what kind of model it isReal-time streaming or a live connection to Analysis Services means page generation is not available on that model at all. Nothing in the prompt changes it, so plan to build those pages by hand and keep Copilot for questions and summaries.
- 04Look for calculation groupsIf the model has them then implicit measures are off, and page creation is blocked. That is a design decision rather than a defect, and the right answer is usually to keep the calculation groups and lose the page builder.
- 05Front load your descriptionsCopilot uses only the first 200 characters of a description. Lead with what the object means and how to use it, then ownership and history. Do the measures people actually ask about first rather than trying to do all of them.
- 06Retire the objects nobody usesUnused tables, fields and measures introduce ambiguity in responses, in Microsoft’s own words. Hiding or removing them is the cheapest accuracy work in the whole list, and it helps human report authors just as much as it helps Copilot.
- Check capacity, region and the tenant setting before touching the model
- Treat Q and A as a model setting and look for it on the model
- Write the first 200 characters of a description as the definition plus how to use it
- Reword the prompt or refresh the model when you want a genuine second opinion
- × Assume a missing Copilot button means a broken model
- × Turn implicit measures back on without knowing what your calculation groups do
- × Repeat an identical prompt and read the same answer as confirmation
- × Send a Copilot generated number onward without checking it against your own figure
If you want the wider version of this argument, it is the same one behind Excel switching off the =COPILOT() function: an AI layer is good at reading and drafting and bad at being the place where a number is defined. The model is where definitions live, and Copilot works best on a model where somebody already did that job.
Most Power BI Copilot complaints turn out not to be about Copilot. They are a capacity that does not qualify, a switch on the semantic model, or a modelling decision somebody made deliberately two years ago and never wrote down. Work down the checklist and you will usually know which of the three you have within ten minutes.
The honest summary is that Copilot rewards a model built the way a model should be built, right up to the point where good modelling switches page generation off. Descriptions, clear names, stated relationships and no dead objects make every answer better. Calculation groups and explicit measures make your numbers trustworthy and cost you the page builder. Knowing which of those two you are optimising for is the actual decision, and if you want a second pair of eyes on a model before you change it, start a project and send it over.
Sources: Microsoft Learn, Create and edit Power BI reports with Copilot; Copilot for Power BI overview; Optimize your semantic model for Copilot in Power BI; Prepare your data for AI to improve Copilot results; Copilot in Power BI web modeling; and Calculation groups in Analysis Services tabular models.