Filtri incrociati bidirezionali nei modelli tabulari

Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

I filtri incrociati bidirezionali nei modelli tabulari eliminano la necessità di soluzioni DAX create a mano per propagare il contesto di filtro tra relazioni di tabella.

Suddividendo il concetto nelle sue parti componenti, il filtro incrociato è la possibilità di impostare un contesto di filtro in una tabella in base ai valori contenuti in una tabella correlata, mentre con bidirezionale si intende il trasferimento di un contesto di filtro alla seconda tabella correlata all'altra estremità di una relazione tra tabelle. Come suggerisce il nome, è possibile sezionare in entrambe le direzioni della relazione piuttosto che in una sola. Internamente, il filtro bidirezionale espande il contesto di filtro in modo da eseguire la query di un superset dei dati.

Screenshot della casella di dialbo Modifica relazione con la sezione Direzione filtro chiamata.

Esistono due tipi di filtri incrociati: filtro bidirezionale e bidirezionale. Il filtro unidirezionale è la direzione tradizionale del filtro molti-a-uno tra le tabelle dei fatti e le tabelle delle dimensioni in tale relazione. Bidirezionale è un filtro incrociato che consente l'uso del contesto di filtro di una relazione come contesto di filtro per un'altra relazione di tabella, con una tabella comune a entrambe le relazioni.

Dati DimDate e DimProduct con relazioni di chiave esterna con FactOnlineSales, un filtro incrociato bidirezionale è equivalente a FactOnlineSales-to-DimDate più FactOnlineSales-to-DimProduct usati contemporaneamente.

I filtri incrociati bidirezionali possono essere una soluzione semplice al problema di progettazione di query molti-a-molti che ha sfidato gli sviluppatori tabulari e PowerPivot in passato. Se è stata usata la soluzione alternativa DAX per le relazioni molti-a-molti nei modelli tabulari o PowerPivot, è possibile provare a applicare un filtro bidirezionale per verificare se genera risultati previsti.

Quando si crea un filtro incrociato bidirezionale, tenere presente quanto i punti seguenti:

  • Riflettere prima di abilitare i filtri bidirezionali.

    Se si abilitano i filtri bidirezionali ovunque, i dati potrebbero essere eccessivamente filtrati in modo imprevedibile. Si potrebbe anche introdurre inavvertitamente una certa ambiguità creando più percorsi di query potenziali. Per evitare entrambi i problemi, pianificare l'uso di una combinazione di filtri unidirezionale e bidirezionale.

  • Eseguire test incrementali per verificare l'impatto di ogni modifica del filtro nel modello. La funzionalità Analizza in Excel in Visual Studio funziona bene per i test incrementali. Come procedura consigliata, farlo seguire periodicamente con i test con altri client di creazione report in modo da non avere sorprese in un secondo momento.

Nota

Progettazione modelli tabulari in Visual Studio include un valore predefinito che determina se i filtri incrociati bidirezionali vengono tentati automaticamente. Se si abilitano filtri bidirezionali per impostazione predefinita, il filtro bidirezionale sarà abilitato solo se il modello articola chiaramente un percorso di query attraverso una catena di relazioni di tabella.

Impostare il valore predefinito

I filtri direzionali singoli sono quelli predefiniti. È possibile modificare l'impostazione predefinita per tutti i nuovi progetti creati nella finestra di progettazione oppure nel modello stesso, se il progetto esiste già.

A livello di progetto, l'impostazione viene valutata quando si crea il progetto, dunque se si modifica il valore predefinito in bidirezionale, gli effetti della selezione saranno visibili quando si crea il progetto successivo.

  1. In Visual Studio selezionare Opzioni strumenti>>Progettazione tabulari> Di Analysis ServicesNuove impostazioni del progetto.

  2. Impostare la Direzione filtro predefinita sulla direzione Singola oppure su Filtra in entrambe le direzioni.

In alternativa, è possibile modificare il valore predefinito nel modello.

  1. In Esplora soluzioni selezionare Model.bim>Properties ,

  2. Impostare la Direzione filtro predefinita sulla direzione Singola oppure su Filtra in entrambe le direzioni.

Tieni presente che

Comprendere quando e come usare un filtro incrociato bidirezionale può essere una questione di prove empiriche per verificarne il funzionamento nel proprio scenario. A volte, si noterà che i comportamenti predefiniti non sono sufficienti e sarà necessario tornare ai calcoli DAX per ottenere il processo. Nella sezione Vedere anche i collegamenti a risorse aggiuntive su questo argomento sono disponibili diversi collegamenti.

In termini pratici, i filtri incrociati possono consentire forme di esplorazione dei dati in genere consentite solo da un costrutto molti-a-molti. Detto questo, è importante riconoscere che il filtro incrociato bidirezionale non è un costrutto molti-a-molti. In questa versione, non è supportata un'effettiva configurazione di tabella molti-a-molti nella finestra di progettazione per i modelli tabulari.

Vedi anche

Creare e gestire le relazioni in Power BI Desktop
Esempio pratico di come gestire semplici relazioni molti-a-manay nei modelli power pivot e tabulari
Risoluzione delle relazioni molti-a-molti sfruttando i filtri incrociati DAX tra tabelle
La rivoluzione molti-a-molti (blog di SQLBI)