Filtrer un rapport à l’aide de paramètres de chaîne de requête dans l’URLFilter a report using query string parameters in the URL

Lorsque vous ouvrez un rapport dans le service Power BI, chaque page du rapport possède sa propre URL unique.When you open a report in Power BI service, each page of the report has its own unique URL. Pour filtrer cette page de rapport, vous pouvez utiliser le volet Filtres sur le canevas de rapport.To filter that report page, you could use the Filters pane on the report canvas. Vous pouvez également ajouter des paramètres de chaîne de requête à l’URL pour filtrer le rapport.Or you could add query string parameters to the URL to filter the report. Imaginons que vous avez un rapport que vous envisagez de présenter à des collègues après l’avoir filtré pour eux au préalable.Perhaps you have a report you'd like to show colleagues and you want to pre-filter it for them. Une solution consiste à ajouter les paramètres de filtre à l’URL par défaut du rapport, puis à envoyer par courriel à vos collègues l’URL entière ainsi obtenue.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.

Syntaxe du paramètre de chaîne de requête pour le filtrageQuery string parameter syntax for filtering

La syntaxe est assez simple. Il suffit d’accéder à l’URL du rapport, d’ajouter un point d’interrogation, puis d’ajouter la syntaxe du filtre.The syntax is fairly straightforward; start with the report URL, add a question mark, and then add your filter syntax.

URL?filter=Tableau/Champ eq 'valeur'URL?filter=Table/Field eq 'value'

  • Les noms de Tableau et de Champ respectent la casse, pas la valeur.Table and Field names are case sensitive, value is not.
  • Les champs masqués dans l’affichage Rapport peuvent également être filtrés.Fields that are hidden from report view can still be filtered.
  • La valeur doivent être placée entre apostrophes.Value has to be enclosed with single quotes.
  • Le type de champ doit être un nombre ou une chaîne.Field type has to be a number or string
  • Les noms de tableau et de champ ne peuvent pas contenir d’espaces.Table and field names cannot have any spaces.

Si cela ne vous semble pas clair, poursuivez votre lecture. Nous allons décomposer la syntaxe.If it's still confusing, continue reading and we'll break it down.

Filtrer sur un champFilter on a field

Supposons que l’URL du rapport soit la suivante.Let’s assume that the URL to our report is the following.

Nous pouvons constater dans la visualisation de la carte (ci-dessus) que nous avons des magasins en Caroline du Nord (North Carolina).And we see in our map visualization (above) that we have stores in North Carolina.

Note

Cet exemple est basé sur l’Exemple Analyse de la vente au détail.This example is based on the Retail Analysis sample.

Pour filtrer le rapport afin d’afficher uniquement les données des magasins situés en « NC » (Caroline du Nord), ajoutez à l’URL le code suivant :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'

Note

NC est une valeur stockée dans le champ Territory (territoire) du tableau Store (magasin).NC is a value stored in the Territory field of the Store table.

Notre rapport étant filtré sur la Caroline du Nord, les visualisations affichées sur la page du rapport présentent uniquement les données relatives à la Caroline du Nord.Our report is filtered for North Carolina; all the visualizations on the report page show data for only North Carolina.

Filtrer sur plusieurs champsFilter on multiple fields

Vous pouvez également filtrer plusieurs champs en ajoutant des paramètres supplémentaires à votre URL.You can also filter on multiple fields by adding additional parameters to your URL. Revenons à notre paramètre de filtre d’origine.Let's go back to our original filter parameter.

?filter=Store/Territory eq 'NC'

Pour filtrer sur des champs supplémentaires, ajoutez un and et un autre champ au même format que ci-dessus.To filter on additional fields, add an and and another field in the same format as above. Voici un exemple.Here is an example.

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

Utilisation de DAX pour filtrer plusieurs valeursUsing DAX to filter on multiple values

Une autre façon de filtrer plusieurs champs consiste à créer une colonne calculée qui concatène deux champs pour former une seule valeur.Another way to filter on multiple fields is by creating a calculated column that concatenates two fields to a single value. Ensuite, vous pouvez utiliser cette valeur pour le filtrage.Then you can filter on that value.

Par exemple, nous avons deux champs : Territory (territoire) et Chain (chaîne).For example, we have two fields: Territory and Chain. Dans Power BI Desktop, créez une colonne calculée (champ) nommée TerritoryChain (TerritoireChaîne).In Power BI Desktop, create a new Calculated column (Field) called TerritoryChain. N’oubliez pas que le nom de Champ ne peut pas contenir d’espaces.Remember that the Field name cannot have any spaces. Voici la formule DAX pour cette colonne.Here is the DAX formula for that column.

TerritoryChain = [Territoire] & " - " & [Chaîne]TerritoryChain = [Territory] & " - " & [Chain]

Publiez le rapport sur le service Power BI, puis utilisez la chaîne de requête d’URL pour filtrer les données affichées uniquement pour les magasins Lindseys en Caroline du Nord (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'

Épingler une vignette d’un rapport filtréPin a tile from a filtered report

Après avoir filtré le rapport à l’aide de paramètres de chaîne de requête, vous pouvez épingler des visualisations de ce rapport à votre tableau de bord.Once you've filtered the report using query string parameters, you can pin visualizations from that report to your dashboard. La vignette épinglée au tableau de bord affiche les données filtrées, et la sélection de cette vignette a pour effet d’ouvrir le rapport utilisé pour la créer.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. Toutefois, le filtrage que vous avez effectué à l’aide de l’URL n’est pas enregistré avec le rapport et, en cas de sélection de la vignette épinglée au tableau de bord, le rapport qui s’ouvre n’est pas filtré.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. Cela signifie que les données qu’affiche la vignette épinglée au tableau de bord ne correspondent pas à celles présentées dans la visualisation du rapport.This means that the data displayed in the dashboard tile will not match the data displayed in the report visualization.

Cela peut cependant être utile lorsque vous souhaitez afficher différents résultats : filtrés sur le tableau de bord, non filtrés dans le rapport.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 et résolution des problèmesLimitations and troubleshooting

Lorsque vous utilisez les paramètres de chaîne de requête, vous devez garder certaines choses à l’esprit.There are a couple of things to be aware of when using the query string parameters.

  • Le filtrage de chaîne de requête ne fonctionne pas avec des URL de type Publier sur le web ou Power BI Embedded.Query string filtering does not work with Publish to web or Power BI Embedded.
  • Le type de champ doit être un nombre ou une chaîne.Field type has to be number or string.
  • Les noms de tableau et de champ ne peuvent pas contenir d’espaces.Table and field names cannot have any spaces.

Étapes suivantesNext steps

Épingler une visualisation à un tableau de bordPin a visualization to a dashboard
Essayez-le gratuitement !Try it out -- it's free!

D’autres questions ?More questions? Essayez d’interroger la communauté Power BITry asking the Power BI Community