What does a Power BI Copilot consultant actually do?
Two things, in order. First, establish honestly whether Copilot is available and worth switching on for you. Second, prepare the semantic models behind your most-used reports so the answers are grounded, consistent and safe — naming, descriptions, synonyms, measures, verified answers, instructions and security roles tested against real prompts.
That is deliberately narrower than "AI strategy". A semantic model is the prepared dataset behind your reports — the tables, relationships and DAX measures Power BI queries when someone opens a page. Copilot reads that same model. So the work is metadata work: unglamorous, specific, and the difference between a demo that impresses a steering committee and a rollout your finance team still uses in March.
Can you actually turn Copilot on today?
Only if your tenant meets Microsoft's prerequisites, and they are not optional. Copilot in Power BI runs on organisational capacity, not on user licences, and it has to be enabled by an administrator in a supported region. We check all of it before quoting model work, because model preparation is worthless if the feature never appears.
The current requirements are published in Microsoft's Copilot for Power BI overview (opens in new tab), and they move — which is exactly why we read them against your tenant rather than repeating a number from a blog post.
What has to be true before Copilot appears in your tenant
| Prerequisite |
What Microsoft requires |
What we check |
| Capacity |
A paid Fabric capacity (F2 or higher) or Power BI Premium (P1 or higher). Trial and free SKUs are not supported. |
Which capacity each relevant workspace is actually assigned to today |
| User licence |
Pro or Premium Per User alone is not sufficient — Copilot needs organisational capacity behind it |
Whether your estate is Pro-only, and what changing that would mean |
| Tenant setting |
The setting allowing users to use Copilot and other features powered by Azure OpenAI must be enabled |
Whether it is on, and whether it is set at tenant level where that is required |
| Region |
The capacity must sit in a supported Fabric region; sovereign clouds are not supported |
Your capacity region against Microsoft's current availability list |
| Timing after a capacity change |
After buying or scaling capacity it can take up to 24 hours for Copilot to become available |
That a "it isn't working" report is not simply a change still propagating |
| The semantic model |
Q&A must be enabled on the model for Copilot to answer questions from your data |
Every model in scope, plus whether it is marked approved for Copilot |
What does making a semantic model AI-ready involve?
Rewriting the metadata layer so a question in English lands on the right table, the right measure and the right date. Microsoft calls this preparing your data for AI, and it is done through three current tools — AI data schemas, verified answers and AI instructions — layered on top of ordinary good modelling.
The reference is Microsoft's guide to preparing your data for AI in Power BI (opens in new tab), alongside its checklist for optimising a semantic model for Copilot (opens in new tab). What follows is the working checklist we run against a model, in the order we run it.
Copilot readiness checklist for an existing semantic model
| Model element |
What Copilot needs from it |
What we change |
| Table & column names |
Unambiguous, self-explanatory business language rather than codes needing a lookup |
Rename to the words your business already says; hide keys and staging columns |
| Descriptions |
Context on tables, columns and measures — only the first 200 characters are read |
Short descriptions that state what it means and when to use it, front-loaded |
| Synonyms & AI data schema |
The alternative words people use for the same thing |
Map "turnover", "top line" and "revenue" onto one measure, and retire duplicates |
| Measures & KPIs |
Predefined, clearly named calculations with standardised logic |
Build the measures people actually ask for, so answers stop being improvised |
| Relationships & hierarchies |
Clear cardinality, deliberate active and inactive relationships, real drill paths |
Fix the star schema first — ambiguity here cannot be described away |
| Verified answers |
A curated visual returned for a known question, via trigger phrases |
Set them for the questions leadership asks every week, so those never vary |
| AI instructions |
House rules: which date table, which currency, what "last quarter" means here |
Write the instructions your fiscal calendar and reporting conventions require |
| Row-level security |
Roles that hold for questions no report page was designed to answer |
Test each role against real prompts, not just against the pages it was built for |
| Approval state |
A signal that the model has been prepared and reviewed |
Enable Q&A, test, then mark the model approved for Copilot once it earns it |
What will Copilot answer, and what will it not?
It answers questions your model can support, summarises reports it can see, and helps authors build. It does not diagnose causes, does not guarantee identical wording twice, and does not invent measures you never defined. Setting that expectation before rollout prevents most of the disappointment we get called in to repair.
Realistic expectations for Copilot answers in Power BI
| What someone asks |
How Copilot handles it |
What that means for you |
| "Sales by region last quarter" |
Answered from the semantic model, if the measure, the date table and the region column exist and are named clearly |
Build the measure. Copilot surfaces definitions; it does not author them for you |
| "Summarise this report" |
The report pane summarises the content of the open report |
Summary quality tracks how clearly your visuals and fields are labelled |
| "Why did margin fall?" |
Describes what moved; causal explanation is not something to rely on |
Treat it as the start of an investigation, not the conclusion of one |
| Something outside the model |
When a question is not about your data, the answer comes from the language model's general knowledge |
A governance point worth stating plainly: not every answer is grounded in your data |
| The same prompt twice |
Repeating an identical prompt on an unchanged model within 24 hours returns a cached response; otherwise output is nondeterministic |
Do not build a control or sign-off process that assumes word-for-word repeatability |
| Data the asker cannot access |
Answers are bounded by the permissions the person already has and the model's security roles |
Those roles have to be tested under Copilot, not assumed to still be correct |
How does row-level security behave once anyone can ask anything?
The mechanism is unchanged — Copilot answers from the semantic model, so your roles are what stand between a question and restricted rows. What changes is exposure. Every role gets exercised by questions nobody wrote a report page for, including the combinations your original testing never reached.
Row-level security, or RLS, restricts which rows a signed-in user can see through filtering logic attached to a role. Its failure mode has always been silence: nothing errors, the number is simply wrong for that person. Under a report, only the paths a page could take were ever exercised. Under an open question box, all of them are. So we test each role explicitly against prompts written to probe it, the same discipline described on our Power BI data modeling and DAX page, and we do it before anyone outside the project team gets access.
How is this different from a Fabric platform engagement?
This page is about the model layer, not the platform. We do not migrate you onto anything here. The premise is that your semantic models already exist and already run, and the work is making them legible to an AI that reads metadata. Platform architecture is a separate decision with separate economics.
Capacity is where the two touch, and only there: Copilot needs one, and if you do not have one, buying it is a platform decision rather than a Copilot decision. That conversation — capacity sizing, lakehouse and medallion design, workspace architecture, whether to move at all — belongs on our Microsoft Fabric consultant page, and it starts with an honest assessment of whether you need any of it. If your reports are slow, contradictory or generally distrusted, fix that before adding an AI layer on top: a Power BI health check tells you what is actually wrong, and preparing an untrusted model for Copilot only makes the wrong number easier to reach.
What does it cost, and who is it for?
You buy prepaid Flex hours that never expire — Starter $2,500, Growth $4,600 or Power $8,000, with rates from $100/hour on the largest block — and this work draws from that block. A readiness assessment on a small number of models typically fits inside a Starter block; preparing several models across a department usually lands in Growth.
The right callers are BI leads who have been told to "turn on Copilot" and want to do it without embarrassing themselves, controllers who tried it and got answers they could not reconcile, and IT owners who need the security question answered before anyone else gets access. It is a poor fit if you have no semantic model worth preparing yet — there is nothing for Copilot to read — or if what you actually want is a new dashboard, in which case ordinary Power BI consulting is cheaper and faster. Teams arriving from a search-first platform have a related but different question — what replaces the search bar for people who used to type questions — which our ThoughtSpot to Power BI migration page answers alongside the model rebuild. There is no project minimum and no retainer: send the request, we reply with a scope and the hours it needs, and hours deduct only for work you approve. The mechanics are on how prepaid Flex hours work.
What do you own when we finish?
Everything, as always. The changes live in your semantic models, in your tenant, under your workspace permissions — renamed fields, descriptions, synonyms, measures, verified answers, instructions and tested roles. There is no layer belonging to us, nothing to licence, and nothing that stops working if you never call again.
You also get the part that outlives the engagement: a written record of what was changed and why, the prompt set we used to test the model and its security roles, and a short standard your team applies to the next model so this does not have to be redone from scratch each time. Most clients keep a few banked hours for what follows — a new measure that needs a description, a role added after a reorganisation, or a second model brought up to the same standard. That is post-launch support without a retainer: the same hours, spent when you need them.