Filtragem cruzada bidirecional usando o DirectQuery no Power BI DesktopBidirectional cross-filtering using DirectQuery in Power BI Desktop

Ao filtrar tabelas para criar a exibição de dados apropriada, os criadores de relatório (e modeladores de dados) enfrentam desafios ao determinar como a filtragem é aplicada a um relatório; o contexto de filtro de uma tabela foi mantido em um lado da relação, mas não no outro, exigindo, muitas vezes, fórmulas DAX complexas para obter os resultados desejados.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.

Com a filtragem cruzada bidirecional, os criadores de relatório (e modeladores de dados) agora têm mais controle sobre como os filtros são aplicados ao trabalhar com tabelas relacionadas, permitindo que eles sejam aplicados em ambos os lados de uma relação de tabela.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. Isso é realizado com a propagação do contexto de filtro em uma segunda tabela relacionada do outro lado de uma relação de tabela.This is accomplished by having the filter context propagated to a second related table on the other side of a table relationship.

Um white paper detalhado que explica a filtragem cruzada bidirecional no Power BI Desktop está disponível (também aborda o SQL Server Analysis Services 2016, que tem o mesmo comportamento).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).

Habilitando a filtragem cruzada bidirecional para o DirectQueryEnabling bidirectional cross-filtering for DirectQuery

Para habilitar a filtragem cruzada, na caixa de diálogo Editar Relação de uma relação, selecione o seguinte:To enable cross-filtering, in the Edit Relationship dialog for a relationship, the following must be selected:

  • A Direção do filtro cruzado deve ser definida como AmbosThe Cross filter direction must be set to Both
  • A opção Aplicar filtro de segurança em ambas as direções também deve ser selecionadaThe Apply security filter in both directions must also be selected

Observação

Ao criar fórmulas DAX de filtragem cruzada no Power BI Desktop, use UserPrincipalName (que é geralmente o mesmo logon do usuário, como joe@contoso.com), em vez de UserName.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. Assim, você poderá precisar criar uma tabela relacionada que mapeia UserName (ou EmployeeID, por exemplo) para UserPrincipleName.As such, you may need to create a related table that maps UserName (or EmployeeID, for example) to UserPrincipleName.

Para obter mais informações e exemplos de como funciona a filtragem cruzada bidirecional, confira o white paper mencionado anteriormente neste artigo.For more information, and for examples of how bidirectional cross-filtering works, check out the whitepaper mentioned earlier in this article.