Filtri incrociati bidirezionali nei modelli tabulari
Si applica a:
SQL Server Analysis Services Azure Analysis Services
Power BI Premium
I filtri incrociati bidirezionali nei modelli tabulari eliminano la necessità di soluzioni DAX appositamente predisposte per la propagazione del contesto di filtro tra le relazioni tra tabelle.
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.

Esistono due tipi di filtri incrociati: filtri unidireibili e bidireibili. Il filtro unidirezionale è la direzione tradizionale del filtro molti-a-uno tra le tabelle dei fatti e le tabelle delle dimensioni in tale relazione. Il filtro bidirezionale è un filtro incrociato che abilita il contesto di filtro di una relazione in modo che sia usato 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 rappresentare una facile correzione dei problemi di progettazione query molti-a-molti che gli sviluppatori di modelli tabulari e Power Pivot hanno dovuto risolvere in passato. Se è stata usata la soluzione alternativa DAX per le relazioni molti-a-molti nei modelli tabulari o Power Pivot, è possibile provare ad applicare un filtro bidirede per verificare se produce i 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, prevedere di usare una combinazione di filtri unidirezionali e bidirezionali.
Eseguire test incrementali per verificare l'impatto di ogni modifica del filtro sul modello. La funzionalità Analizza in Excel in Visual Studio funziona correttamente 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 un valore predefinito che determina se i filtri incrociati bidirezionali vengono tentati automaticamente. Se si abilitano i filtri bidirezionali per impostazione predefinita, il filtro bidirezionale verrà abilitato solo se il modello articola chiaramente un percorso di query tramite una catena di relazioni tra tabelle.
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.
In Visual Studio selezionare Strumenti Opzioni Analysis Services > > Finestre di progettazione tabulari > Nuove impostazioni del progetto.
Impostare la Direzione filtro predefinita sulla direzione Singola oppure su Filtra in entrambe le direzioni.
In alternativa, è possibile modificare il valore predefinito nel modello.
In Esplora soluzioni selezionare Proprietà model.bim > ,
Impostare la Direzione filtro predefinita sulla direzione Singola oppure su Filtra in entrambe le direzioni.
Tenere 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 eseguire il fall back sui calcoli DAX per eseguire il processo. Nella sezione Vedere anche sono disponibili diversi collegamenti ad altre risorse in questo argomento.
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 relazioni in Power BI Desktop
Esempio pratico di gestione di semplici relazioni molti-a-manay in modelli Power Pivot e tabulari
Risoluzione di relazioni molti-a-molti sfruttando il filtro tra tabelle DAX
La rivoluzione molti-a-molti (blog di SQLBI)