How to create automatic explanations with Copilot in Power BI
This tutorial teaches how to create automatic explanations with Copilot in Power BI so users can read clear interpretations of visuals. Explaining why there is an increase, decrease, or comparison makes reports more actionable and helps non-experts make decisions.
Prerequisites
- Account with access to Power BI and Copilot enabled
- Report in Power BI Desktop or in the service with a simple data model
- Basic knowledge of DAX and the report editor
Step 1: Identify the explanation scenario
Choose a visual where you want Copilot to write the automatic explanation — for example, a column chart showing Sales by month. Define exactly what type of explanation you want: trend, month-over-month percentage change, or comparison to target.
Step 2: Create supporting measures in the model
Create measures that Copilot can use to calculate the values it will explain. These measures make prompts to Copilot more precise and avoid ambiguity.
VendasTotais = SUM(Sales[Amount])
VendasMêsAnterior = CALCULATE([VendasTotais], PREVIOUSMONTH(Calendar[Date]))
VariaçãoPct = IF(ISBLANK([VendasMêsAnterior]), BLANK(), DIVIDE([VendasTotais]-[VendasMêsAnterior], [VendasMêsAnterior]))
These measures provide the current value, the previous one, and the percentage change — useful information to generate an explanation.
Step 3: Add a card or dynamic text for the explanation
Create a text visual (Card or custom text visual) where Copilot will insert the explanation. In Power BI Desktop, use a text visual or a Card with a text measure that combines values.
TextoExplicativo =
VAR vAtual = FORMAT([VendasTotais], "#,0")
VAR vPct = FORMAT([VariaçãoPct], "0.0%")
RETURN
"Vendas neste mês: " & vAtual & ". Variação em relação ao mês anterior: " & vPct & "."
This example creates a simple string. Copilot can use these measures as context to generate richer text if provided with suitable prompts.
Step 4: Configure a prompt/template in Copilot
In the Power BI service, open the Copilot feature in the report and create a prompt or template that uses the measures and the visual context. The template should be clear about what to ask — for example, request an explanation of the trend and possible causes.
Prompt Template:
"Tens acesso aos seguintes valores: VendasTotais = {VendasTotais}, VendasMêsAnterior = {VendasMêsAnterior}, VariaçãoPct = {VariaçãoPct}. Gera uma explicação concisa (2-3 frases) que descreva a tendência, destaque a variação e sugira duas possíveis causas para esta mudança. Evita jargão técnico."
Replace {VendasTotais} etc. with the report fields/measures when configured in Copilot. This template ensures consistency and helps translate numbers into text.
Step 5: Link Copilot to the visual and validate permissions
Associate the template with the text visual or configure Copilot to respond when the user selects the chart. Verify that the report permissions allow Copilot to read the measures and that the data scope complies with the organization’s governance.
Step 6: Test prompts and adjust tone
Test several versions of the prompt to obtain more technical or simpler explanations. Adjust length, style (formal/informal), and instruct Copilot to include specific recommendations (e.g., investigate product X).
Prompt curto:
"Explica em 2 frases a variação entre os últimos dois meses e sugere uma acção imediata."
Prompt detalhado:
"Explica a tendência dos últimos 3 meses, destaca o maior contributo por categoria e propõe 2 hipóteses para a mudança com acções concretas."
Review the result
Select the visual and activate Copilot to generate the explanation. You should see contextual text in the text visual or in a Copilot window that: 1) references the key values, 2) describes the trend, and 3) suggests causes or actions. If the text is vague, adjust the template to include more context (e.g., segment, product).
Conclusion
Creating automatic explanations with Copilot in Power BI increases the interpretability of reports and helps non-technical users act. Next steps: experiment with templates by audience (executive vs. operational) and integrate alert signals when the variation exceeds a threshold. Tip: start with short prompts and refine tone and structure based on user feedback.