Insights

Before You Let Copilot Access Your Data, Prepare a Semantic Model

October 8, 2026

How to prepare a semantic model in Microsoft Fabric and Power BI so that Copilot and Fabric data agent return reliable answers

The question “What was the margin in each region last month?” sounds simple. But Microsoft Copilot and Fabric data agent have to make several decisions before answering it. Select the correct source. Determine which of several margin metrics to use. Identify the time period and apply the filters. If the model does not provide unambiguous rules for these decisions, the result can be a technically correct query that produces the wrong answer. And if the number looks plausible, no one may notice the error. Reliable answers are therefore not just a feature of the tool itself. They depend on how well the underlying data layer is designed and described.

AI as a New Colleague on the Team

Imagine a new colleague joining the analytics team. They are given a model with tables called F_SLS or CALC_01, no descriptions, and several similarly named metric. They will have to guess what they mean. Sometimes they will get it right; other times they will pick the wrong column or metric.

AI is in the same position. It does not know that “revenue” in one report means invoiced revenue and in another it means sales orders excluding cancellations. A simple rule applies: if a new colleague cannot quickly understand the model, AI will not understand it reliably either.

The problem is that many models were created simply to support a single report. Business logic is hidden in dynamic metrics, while the correct meaning is enforced by the report’s default filters and switches. But a conversational tool does not operate a report the way a user does. Copilot can see the content of an open report, but it will not set the switches on the author’s behalf. A Fabric data agent does not see the report at all; it works only with the model. An AI-ready model therefore has to stand on its own. That means clearly named objects, descriptions, explicitly defined metrics, and no near-identical variants of key KPIs.

Each Tool Serves a Different Purpose

Microsoft offers two ways to ask questions in natural language. Copilot in Power BI works with the semantic model and the report. Fabric data agent can combine multiple data sources and integrate with other tools. It can choose between lakehouses, warehouses, semantic models, and KQL databases (now also Fabric IQ ontologies and Microsoft Graph), and generates SQL, DAX, or KQL depending on the source type. It is always read-only and always operates with the permissions of the individual user.

When designing the solution, it is important to understand what can be controlled where. For a semantic model, the instructions in the data agent do only one thing: determine which source the question should be sent to. When the agent then queries a semantic model, it builds the DAX query solely from the model metadata and the Prep data for AI configuration. This can be configured using three tools:

  • AI data schema determines which tables, columns, and measures AI should use
  • AI instructions add business terminology and help resolve ambiguities. For example, an “active customer” may be defined as a customer with at least one completed order in the past twelve months
  • Verified answers return a pre-approved answer for selected questions instead of a non-deterministically generated one

Testing Is Essential

Generative AI is non-deterministic, and the same input in the same context can produce a different output. Users can ask the same question in multiple ways, and the language model can change over time. A successful demo therefore proves nothing. An answer that is correct today may come out differently tomorrow.

The only safeguard is a test suite of questions and expected correct answers. Use real production questions and, for each one, record the expected source, metric, filters, time period, and result. Do not check only the final number. Verify the path to it as well, because the same number can be produced using the wrong metric. Run the tests after every change to the model, instructions, or agent. Run critical questions repeatedly.

For Czech deployments, test the language as well. The technology currently provides official support only for English. It works very well with Czech queries and names, but you should not take that for granted.

What This Means for IT Management

Conversational AI opens up new possibilities for the business. Users can get information on their own, immediately, without waiting for a colleague or for IT to process a request. But getting the right answers requires a model that is ready for a new consumer. I recommend two steps before deployment and two during operation:

  • Focus primarily on the semantic model. That is where most optimization opportunities lie. A poorly designed model cannot be fixed with instructions in the agent.
  • Make preparing the model for AI and the test suite part of the development process. The Prep data for AI configuration and tests with expected results should be as routine as code review.
  • Monitor what users actually ask. Real questions expose weaknesses in the model and continuously expand the test suite.
  • Teach users how to ask questions effectively and to critically verify the answers they receive. AI delivers both correct and incorrect answers with the same confidence.

Investing in model quality ultimately pays off twice: first in more reliable AI answers, and second in self-service analytics. With a clear model, even non-technical users can build their own reports and analyze data.

The article was published at computertrends.cz

Author

Martin Záruba

Senior Architect, Microsoft Fabric, Adastra

More Insights