Relazioni in un modello di dati

Completato

Nei report di Excel tradizionali gli utenti in genere uniscono campi diversi tratti da più tabelle in una tabella primaria usando la funzione VLOOKUP(), HLOOKUP() o INDEX/MATCH() Inoltre, integrano queste ricerche con calcoli condizionali, ad esempio SUMIFS(), AVERAGEIFS(), SUBTOTAL() e altri ancora.

Un modello di dati elimina la necessità di più ricerche tramite l'implementazione di relazioni tra tabelle. Le relazioni consentono agli analisti moderni di eseguire analisi rapide su più tabelle e su volumi di dati molto più grandi.

Impostazioni delle relazioni

Prima di stabilire connessioni o importare dati, verificare le impostazioni correnti del report. Questa verifica consente potenzialmente di risparmiare tempo durante l'impostazione o di evitare ulteriori operazioni per rimuovere relazioni non accurate rilevate automaticamente.

Passare a Opzioni file > e opzioni > impostazioni > [File corrente] Relazioni di caricamento > dati.

Passare a File; Opzioni e impostazioni; Opzioni; Caricamento dati file corrente; Relazioni.

Se la casella di controllo Rileva automaticamente nuove relazioni è selezionata, Power BI tenterà di identificare e creare relazioni tra tabelle dopo il caricamento delle tabelle nel modello da Power Query. Questo processo si basa sulle analogie tra i nomi di tabella e colonna, ma è imperfetto.

Introduzione alle relazioni

È possibile visualizzare una relazione usando una linea che collega le due tabelle. Quando si passa il puntatore del mouse sulla linea, verranno descritti i due campi corrispondenti su cui si basa la relazione. Nell'esempio seguente viene illustrato che il campo CustID della tabella Quote è allineato al campo ID della tabella Customers.

Screenshot di un esempio che mostra il campo CUSTID della tabella Quotes.

Gli indicatori lungo la linea consentono a un visualizzatore di comprendere la cardinalità, la direzione del filtro incrociato e se la relazione è attiva (linea continua) o inattiva (linea tratteggiata). Questo concetto verrà illustrato in modo più dettagliato più avanti.

La creazione di queste relazioni è semplice e rapida e può essere realizzata con molti metodi diversi caratterizzati da livelli diversi di dettaglio o semplicità.

Il modo più semplice per creare una relazione consiste nel passare alla visualizzazione Modello di dati o Diagramma e quindi trascinare un campo di una tabella in un campo di un'altra tabella. Il modello di dati interpreterà la relazione tra i due campi e, se è ragionevolmente evidente, la relazione verrà visualizzata.

Un altro approccio più dettagliato alla creazione di relazioni consiste nell'usare la finestra Gestisci relazioni. È possibile accedere a questa finestra in Power BI dalla scheda Home mentre ci si trova nella visualizzazione Modello o in Excel dalla scheda Dati tramite il pulsante Relazioni.

La visualizzazione iniziale quando si seleziona uno di questi pulsanti è costituita da un riepilogo di tutte le relazioni nel modello di dati.

Screenshot della finestra Gestisci relazioni.

Nota

La finestra Relazioni in Excel contiene le stesse informazioni, oltre che le stesse opzioni, ad esempio la funzionalità Rileva automaticamente.

Nella finestra Gestisci relazioni è possibile scegliere di modificare una relazione esistente con il pulsante Modifica o di creare una nuova relazione con il pulsante Nuovo. Entrambe le selezioni consentono di visualizzare la stessa procedura guidata per la definizione della relazione.

Per definire la relazione in questo modo, selezionare le due tabelle negli elenchi a discesa e quindi evidenziare le colonne e/o i campi corrispondenti da collegare nella relazione. La procedura guidata determina automaticamente la cardinalità e la direzione del filtro incrociato della relazione. Consente inoltre di rendere attiva la relazione.

Screenshot della finestra Modifica relazione.

Nota

Per definire una relazione, è possibile usare più colonne tenendo premuto il tasto CTRL e selezionando i campi. Accanto a ogni icona verrà visualizzato un valore numerico che mostra come si allineano tra loro.

La cardinalità e la direzione del filtro incrociato sono impostazioni complesse con ramificazioni nel modello di dati in termini di prestazioni, funzionalità e facilità d'uso.

Cardinalità

L'impostazione Cardinalità riflette la direzionalità dei dati e la correlazione tra le tabelle. Questa relazione può essere uno-a-molti (da 1 a *), uno-a-uno (da 1 a 1) o molti-a-molti (da* a *). Queste definizioni indicano il numero di valori di un tipo disponibili in ogni tabella.

Uno-a-molti

In una relazione uno-a-molti un valore univoco in una tabella sarà presente molte volte nell'altra tabella. Questa relazione viene usata comunemente all'interno dei modelli di dati. Un esempio può essere una tabella di prodotti con più proprietà correlate a ogni prodotto associato a una tabella di vendita contenente più record per ogni prodotto.

Uno-a-uno

In una relazione uno-a-uno un valore avrà una voce univoca in entrambe le tabelle. Le relazioni uno-a-uno non sono comuni e un autore unisce in genere le relazioni di questo tipo in una singola tabella da usare in un modello di dati.

Molti-a-molti

In una relazione molti-a-molti un valore univoco tratto dalla colonna corrispondente avrà più voci in entrambe le tabelle. Le relazioni molti-a-molti richiedono un'attenta valutazione e tecniche avanzate per una gestione appropriata. Quando si inizia a usare Power BI, è consigliabile evitare le relazioni molti-a-molti perché possono generare occasionalmente risultati indesiderati relativi alle misure.

Direzione filtro incrociato

L'impostazione Filtro incrociato indica al modello di dati la modalità di propagazione dei filtri tra due tabelle. Nella visualizzazione Modello la freccia o le frecce al centro della linea rappresentano la direzione del filtro incrociato.

Attive e inattive

Periodicamente può essere opportuno configurare più relazioni tra le tabelle, ad esempio tra i campi Data ordine e Data spedizione di una tabella di vendita e il campo Data di una tabella di calendario. Tra due tabelle è consentita una sola relazione attiva alla volta, ma è possibile configurare relazioni inattive da usare nelle misure DAX (Data Analysis Expressions) più avanzate.