Filtrage croisé bidirectionnel avec DirectQuery dans Power BI DesktopBidirectional cross-filtering using DirectQuery in Power BI Desktop

Lorsqu’ils filtrent les tables afin de créer la vue de données appropriée, les créateurs de rapports (et les modélisateurs de données) font face à des difficultés pour déterminer comment le filtrage est appliqué au rapport. Le contexte de filtre d’une table a été maintenu d’un côté de la relation mais pas de l’autre, nécessitant ainsi souvent des formules DAX complexes pour obtenir les résultats souhaités.When filtering tables to create the appropriate view of data, report creators (and data modelers) face challenges when determining how filtering is applied to a report; the filter context of a table was held on one side of the relationship, but not the other, often requiring complex DAX formulas to get the desired results.

Avec le filtrage bidirectionnel croisé, les créateurs de rapports (et les modélisateurs de données) peuvent désormais mieux contrôler la façon dont les filtres sont appliqués sur les tables liées, ces filtres étant appliqués des deux côtés de la relation de table.With bidirectional cross-filtering, report creators (and data modelers) now have more control over how filters are applied when working with related tables, enabling those filters to be applied on both sides of a table relationship. Pour cela, le contexte de filtre doit être propagé vers une deuxième table liée de l’autre côté de la relation de table.This is accomplished by having the filter context propagated to a second related table on the other side of a table relationship.

Un livre blanc détaillé explique le filtrage croisé bidirectionnel dans Power BI Desktop. (Ce livre blanc aborde également SQL Server Analysis Services 2016, tous les deux ayant le même comportement).A detailed whitepaper is available that explains bidirectional cross-filtering in Power BI Desktop (the whitepaper also covers SQL Server Analysis Services 2016, both have the same behavior).

Activer le filtrage croisé bidirectionnel pour DirectQueryEnabling bidirectional cross-filtering for DirectQuery

Pour activer le filtrage croisé, dans la boîte de dialogue Modifier la relation d’une relation, les éléments suivants doivent être activés :To enable cross-filtering, in the Edit Relationship dialog for a relationship, the following must be selected:

  • La valeur de Direction du filtrage croisé doit être Les deux.The Cross filter direction must be set to Both
  • L’option Appliquer le filtre de sécurité dans les deux directions doit également être activée.The Apply security filter in both directions must also be selected

Note

Lors de la création de formules DAX de filtrage croisé dans Power BI Desktop, utilisez le nom d’utilisateur principal (qui est souvent le même que le nom de connexion de l’utilisateur, par exemple joe@contoso.com), plutôt que le nom d’utilisateur.When creating cross filtering DAX formulas in Power BI Desktop, use UserPrincipalName (which is often the same as a user's login, such as joe@contoso.com) instead of UserName. Par conséquent, vous devez peut-être créer une table liée qui mappe le nom d’utilisateur (ou l’ID d’employé, par exemple) sur le nom d’utilisateur principal.As such, you may need to create a related table that maps UserName (or EmployeeID, for example) to UserPrincipleName.

Pour plus d’informations et pour obtenir des exemples de fonctionnement du filtrage croisé bidirectionnel, consultez le livre blanc mentionné plus haut dans cet article.For more information, and for examples of how bidirectional cross-filtering works, check out the whitepaper mentioned earlier in this article.