Advanced DAX generation for Power BI semantic models is now available in Fabric data agents through the Preview runtime. The experience changes how a data agent translates natural-language questions into DAX by allowing it to plan, use tools, inspect intermediate results, and refine its approach before returning an answer.
This iterative approach can lower response latency, and improve response accuracy and consistency, particularly for questions that require value resolution or multiple reasoning steps. It also uses the semantic-model query foundation shared across Fabric data agents, Fabric Skills, Power BI, and Microsoft 365 Copilot.
From single-pass generation to an agentic architecture
The existing DAX generation experience handles query generation in a single pass. This approach works well for many questions, but complex or ambiguous requests can require additional reasoning that is difficult to complete in one step.
Advanced DAX generation uses an agentic architecture. A specialized sub-agent can plan its approach and work through several steps before producing the final query. Depending on the question, it can:
- Inspect the available semantic-model metadata.
- Use tools to gather information needed for the query.
- Review intermediate results.
- Refine the query or reasoning based on what it finds.
- Execute the final DAX query and return the answer.
This iterative approach gives the system more opportunities to identify and correct issues before returning an answer. It is particularly useful for questions that require multiple related decisions rather than a single translation from natural language to DAX.
Generate more reliable filters with instance value indexing
Business users don’t always refer to an entity exactly as it is stored in a semantic model. A person might ask, “Provide the sum of 2023 sales for all Biomimicry customers,” while the corresponding customer names are stored as values such as “Biomimicry Workshop,” “Biomimicry Studio,” and “Biomimicry Foundry.”
Without resolving those values, a generated query might rely on a broad text search, which can produce incomplete or unintended results.
Advanced DAX generation uses instance value indexing to address this problem. Before the language model writes the query, the system can search an index of values found in the semantic model’s columns. It can then use the matching customer values when constructing the DAX filter.
In the following example, the process can resolve:
- User’s wording: “Biomimicry customers”
- Values in the semantic model: “Biomimicry Workshop,” “Biomimicry Studio,” “Biomimicry Foundry,” and other matching customer names
- Generated filter: The specific matching customer values, resulting in a more precise and reliable query
Figure: Comparison of broad text filtering with value-based filtering for matching customer names.
Value resolution is especially useful for company names, product names, geographic locations, categories, and other fields where users commonly use abbreviations or shortened terms. By grounding filters in values that exist in the model, the system can produce more accurate and reliable queries.
Get more consistent answers across Microsoft experiences
Organizations can use the same Power BI semantic model across multiple AI experiences, including Fabric data agents, Fabric Skills, Power BI, and Microsoft 365 Copilot.
Advanced DAX generation uses shared semantic model tools across these experiences. This common foundation can reduce differences in how questions are interpreted and answered.
Use advanced DAX generation
Advanced DAX generation is available when a Fabric data agent uses the Preview runtime.
To use Advanced DAX generation:
- Open a Fabric data agent that includes a Power BI semantic model as a data source.
- Open the Runtime dropdown in the ribbon.
- Select Preview.
- Ask questions about the data in your semantic model.
The runtime selection controls more than the DAX generation tool. For more information on features included in the Preview runtime, refer to Fabric data agent runtime. If you switch back to the Standard runtime, the data agent uses the existing semantic-model DAX generation experience.
Prepare your semantic model for better results
Advanced query generation improves how the system reasons, but the quality of the semantic model remains important. The DAX generation engine uses the model's metadata and its Prep data for AI configurations to understand business terminology and select the right tables, columns, and measures.
For the best results:
- Use clear, business-friendly names for model objects.
- Define a focused AI data schema that includes the relevant tables, columns, and measures.
- Add AI instructions to explain organization-specific terms, preferred metrics, and time-period definitions.
- Optimize the semantic model and its measures for query performance.
These practices reduce ambiguity and help the engine ground its reasoning in the intended business context.
For additional guidance on preparing a model, including AI data schemas, AI instructions, verified answers, naming, and performance optimization, explore Semantic model best practices for data agent.
More semantic-model improvements are coming
Advanced DAX generation is part of ongoing investments in semantic model experiences for Fabric data agents. Additional semantic model capabilities are also planned, including AI descriptions and instructions, granular schema selection, and verified answers. More information will be shared as these capabilities become available.
Get started
Open a Fabric data agent that uses a Power BI semantic model, select Preview from the Runtime dropdown, and test questions that are important to your users. Compare the answers with your expected business definitions and evaluate the results against the Standard runtime.
For guidance on preparing your model, review Semantic model best practices for data agents. For information about Standard and Preview runtime behavior, explore Fabric data agent runtime.