Edit

Share via


Frequently asked questions about preparing data for AI

Note

Authoring of AI instructions and AI data schema is available only in Power BI Desktop, and for Verified answers it's available in both Power BI Desktop and the Power BI service. Consumption of these features is available everywhere Copilot exists.

Tooling features

What features does Power BI have today to help me prepare my data for Copilot?

Today, Power BI offers four main tooling features to configure your model to be ready for natural language processing:

  • AI data schema: Allows you to select a subset of the schema for Copilot consumption.
  • Verified answers: A configured response set by a model author that's validated for accuracy and reliability. Authors can set specific visuals for Copilot to use in a verified answer when a user asks a question that falls into the assigned category.
  • AI instructions: Instructions you can set on your model to provide more context on the data in the model, help guide Copilot to understand when to focus on what data, and help understand certain mappings language users might use when interacting with Copilot.
  • Descriptions: Descriptions set on tables and columns to provide more detail on context on the data. Descriptions are only used in data analysis expressions (DAX) q query and Copilot search capabilities.

In what order should I implement Power BI Copilot tooling features?

To get the most value from Power BI Copilot, we suggest implementing its tooling features in the following sequence:

  1. Define the AI data schema.

    Start by selecting the specific tables, fields, and measures Copilot should reference when answering data questions.

    During model development, you might include elements that aren't relevant for end-user queries. Narrowing the schema helps Copilot focus on the most meaningful parts of your model, reducing ambiguity - especially in large datasets with overlapping or similarly named fields.

    Here we have an example of how AI data schema can help Copilot focus on the right data.

    When the entire schema is used, Copilot isn't always clear on the intent of the user when they say sales. In this case, Copilot returned GPM, or gross profit margin, a legitimate interpretation of sales, but not the metric this team typically uses to analyze sales.

    The model author goes in to prep data for AI and removes the Total GPM measure from being included in the schema passed to Copilot.

    Now when the user asks the same question, Copilot has more clarity on where to get the answer from and correctly interprets sales as defined and measures by this team.

    Screenshot of an example showing how refining the AI data schema helps Copilot focus on the correct data for user queries.

  2. Create verified answers.

    Set up verified answers for common or nuanced questions users might ask.

    To do this, select a visual and choose "Create verified answer." Then add trigger phrases that reflect how users are likely to phrase their questions. When users enter a matching or similar phrase in Copilot, it returns the trusted visual - ensuring consistent, high-quality responses across reports.

    The following example shows the benefit of a verified answer. The user asks for sales by area. Copilot interprets area as product area and returns a list of products and their sales. However, the user was looking for sales by region or ___location.

    The model author sets a verified answer, using a visual that includes sales by region. After choosing to set a verified answer on the visual, the model author includes trigger phrases that when asked by a user should return this specific visual response.

    Now, when the user asks what are sales by area, the verified answer, approved by the model author, is returned by Copilot.

    Screenshot of an example showing how verified answers improve the accuracy of Copilot's responses to user queries.

  3. Add AI instructions.

    After defining the schema and verified answers, use AI instructions to guide Copilot's behavior at the model level.

    Instructions help clarify business logic, map user terminology to model fields, and direct Copilot on how to interpret or analyze specific types of data. They're helpful in providing context Copilot wouldn't otherwise infer on its own.

    The following example shows how AI instructions can be used to provide more context to Copilot. The user asked for sales during busy season of 2012. Busy season is a well-defined, commonly used phrase within this organization. However, the semantic model has no indication of this term anywhere. The model author sets an instruction that busy season is defined as June-Aug.

    Now when the user asks the question again about sales during busy season, Copilot understands this defined term and can provide the response.

    Screenshot of an example showing how AI instructions provide additional context to Copilot for interpreting user queries.

  4. Add descriptions to tables and columns.

    Descriptions provide extra metadata that Copilot can use to understand your model.

    While descriptions currently influence only some Copilot behaviors, they'll play a larger role in future capabilities. Adding them now helps build a strong foundation for long-term success with natural language interactions in Power BI.

