← Resources Tech Brief New

Preparing semantic models for
Fabric data agents that actually work

6 min read Published March 2026 Microsoft Fabric · Power BI · Copilot Studio
Share on LinkedIn Share on X
Source  Microsoft Learn Stack  Microsoft Fabric · Power BI · Copilot Studio Level  Practitioner
Architectural rule: read this first
The DAX generation engine reads only from your semantic model's metadata and its Prep for AI configuration, not from instructions set at the data agent level. Data agent-level instructions are for cross-source formatting and tone only. All business logic belongs inside the semantic model's Prep for AI settings.
01 / 03
AI data schemas
Reduce the noise the model sees

A bloated semantic model (full of helper measures, intermediate objects, and cryptic field names) creates confusion for the LLM. AI data schemas let you define a focused, prioritized subset of your model specifically for AI consumption. Select only what the agent needs. Name every field in plain English.

Best practice

Select only the tables exposed in your AI data schema when configuring the Fabric data agent. Rename cryptic fields to business terms: TR_AMTTotal Revenue eliminates an entire class of misinterpretation errors at source.

Field ambiguity example

A user asks "What were our sales last quarter?" If the model exposes Gross Sales, Net Sales, and Total Revenue, the agent may arbitrarily choose the wrong one. Scoping the AI schema to a single preferred measure removes the guesswork entirely.

02 / 03
Verified answers
Guide the DAX engine with approved visuals

Verified answers are user-approved visual responses bound to specific natural language triggers. When activated, the agent uses the visual's underlying columns, measures, and filters as guardrails to generate the correct DAX query, not a guess. This is your primary control for high-stakes questions that must return a specific, trusted result.

Best practice

Configure 5–7 trigger questions per verified answer, mixing conversational and formal phrasing. Avoid relying on hidden columns; verified answers will silently fail if the model obscures a column they reference.

Terminology mapping example

A user asks "Show me performance by territory." Without a verified answer, the agent may query a Products table's Territory column instead of the regional sales dimension. Binding the question to the correct regional visual fixes the mapping permanently.

03 / 03
AI instructions
Inject your organization's business context

AI instructions allow unstructured business logic (definitions, time period conventions, metric preferences, default groupings) to be embedded directly in the semantic model. This is how you bridge organizational jargon and the LLM's generic reasoning. Keep them specific, non-conflicting, and concise.

Best practice

Keep instructions specific and non-conflicting. Conflicting rules increase latency and produce unpredictable outputs. Define time periods (e.g., "Peak season is Nov–Jan"), preferred metrics, and default groupings as concise, unambiguous statements.

Business logic example

A manager asks "Who were the top performers last month?" The LLM has no native concept of what "top performer" means in your organization. An AI instruction stating the quota attainment threshold and the correct table to filter against translates the abstract question into a precise, filtered DAX query.

Common pitfalls to fix before deployment
Flat or denormalized tables. DAX is optimized for star schemas. Wide or denormalized tables produce inefficient query generation and degrade response performance. Restructure to star schema before connecting to the agent.
Implicit aggregations. Relying on auto-aggregated fields leads to unpredictable math. Define explicit DAX measures for every calculation users are likely to query; don't let the LLM infer aggregation logic.
Ambiguous date fields. Multiple date fields (Order Date, Ship Date, Fiscal Quarter) will confuse the agent. Use AI instructions to specify a default date field for all time-based queries.
Skipping DAX query validation. Always inspect the actual DAX generated during testing. A wrong answer is a diagnostic signal; the generated query tells you exactly which layer (schema, verified answer, or instruction) needs adjustment.

Deploying a Fabric data agent for your finance team?

We'll review your semantic model against these three pillars and get you to a production-ready agent deployment, typically in one working session.

Start Fabric Agent Review