Filtro incrociato bidirezionale con DirectQuery in Power BI DesktopBidirectional cross-filtering using DirectQuery in Power BI Desktop

Quando si filtrano tabelle per creare la visualizzazione appropriata di dati, gli autori di report devono determinare in che modo i filtri vengono applicati a un report. Il contesto di filtro di una tabella viene ad esempio mantenuto su un lato della relazione ma non sull'altro e sono quindi spesso necessarie formule DAX complesse per ottenere i risultati richiesti.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.

Il filtro incrociato bidirezionale consente agli autori di report e ai responsabili della modellazione dei dati di avere un controllo maggiore sul modo in cui i filtri vengono applicati quando si utilizzano tabelle correlate, permettendo l'applicazione di questi filtri su entrambi i lati di una relazione tra tabelle.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. Per ottenere questo risultato, il contesto di filtro viene propagato a una seconda tabella correlata nell'altro lato della relazione tra tabelle.This is accomplished by having the filter context propagated to a second related table on the other side of a table relationship.

È disponibile un white paper dettagliato che illustra il filtro incrociato bidirezionale in Power BI Desktop. Il white paper illustra anche SQL Server Analysis Services 2016, perché il comportamento è uguale in entrambi i casi.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).

Abilitazione del filtro incrociato bidirezionale per DirectQueryEnabling bidirectional cross-filtering for DirectQuery

Per abilitare il filtro incrociato, nella finestra di dialogo Modifica relazione per una relazione è necessario selezionare le opzioni seguenti:To enable cross-filtering, in the Edit Relationship dialog for a relationship, the following must be selected:

  • L'opzione Direzione filtro incrociatodeve essere impostata su Entrambe.The Cross filter direction must be set to Both
  • È necessario selezionare anche l'opzione Applica filtro di sicurezza in entrambe le direzioni.The Apply security filter in both directions must also be selected

Nota

Quando si creano formule DAX per il filtro incrociato in Power BI Desktop, usare UserPrincipalName, che spesso corrisponde all'accesso dell'utente; ad esempio joe@contoso.com, invece di 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. Potrebbe essere quindi necessario creare una tabella correlata che esegue il mapping di UserName o EmployeeID, ad esempio, a UserPrincipleName.As such, you may need to create a related table that maps UserName (or EmployeeID, for example) to UserPrincipleName.

Per altre informazioni e per esempi sul funzionamento del filtro incrociato bidirezionale, vedere il white paper indicato in precedenza in questo articolo.For more information, and for examples of how bidirectional cross-filtering works, check out the whitepaper mentioned earlier in this article.