Back to Blog

How to Optimise Your Power BI Semantic Model for Copilot

September 23, 20267 min readMichael Ridland

The single most common reason Copilot in Power BI disappoints people has nothing to do with the AI. It is the semantic model. Someone turns Copilot on, asks it a normal business question, gets an answer that is confidently wrong or evasively vague, and decides the technology is not ready. Then we look under the hood and find a model with three tables named some variation of "Sales", four measures that all calculate revenue slightly differently, and column names only the person who built it could love. Copilot did not fail. It was asked to read a book written in a private shorthand and it did its best.

Optimising your semantic model for Copilot is the work that closes that gap. It is not glamorous and it is not a toggle, but it is the difference between an AI feature people quietly abandon and one they come to rely on. Microsoft's guidance on optimising your semantic model covers the specifics. Here is how we think about it after doing it on real client models.

Copilot reads your model literally, so the model has to make sense

A human analyst brings context. They know that when the boss says "revenue" they mean the net figure, not gross, and they know to ignore the Sales_TEMP table because it was a one-off from a migration nobody cleaned up. Copilot knows none of that. It reads what the model tells it, literally, and it has no colleague to lean over and ask.

That is why optimising the model is the foundation. If your tables and columns have clear, human names, if your relationships are correct, if your measures are well defined and there is one obvious way to calculate the important numbers, then Copilot has a fighting chance of mapping a plain-English question onto the right pieces. If the model is a tangle, Copilot guesses, and a confident guess dressed up in fluent language is worse than no answer at all.

So the first move, before you touch any AI setting, is honest and slightly deflating: look at the model itself. Are the names readable? Are the relationships right? Are there duplicate or half-finished measures that would confuse anyone, human or machine? This is ordinary good Power BI practice, and it happens to also be exactly what makes Copilot work. There is no AI shortcut around a messy model.

The things that actually move the needle

Once the model is fundamentally sound, a handful of specific improvements do most of the heavy lifting for Copilot.

Names are the big one. Amt, Fld_3, DimCust[Attr7]: these mean nothing to Copilot and barely anything to a person. Renaming to Sales Amount, Customer Region, Order Date sounds trivial, and it is the highest-return change you can make. Copilot maps questions onto names. Give it names that match how people talk and half the battle is over. This alone lifts answer quality more than almost anything else.

Descriptions and synonyms carry the rest. Your business has its own vocabulary, and it rarely matches your column headers exactly. Your people say "clients", your table says "Accounts". They say "up north", your data says "Region = QLD". Synonyms are how you tell Copilot these are the same thing, and descriptions are how you explain what a field actually holds when the name alone is not enough. The gap between your business language and your model's language is precisely where Copilot gets lost, and this is how you close it.

Then there is trimming. Not every field belongs in an AI-facing answer. Internal helper columns, keys, staging fields, half-built measures: these are noise, and noise makes Copilot's job harder and its answers worse. Steering Copilot toward the fields that matter and away from the ones that do not is a real part of the work. A leaner, clearer model produces cleaner answers than a sprawling one, even if the sprawling one technically "works".

Where this fits in a real build

Here is roughly how we sequence it when preparing a client's environment.

We audit the model first, always. If the foundation is shaky, everything built on top inherits the shakiness, so that is where we start. Clean relationships, sensible names, correct measures, no duplicate ways of calculating the same thing. This is the unglamorous part and it is the part that matters most.

Then we make the model legible to Copilot specifically. Descriptions on the things that matter, synonyms that match how the client's people actually speak, and deliberate choices about what to expose and what to hide. This is not a five-minute job done well, and doing it well is the whole point. It rewards someone who understands both the data and the way the business asks questions of it.

And then, non-negotiably, we test with real questions. Not the demo questions we already know work. The messy, ambiguous, real ones a user will actually type. This is where you discover that "top customers" means something different to Copilot than to the sales team, and you go back and refine the model until the answers hold up. Optimising for Copilot is a loop, not a one-time pass, and the loop is where the quality comes from. This kind of iterative preparation is core to how we approach business intelligence work.

The honest bits, what to watch out for

A few things worth saying without the marketing gloss.

First, this is real effort and you cannot skip it. The pitch makes Copilot sound like a switch. The reality is that a good Copilot experience sits on a well-prepared model, and preparing that model takes time from someone who knows what they are doing. Budget for it. The teams treating Copilot as free and instant are the ones who end up disappointed, because they never did the part that makes it good.

Second, Copilot faithfully amplifies whatever is in your model, including the mistakes. If a measure is subtly wrong, or defined differently from how the business thinks about it, Copilot will surface that wrong number in confident, fluent language. That is arguably worse than a spreadsheet error, because the polished delivery makes people believe it. Get the numbers right before you make them easy to ask for.

Third, governance rides along with all of this. Making a model more legible to Copilot means being deliberate about what Copilot can reach and describe. A field that is fine for an analyst who understands its caveats can mislead when it turns up in a plain-language answer with no context. Decide what should be exposed to AI-generated answers and what should not, and treat that as a data governance decision that belongs in a wider conversation about how you use AI across the business, not an afterthought.

Fourth, the feature keeps changing. Copilot in Power BI has improved quickly, which is good, but it means the behaviour and the specifics of what helps shift over time. Do not assume what you optimised a year ago is still optimal. Revisit it, retest with real questions periodically, and keep an eye on what Microsoft has changed. A Copilot-ready model is something you maintain, not something you finish.

Who should care about this

If you are an Australian organisation rolling out Copilot in Power BI and you want people to actually trust the answers, optimising the semantic model is where most of your success is decided. A prepared model is the foundation. Skip it and you get an expensive feature people try twice and quietly stop using.

If your Power BI environment is still shaky in its fundamentals, that is where to start, not the AI layer. Clean models and correct measures first, because Copilot can only ever be as good as what it sits on. Once that base is solid, optimising it for Copilot genuinely pays off in daily use.

Most of the organisations we work with want the same thing: people across the business able to ask questions of their data in plain English and get answers they can rely on. That is achievable, and the path to it runs straight through the careful, valuable work of preparing the model. If you want a partner who will do that work properly rather than flip the switch and hope, that is what we do. Have a look at how we work with Power BI and business intelligence, or get in touch and we will give you a straight read on where you stand.

For the specifics and the current state of the feature, Microsoft's guidance on optimising your semantic model for Copilot is the reference to keep handy.