Filtrar relatórios usando parâmetros da cadeia de caracteres de consulta na URLFilter a report using query string parameters in the URL

Ao abrir um relatório no serviço do Power BI, cada página do relatório tem sua própria URL exclusiva.When you open a report in Power BI service, each page of the report has its own unique URL. Para filtrar essa página do relatório, é possível usar o painel Filtros na tela de relatório.To filter that report page, you could use the Filters pane on the report canvas. Outra opção é adicionar parâmetros da cadeia de caracteres de consulta na URL para filtrar o relatório.Or you could add query string parameters to the URL to filter the report. Talvez você tenha um relatório que gostaria de mostrar aos colegas, mas antes deseja filtrá-lo previamente para enviar a eles.Perhaps you have a report you'd like to show colleagues and you want to pre-filter it for them. Uma maneira de fazer isso é iniciar com a URL padrão correspondente ao relatório, adicionar os parâmetros de filtro à URL e, em seguida, enviar a URL inteira por email aos usuários.One way to do this is to start with the default URL for the report, add the filter parameters to the URL, and then email them the entire URL.

Sintaxe dos parâmetros da cadeia de caracteres de consulta para filtragemQuery string parameter syntax for filtering

A sintaxe é razoavelmente simples; comece com a URL do relatório, adicione um ponto de interrogação e, em seguida, adicione a sintaxe do filtro.The syntax is fairly straightforward; start with the report URL, add a question mark, and then add your filter syntax.

URL?filter=Table/Field eq 'value'URL?filter=Table/Field eq 'value'

  • Os nomes da Tabela e do Campo diferenciam maiúsculas de minúsculas, e o valor é Não.Table and Field names are case sensitive, value is not.
  • Os campos ocultos na exibição de relatório ainda podem ser filtrados.Fields that are hidden from report view can still be filtered.
  • O Valor deve estar entre aspas simples.Value has to be enclosed with single quotes.
  • O tipo de campo deve ser um número ou uma cadeia de caracteresField type has to be a number or string
  • Os nomes de tabelas e campos não podem conter espaços.Table and field names cannot have any spaces.

Se ainda estiver confuso, continue lendo e nós explicaremos detalhadamente.If it's still confusing, continue reading and we'll break it down.

Filtrar em um campoFilter on a field

Suponhamos que a URL do nosso relatório seja a seguinte.Let’s assume that the URL to our report is the following.

Podemos ver em nossa visualização de mapa (acima) que temos lojas na Carolina do Norte.And we see in our map visualization (above) that we have stores in North Carolina.

Observação

Este exemplo baseia-se na amostra da Análise de Varejo.This example is based on the Retail Analysis sample.

Para filtrar o relatório para mostrar dados somente de lojas em "NC" (Carolina do Norte), inclua a URL com o seguinte:To filter the report to show data only for stores in "NC" (North Carolina), append the URL with the following;

?filter=Store/Territory eq 'NC'?filter=Store/Territory eq 'NC'

Observação

NC é um valor armazenado no campo Território da tabela Repositório.NC is a value stored in the Territory field of the Store table.

Nosso relatório é filtrado para Carolina do Norte; todas as visualizações na página de relatório mostram dados apenas da Carolina do Norte.Our report is filtered for North Carolina; all the visualizations on the report page show data for only North Carolina.

Filtrar em vários camposFilter on multiple fields

Também é possível filtrar em vários campos adicionando mais parâmetros à sua URL.You can also filter on multiple fields by adding additional parameters to your URL. Vamos voltar ao nosso parâmetro de filtro original.Let's go back to our original filter parameter.

?filter=Store/Territory eq 'NC'

Para filtrar em campos adicionais, adicione um and e outro campo no mesmo formato que o anterior.To filter on additional fields, add an and and another field in the same format as above. Veja um exemplo.Here is an example.

?filter=Store/Territory eq 'NC' and Store/Chain eq 'Fashions Direct'

Usando DAX para filtrar em vários valoresUsing DAX to filter on multiple values

Outra maneira de filtrar em vários campos é criar uma coluna calculada que concatena dois campos em um único valor.Another way to filter on multiple fields is by creating a calculated column that concatenates two fields to a single value. A partir daí, é possível filtrar nesse valor.Then you can filter on that value.

Suponhamos, por exemplo, que haja dois campos: Território e Cadeia.For example, we have two fields: Territory and Chain. No Power BI Desktop, crie uma nova coluna Calculada (campo) chamada TerritoryChain.In Power BI Desktop, create a new Calculated column (Field) called TerritoryChain. Lembre-se que o nome do Campo não pode conter espaços.Remember that the Field name cannot have any spaces. Veja a seguir a fórmula DAX da coluna.Here is the DAX formula for that column.

TerritoryChain = [Território] & " - " & [Cadeia]TerritoryChain = [Territory] & " - " & [Chain]

Publique o relatório no serviço do Power BI e, em seguida, use a cadeia de caracteres de consulta de URL para filtrar e exibir dados somente de lojas Lindseys em NC.Publish the report to Power BI service and then use the URL query string to filter to display data for only Lindseys stores in NC.

https://app.powerbi.com/groups/me/reports/8d6e300b-696f-498e-b611-41ae03366851/ReportSection3?filter=Store/TerritoryChain eq 'NC–Lindseys'https://app.powerbi.com/groups/me/reports/8d6e300b-696f-498e-b611-41ae03366851/ReportSection3?filter=Store/TerritoryChain eq 'NC–Lindseys'

Fixar um bloco de um relatório filtradoPin a tile from a filtered report

Após filtrar o relatório usando parâmetros da cadeia de caracteres de consulta, é possível fixar as visualizações do relatório em questão no seu dashboard.Once you've filtered the report using query string parameters, you can pin visualizations from that report to your dashboard. O bloco no dashboard exibirá os dados filtrados; a seleção desse bloco do dashboard abrirá o relatório usado para criá-lo.The tile on the dashboard will display the filtered data and selecting that dashboard tile will open the report that was used to create it. No entanto, a filtragem executada usando a URL não é salva com o relatório, e, quando o bloco do dashboard é selecionado, o relatório abre no estado não filtrado.However, the filtering you did using the URL is not saved with the report and when the dashboard tile is selected, the report opens in its unfiltered state. Isso significa que os dados exibidos no bloco do dashboard não corresponderão aos dados exibidos na visualização de relatório.This means that the data displayed in the dashboard tile will not match the data displayed in the report visualization.

Pode haver casos em que isso será útil, isto é, quando você desejar obter resultados diferentes: filtrados no dashboard e não filtrados no relatório.There may be some cases where this will be helpful when you'd like to see different results; filtered on the dashboard and unfiltered in the report.

Limitações e solução de problemasLimitations and troubleshooting

Há alguns pontos a serem considerados ao usar os parâmetros da cadeia de caracteres de consulta.There are a couple of things to be aware of when using the query string parameters.

  • A filtragem da cadeia de caracteres de consulta não funciona com Publicar na Web nem com o Power BI Embedded.Query string filtering does not work with Publish to web or Power BI Embedded.
  • O tipo de campo deve ser um número ou uma cadeia de caracteres.Field type has to be number or string.
  • Os nomes de tabelas e campos não podem conter espaços.Table and field names cannot have any spaces.

Próximas etapasNext steps

Fixar uma visualização em um dashboardPin a visualization to a dashboard
Experimente – é gratuito!Try it out -- it's free!

Mais perguntas?More questions? Experimente perguntar à Comunidade do Power BITry asking the Power BI Community