Filtrado cruzado bidireccional con DirectQuery en Power BI DesktopBidirectional cross-filtering using DirectQuery in Power BI Desktop

Al filtrar tablas para crear la vista de datos adecuada, los creadores de informes (y los modeladores de datos) se enfrentan a desafíos al determinar cómo se aplica el filtrado a un informe; el contexto de filtro de una tabla se ha mantenido en un lado de la relación, pero no en el otro, que a menudo requiere fórmulas DAX complejas para obtener los resultados deseados.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.

Con el filtrado cruzado bidireccional, los creadores de informes (y los modeladores de datos) ahora tienen más control sobre cómo se aplican los filtros al trabajar con tablas relacionadas, lo que habilita esos filtros para que se apliquen en ambos lados de una relación de tabla.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. Para ello, hay que tener el contexto de filtro propagado a una segunda tabla relacionada en el otro lado de una relación de tabla.This is accomplished by having the filter context propagated to a second related table on the other side of a table relationship.

Hay notas del producto detalladas disponibles en las que se explica el filtrado cruzado bidireccional en Power BI Desktop (las notas del producto también abarcan SQL Server Analysis Services 2016, ambos tienen el mismo comportamiento).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).

Habilitar el filtrado cruzado bidireccional para DirectQueryEnabling bidirectional cross-filtering for DirectQuery

Para habilitar el filtrado cruzado, en el cuadro de diálogo Editar relación de una relación, se debe seleccionar lo siguiente:To enable cross-filtering, in the Edit Relationship dialog for a relationship, the following must be selected:

  • La Dirección del filtro cruzado debe establecerse en AmbosThe Cross filter direction must be set to Both
  • Aplicar filtro de seguridad en ambas direcciones también debe estar seleccionadoThe Apply security filter in both directions must also be selected

Nota

Al crear fórmulas DAX de filtrado cruzado en Power BI Desktop, use UserPrincipalName (que suele ser el mismo que el inicio de sesión de un usuario, como joe@contoso.com) en lugar 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. Por tanto, puede que necesite crear una tabla relacionada que asigne UserName (o EmployeeID, por ejemplo) a UserPrincipleName.As such, you may need to create a related table that maps UserName (or EmployeeID, for example) to UserPrincipleName.

Para obtener más información y ejemplos de cómo funciona el filtrado cruzado bidireccional, consulte las notas del producto mencionadas anteriormente en este artículo.For more information, and for examples of how bidirectional cross-filtering works, check out the whitepaper mentioned earlier in this article.