How to create automatic filter suggestions in Power BI Copilot
This tutorial shows how to configure Copilot in Power BI to generate automatic filter suggestions relevant to each report. Having automatic suggestions helps users find answers faster and reduces repetitive questions to the BI team.
Prerequisites
- Account with access to Power BI and Copilot enabled in the tenant.
- Report published to the Power BI Service with a well-modeled dataset.
- Permissions to edit the report page (Edit).
- Basic knowledge of DAX and data modeling.
Step 1: Identify relevant fields for suggestions
Start by choosing which fields (columns) make the most sense as automatic filters — for example: Country, ProductCategory, Year, SalesRegion. The goal is to reduce noise and present only useful options to the user.
Step 2: Create a filter metadata table
Create a simple table in Power BI that describes each filter you want to suggest. This table allows Copilot to use structured context to formulate suggestions.
// Exemplo de tabela em DAX ou Power Query (Power Query recomendado)
let
Source = Table.FromRecords({
[Field = "Country", Label = "País", Type = "categorical"],
[Field = "ProductCategory", Label = "Categoria", Type = "categorical"],
[Field = "Year", Label = "Ano", Type = "numeric"],
[Field = "SalesRegion", Label = "Região de Vendas", Type = "categorical"]
})
in
Source
Save this table as FilterMetadata and load it into the dataset.
Step 3: Add support columns (sample values)
Add a column with representative examples (sample values) for each Field — this way Copilot sees concrete examples when generating suggestions.
// Exemplo em Power Query para adicionar SampleValues
Table.AddColumn(FilterMetadata, "SampleValues", each
if [Field] = "Country" then "Portugal, Spain, France"
else if [Field] = "ProductCategory" then "Software, Hardware"
else if [Field] = "Year" then "2022, 2023"
else "Norte, Sul")
Step 4: Publish and test the dataset in the Power BI Service
Publish the report with the FilterMetadata table. In the Power BI Service, make sure the dataset is refreshed and that the table is visible to Copilot.
Step 5: Create structured prompts for Copilot
Use a text field or a button with instructions (prompt) that the user can use. Ideally, save example prompts at the report level to guide Copilot.
// Exemplo de prompt guardado numa caixa de texto visível ao utilizador
"Sugere 3 filtros úteis para analisar vendas este mês com base em Country, ProductCategory e Year. Explica por que cada filtro é relevante."
Step 6: Adjust the Copilot experience (settings and instructions)
In the Power BI Service, open the Copilot pane for the report. Add short instructions that reference the FilterMetadata table — for example, "Use FilterMetadata to suggest fields and examples". This improves the accuracy of the suggestions.
Step 7: Create sample responses and test variations
Try several prompt versions and record good Copilot responses. If needed, refine the FilterMetadata table (for example, add weight/priority for more important fields).
// Possível coluna adicional na tabela
// Priority: 1 (alto) a 5 (baixo)
[Field = "Country", Label = "País", Type = "categorical", SampleValues = "Portugal, Spain", Priority = 1]
Verify the result
To confirm it’s working: ask Copilot for suggestions using the saved prompt. You should see 3 filter suggestions with a short explanation and examples of values. Also verify that the suggestions reflect Priority and SampleValues from FilterMetadata.
Conclusion
You now have a structured way to teach Copilot to propose useful filters in Power BI using a FilterMetadata table and guiding prompts. Possible next steps: automate the update of SampleValues with a query over real data or integrate usage signals to adjust Priority. Tip: start with a few fields and refine with user feedback.