How to create a custom Q&A in Copilot in Power BI
This tutorial shows how to create a custom Q&A in Copilot in Power BI to answer natural language questions using your organization’s specific vocabulary. A well-configured Q&A improves Copilot’s answer accuracy and makes reports more useful for non-technical users.
Prerequisites
- Account with access to Power BI Service and Copilot enabled.
- Report published in the workspace (dataset configured).
- Editor permission in the workspace and basic knowledge of data modeling.
Step 1: Identify common terms and questions
Before configuring the Q&A, make a short list of the terms users use (synonyms) and the most common questions about the report. This helps Copilot map natural language to model columns/measures.
// Example of a simple list (you can use Excel or a text file)
Term;Mapping
"Receita";FactSales[SalesAmount]
"Vendas";FactSales[SalesAmount]
"Margem";Measures[ProfitMargin]
"Top clientes";Clientes[CustomerName] ORDERBY FactSales[SalesAmount] DESC
Step 2: Open the Copilot Q&A experience in Power BI
Open the report in Power BI Service. In the upper right corner or in the Copilot sidebar, choose the option to configure Q&A or “Q&A setup” (may vary depending on the UI). This interface lets you add synonyms, example questions and mappings.
Step 3: Add synonyms for columns and tables
Enter the terms identified in the previous step as synonyms for columns and tables. This makes questions like "qual a receita por cliente?" automatically map to the correct column.
// Conceptual example in the Q&A interface
Add synonym for FactSales[SalesAmount]: "Receita", "Vendas", "Faturação"
Add synonym for DimCustomer[CustomerName]: "Cliente", "Empresa"
Step 4: Create example questions and intent mappings
Create real example questions with the expected answer. This helps the model learn specific intents (e.g., compare periods, top N, filters by region).
// Example of an example question
Question: "Quais são os top 5 clientes por receita em 2025?"
Expected answer: FactSales[SalesAmount] FILTER Year=2025 ORDERBY DESC TOP 5
Question: "Mostrar margem por produto no último trimestre"
Expected answer: Measures[ProfitMargin] GROUPBY DimProduct FILTER Period=LastQuarter
Step 5: Map common expressions to filters and measures
Some natural expressions (e.g., "último trimestre", "ano até à data") should be mapped to the model’s time filters. Define these rules in the Q&A time area.
// Examples of temporal mapping
"último trimestre" -> Time Intelligence: FiscalQuarter = LastQuarter
"YTD" / "ano até à data" -> Time Intelligence: YearToDate
Step 6: Test with real questions and adjust
Use Copilot’s question box to test various questions (simple and compound). Check whether the result matches the expected one and correct synonyms, examples or mappings that fail.
// Test examples
"Qual a receita por região em 2024?"
"Lista os 10 maiores clientes por faturação no último ano"
"Comparar vendas vs objetivo por mês"
Verify the result
Confirm that Copilot responds with correct metrics, that the labels used in answers are the organization’s terms, and that equivalent questions (using synonyms) return the same answer. If there are incorrect answers, identify which synonym or example is causing the wrong interpretation and adjust.
Conclusion
After configuring synonyms, examples and temporal mappings, Copilot in Power BI will respond more accurately to your team’s natural language questions. Next steps: expand the list of examples, monitor real questions for new synonyms and integrate FAQs into onboarding. Tip: start with 10–20 frequent examples and adjust iteratively — what is the first question you will teach Copilot?