Can I create tooling on a report instead of the model?

Today, the tooling and configuration features are only available on the model. Configuring different reports built off the same model isn't yet supported. The schema, verified answers, synonyms, instructions, and descriptions are set on the semantic model but not on the report.

Which Copilot capabilities are affected by preparing my data for Copilot?

Refer to the following table:

Capability AI data schema Verified answers AI instructions Descriptions
Get a summary of my report No No Yes No
Ask a question about the visuals on my report No Yes Yes No
Ask a question about my semantic model Yes Yes Yes No
Create a report page No No Yes No
Search No Yes No Yes
DAX query No No Yes Yes

Know which feature to use

I'm trying to get Copilot to select the right field. Which feature should I use?

  1. Define your AI data schema.

    Remove any tables, columns, or fields that are irrelevant to your users' needs. This helps Copilot focus on the most relevant parts of your model, ensuring it selects the right fields when responding to queries.

  2. Use verified answers for visuals in reports.

    If the answer to a question can be derived from a visual in your report, create a verified answer. This ensures that when users ask questions with specific trigger phrases, Copilot returns the correct visual consistently.

  3. Customize instructions for specific fields.

    Once you set the schema and verified answers, you can use AI instructions to guide Copilot when selecting particular fields. We recommend using instructions for fine tuning and for advanced scenarios after other prep data AI features are set. By using this sequence of steps, you ensure Copilot returns the most accurate and contextually relevant results to users, guided by your model's structure and your defined instructions.

I'm trying to get Copilot to understand the term I'm using. Which feature should I use?

If you have a term Copilot is struggling to understand that always have the same single correct item to reference in your model, you can provide an alternative name through AI instructions.

For example, if your team calls the people who sell your products "closers," then the best option would be to give a reference in AI instructions by setting "sellers" to also be known as "closers."

Synonyms set through Q&A setup are respected, but only when Copilot is answering a question from your semantic model. We're actively working on including synonyms to help prepare your data for Copilot.

I'm trying to get Copilot to understand terms with conditions or groupings. Which feature should I use?

If your team uses certain terms that aren't an exact 1:1 match with tables/fields in your model, then using AI instructions helps clarify different items with certain conditions or groupings.

For example, a sales team might classify "high performers" as anyone who sells over 100% of their targets in any given month. You could then provide the following instructions to Copilot:

High performer means a seller who meets 100% or more of their monthly target.

Now, when a user asks "Who were the high performers last month?" Copilot understands the definition of what a high performer means in your team and organization.

Another example might come with how a team classifies different seasons. For example, Jan-May might be referenced in your team as slow season, June to September might be busy season, and October to December might be standard season.

Within AI instructions, you could set the following:

  • Slow season means January to May.
  • Busy season means June to September.
  • Standard season means October to December.

Now, when a user asks "What were the total sales for busy season last year?" Copilot understands what timeframe the user means by busy season.

I'm trying to get Copilot to return the correct answer to the most commonly asked questions. Which feature should I use?

Consumers of your report and data likely have common questions that are asked the most frequently. The best way to address this is to apply verified answers to your model. Apply a verified answer by selecting a visual and setting trigger phrases that when a user asks about the topic, it returns information using the visual assigned.

For example, consumers of the report and model often ask, "What product had the highest sales last week" questions about sales total and amounts. Setting a verified answer helps Copilot to understand where to get the right information from and helps build author and consumer trust with the answer provided.

I'm trying to get Copilot return different answers based on the domains or user groups. Which feature should I use?

The capabilities as they exist today are limited to broad consumption. Creating a glossary based on different groups isn't supported today. For example, if usage to engineers means "number of times clicked" and usage to a product manager means "paying customers in a given month" then defining "usage" in the model in two different ways can't be supported today.