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. 1 つの方法は、レポートの既定の URL にフィルター パラメーターを追加し、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.

注意

この例は、Retail Analysis サンプルが基になっています。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 は、Store テーブルの Territory フィールドに格納されている値です。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

複数のフィールドにフィルターを適用するもう 1 つの方法は、2 つのフィールドを 1 つの値に連結する計算列を作成することです。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 という 2 つのフィールドがあります。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 クエリ文字列を使って、NC の 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

クエリ文字列パラメーターを使う場合に注意すべき点が 2 つあります。There are a couple of things to be aware of when using the query string parameters.

  • クエリ文字列のフィルター処理は、[Web に公開] または 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