Фильтрация отчета с помощью параметров строки запроса в URL-адресеFilter a report using query string parameters in the URL

Когда вы открываете отчет в службе Power BI, можно заметить, что каждая страница отчета имеет собственный уникальный URL-адрес.When you open a report in Power BI service, each page of the report has its own unique URL. Для фильтрации этой страницы отчета можно использовать область "Фильтры" на холсте отчета.To filter that report page, you could use the Filters pane on the report canvas. Также для фильтрации отчета можно добавить параметры строки запроса в URL-адрес.Or you could add query string parameters to the URL to filter the report. Возможно, у вас есть отчет, который вы хотите показать коллегам и который для этого необходимо предварительно отфильтровать.Perhaps you have a report you'd like to show colleagues and you want to pre-filter it for them. Это можно сделать, добавив параметры фильтрации к присваиваемому по умолчанию URL-адресу отчета для отправки по электронной почте.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.

Синтаксис параметров строки запроса для фильтрацииQuery string parameter syntax for filtering

Синтаксис довольно прост: начните с URL-адреса отчета, добавьте знак вопроса, а затем — синтаксис фильтра.The syntax is fairly straightforward; start with the report URL, add a question mark, and then add your filter syntax.

URL?filter=Таблица/Поле eq 'значение'URL?filter=Table/Field eq 'value'

  • Имена переменных Таблица и Поле чувствительны к регистру, а значение — нет.Table and Field names are case sensitive, value is not.
  • Поля отчета, которые являются скрытыми для просмотра, также можно отфильтровать.Fields that are hidden from report view can still be filtered.
  • Значение должно быть заключено в одинарные кавычки.Value has to be enclosed with single quotes.
  • Тип поля должен быть числовым или строковымField type has to be a number or string
  • Имена таблицы и поля не должны содержать пробелов.Table and field names cannot have any spaces.

Если эти инструкции вам непонятны, см. подробные объяснения ниже.If it's still confusing, continue reading and we'll break it down.

Фильтрация по полюFilter on a field

Предположим, URL-адрес нашего отчета выглядит так:Let’s assume that the URL to our report is the following.

Как видно на визуализации карты (см. выше) у нас есть магазины в Северной Каролине.And we see in our map visualization (above) that we have stores in North Carolina.

Примечание

В этом руководстве используется образец "Анализ розничной торговли".This example is based on the Retail Analysis sample.

Чтобы отфильтровать отчет для отображения данных, связанных только с магазинами в Северной Каролине (значение NC), добавьте в URL-адрес следующий текст: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'

Примечание

NC — это значение, которое хранится в поле Territory в таблице Store.NC is a value stored in the Territory field of the Store table.

Отчет отфильтрован по Северной Каролине, следовательно, все визуализации на странице отчета показывают данные только по Северной Каролине.Our report is filtered for North Carolina; all the visualizations on the report page show data for only North Carolina.

Фильтрация по нескольким полямFilter on multiple fields

Можно также применять фильтр по нескольким полям, добавив дополнительные параметры в URL-адрес.You can also filter on multiple fields by adding additional parameters to your URL. Вернемся к исходным параметрам фильтра.Let's go back to our original filter parameter.

?filter=Store/Territory eq 'NC'

Чтобы применить фильтр по дополнительным полям, добавьте and и еще одно поле в том же формате, как показано выше.To filter on additional fields, add an and and another field in the same format as above. Пример приведен ниже.Here is an example.

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

Использование DAX для фильтрации по нескольким значениямUsing DAX to filter on multiple values

Еще один способ фильтрации по нескольким полям заключается в следующем: можно создать вычисляемый столбец, который сцепляет два поля в одно значение.Another way to filter on multiple fields is by creating a calculated column that concatenates two fields to a single value. Затем можно выполнить фильтрацию по этому значению.Then you can filter on that value.

Например, у нас есть два поля: Territory и Chain.For example, we have two fields: Territory and Chain. В Power BI Desktop нужно создать новый вычисляемый столбец (поле), который называется TerritoryChain.In Power BI Desktop, create a new Calculated column (Field) called TerritoryChain. Помните, что имя поля не должно содержать пробелы.Remember that the Field name cannot have any spaces. Вот формула DAX для этого столбца:Here is the DAX formula for that column.

TerritoryChain = [Territory] & " - " & [Chain]TerritoryChain = [Territory] & " - " & [Chain]

Опубликуйте отчет в службе Power BI, а затем используйте строку запроса в URL-адресе для фильтрации и отображения данных, связанных только с магазинами Lindseys в Северной Каролине.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'

Закрепление плитки на основе отфильтрованного отчетаPin a tile from a filtered report

Отфильтровав отчет с помощью параметров строки запроса, вы можете закрепить на панели мониторинга связанные визуализации.Once you've filtered the report using query string parameters, you can pin visualizations from that report to your dashboard. Плитка на панели мониторинга будет отображать отфильтрованные данные. Выбрав эту плитку на панели мониторинга, вы откроете отчет, на основе которого она была создана.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. При этом результаты фильтрации отчета с помощью URL-адреса не сохраняются, и при выборе плитки на панели мониторинга отчет отобразится в неотфильтрованном состоянии.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. Это означает, что данные, отображаемые на плитке панели мониторинга, не будут соответствовать данным, отображаемым в визуализации отчета.This means that the data displayed in the dashboard tile will not match the data displayed in the report visualization.

Тем не менее бывают ситуации, когда вам нужно увидеть разные результаты: отфильтрованные данные на панели мониторинга и неотфильтрованные в отчете.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.

Ограничения и устранение неполадокLimitations and troubleshooting

Есть несколько моментов, которые следует учитывать при использовании параметров строки запроса.There are a couple of things to be aware of when using the query string parameters.

  • Фильтрация строки запроса не поддерживается при веб-публикации и в Power BI Embedded.Query string filtering does not work with Publish to web or Power BI Embedded.
  • Тип поля должен быть числовым или строковым.Field type has to be number or string.
  • Имена таблицы и поля не должны содержать пробелов.Table and field names cannot have any spaces.

Дальнейшие действияNext steps

Закрепление визуализации на панели мониторингаPin a visualization to a dashboard
Бесплатная пробная версияTry it out -- it's free!

Появились дополнительные вопросы?More questions? Попробуйте задать вопрос в сообществе Power BI.Try asking the Power BI Community