Condividi tramite


Informazioni sulle relazioni molti-a-molti in Power BI Desktop

Questo articolo si applica a Power BI Desktop, non al servizio Power BI. Se si usa il servizio Power BI, le relazioni molti-a-molti non sono attualmente supportate nello stesso modo.

Le relazioni molti-a-molti si verificano quando un valore in una tabella può essere correlato a più valori in un altro e viceversa. Questo è comune in scenari come i clienti con più account o studenti iscritti a più corsi.

Perché le relazioni molti-a-molti sono importanti

Nelle relazioni uno-a-molti tradizionali, ogni valore in una tabella corrisponde a un solo valore in un altro. Ma i dati reali spesso interrompono questa regola. Power BI Desktop supporta le relazioni molti a molti per aiutarti a modellare con precisione questi scenari.

Come modellare le relazioni molti-a-molti

Per creare una relazione molti-a-molti, in genere è necessaria una tabella di collegamento. Questa tabella connette le due tabelle principali elencando tutte le combinazioni valide delle relative chiavi.

Esempio: Clienti e conti

Si supponga di avere due tabelle:

  • Tabella customer: contiene valori univoci CustomerID
  • Tabella account: contiene valori univoci AccountID

La tabella Bridging (AccountCustomer) contiene quindi righe simili alle seguenti:

  • CustomerID = 91, AccountID = 1
  • CustomerID = 92, AccountID = 1
  • CustomerID = 92, AccountID = 2

Questa tabella di bridging consente a Power BI di comprendere quali clienti appartengono agli account, anche quando si verificano sovrapposizioni.

Creare le relazioni

Dopo aver configurato le tabelle, inclusa la tabella di bridging, è necessario definire le relazioni tra di esse in modo che Power BI possa comprendere come si connettono i dati. Questo passaggio è essenziale per abilitare filtri e analisi accurati nel modello. Questa operazione viene eseguita nella visualizzazione Gestisci relazioni di Power BI Desktop, in cui è possibile collegare i campi e controllare il flusso dei filtri tra le tabelle.

  1. Creare relazioni uno-a-molti:
    • Da CustomerID nella tabella Customer a CustomerID nella tabella AccountCustomer.
    • Da AccountID nella tabella Account a AccountID nella tabella AccountCustomer.
  2. Nascondere la tabella di interconnessione dalla vista report, se necessario. Viene usato per la modellazione, non per la creazione di report.

Usare il modello

Dopo aver definito le relazioni, Power BI li usa per connettersi e filtrare automaticamente i dati tra le tabelle. In questo modo è possibile creare oggetti visivi che riflettono le interazioni reali, ad esempio il modo in cui i clienti sono collegati agli account o il modo in cui le transazioni sono correlate a entrambe.

Il modello gestisce la logica in background, quindi non è necessario scrivere tabelle DAX complesse o unire manualmente tabelle. È invece possibile concentrarsi sulla creazione di report che rispondono in modo dinamico ai filtri e agli slicer.

Una volta impostate le relazioni:

  • È possibile filtrare gli account in base al cliente e ai clienti in base all'account.
  • È possibile aggiungere una tabella dei fatti, ad esempio, Transactions che si connette a AccountID e analizza l'attività tra clienti, account e tempo.

Suggerimenti per principianti

  • Usare sempre ID univoci nelle tabelle.
  • Usare le tabelle di collegamento per risolvere le relazioni molti-a-molti.
  • Evitare relazioni circolari: Power BI avvisa se si verificano.
  • Questa funzionalità è disponibile solo in Power BI Desktop.