Creare relazioni
Si applica a: SQL Server 2019 e versioni successive di Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
In questa lezione si verificheranno le relazioni create automaticamente quando sono stati importati i dati e si aggiungeranno nuove relazioni tra tabelle diverse. Una relazione è una connessione tra due tabelle che stabilisce in che modo devono essere correlati i dati nelle due tabelle. Ad esempio, la tabella DimProduct e la tabella DimProductSubcategory hanno una relazione in base al fatto che ogni prodotto nella tabella DimProduct appartiene a una sottocategoria nella tabella DimProductSubcategory. Per altre informazioni, vedere Relationships (Relazioni).
Importante
Al momento, il database predefinito di esempio AdventureWorksDW installato con Azure Synapse Analytics (SQL Data Warehouse) non ha relazioni tra le tabelle descritte in questa esercitazione. Sarà necessario creare manualmente tutte le relazioni. La creazione manuale delle relazioni viene descritta più avanti in questa lezione.
Tempo previsto per il completamento della lezione: 10 minuti
Prerequisiti
Questo articolo fa parte di un'esercitazione sulla creazione di modelli tabulari, con lezioni che è consigliabile completare nell'ordine indicato. Prima di eseguire le attività in questa lezione, è necessario avere completato la lezione precedente: Lezione 3: Contrassegnare come tabella data.
Esaminare le relazioni esistenti e aggiungere nuove relazioni
Quando sono stati importati dati usando Recupera dati, sono state ottenute sette tabelle dal database AdventureWorksDW. In genere, quando si importano dati da un'origine relazionale, le relazioni esistenti vengono importate automaticamente insieme ai dati. Per consentire alla funzionalità Recupera dati di creare automaticamente relazioni nel modello di dati, devono esistere relazioni tra tabelle nell'origine dati.
Prima di procedere alla creazione del modello, verificare che tali relazioni tra tabelle siano state create in modo appropriato. Per questa esercitazione vengono aggiunte anche tre nuove relazioni.
Per esaminare le relazioni esistenti
Fare clic sul menu >ModelloVisualizzazione>diagramma modello.
La finestra di progettazione dei modelli viene ora aperta in Vista diagramma, ovvero un formato grafico in cui sono rappresentate tutte le tabelle importate, con linee tra di esse. Le linee tra le tabelle indicano le relazioni create automaticamente quando sono stati importati i dati.
Nota
Se non è visibile alcuna relazione tra le tabelle, probabilmente significa che non ci sono relazioni tra tali tabelle nell'origine dati.
Includere il maggior numero di tabelle possibile usando i controlli mini mappa nell'angolo inferiore destro della finestra di progettazione dei modelli. È anche possibile fare clic sulle tabelle e trascinarle in posizioni diverse, avvicinandole o disponendole in un ordine particolare. Lo spostamento delle tabelle non influisce sulle relazioni tra le tabelle. Per visualizzare tutte le colonne in una determinata tabella, fare clic e trascinare un bordo della tabella per ingrandirla o ridurla.
Fare clic sulla linea continua tra la tabella DimCustomer e la tabella DimGeography. La linea continua tra queste due tabelle indica che questa relazione è attiva, vale a dire usata per impostazione predefinita durante il calcolo delle formule DAX.
Si noti che la colonna GeographyKey nella tabella DimCustomer e la colonna GeographyKey nella tabella DimGeography sono ora entrambe visualizzate all'interno di un riquadro. Queste colonne vengono usate nella relazione. Le proprietà della relazione vengono ora visualizzate anche nella finestra Proprietà .
Suggerimento
È anche possibile utilizzare la finestra di dialogo Gestisci relazioni per visualizzare le relazioni tra tutte le tabelle in un formato di tabella. In Esplora modelli tabulari fare clic con il pulsante destro del mouse su Relazioni>Gestisci relazioni.
Verificare che siano state create le relazioni seguenti al momento dell'importazione di ogni tabella dal database AdventureWorksDW:
Attivo Tabella Tabella di ricerca correlata Sì DimCustomer [GeographyKey] DimGeography [GeographyKey] Sì DimProduct [ProductSubcategoryKey] DimProductSubcategory [ProductSubcategoryKey] Sì DimProductSubcategory [ProductCategoryKey] DimProductCategory [ProductCategoryKey] Sì FactInternetSales [CustomerKey] DimCustomer [CustomerKey] Sì FactInternetSales [ProductKey] DimProduct [ProductKey] Se mancano alcune relazioni, verificare che il modello includa le tabelle seguenti: DimCustomer, DimDate, DimGeography, DimProduct, DimProductCategory, DimProductSubcategory e FactInternetSales. Se le tabelle della stessa connessione all'origine dati vengono importate in momenti separati, tutte le relazioni tra tali tabelle non vengono create e devono essere create manualmente. Se non è visualizzata alcuna relazione, significa che non ci sono relazioni nell'origine dati. È possibile crearle manualmente nel modello di dati.
Dettagli del diagramma e delle relazioni
Nella vista diagramma è possibile notare la presenza di una freccia, un asterisco e un numero sulle linee che mostrano la relazione tra le tabelle.
La freccia indica la direzione del filtro, L'asterisco mostra che questa tabella è il lato molti della cardinalità della relazione e quella mostra che questa tabella è l'unico lato della relazione. Se è necessario modificare una relazione, ad esempio cambiare la direzione del filtro o la cardinalità della relazione, fare doppio clic sulla linea della relazione per aprire la finestra di dialogo Modifica relazione.
Queste funzionalità sono pensate per la modellazione avanzata dei dati ed esulano dagli scopi di questa esercitazione. Per altre informazioni, vedere Filtri incrociati bidirezionali per i modelli tabulari in Analysis Services.
In alcuni casi, potrebbe essere necessario creare relazioni aggiuntive tra le tabelle nel modello per supportare una determinata logica di business. Per questa esercitazione, è necessario creare tre relazioni aggiuntive tra la tabella FactInternetSales e la tabella DimDate.
Per aggiungere nuove relazioni tra tabelle
Nella finestra di progettazione dei modelli, nella tabella FactInternetSales fare clic sulla colonna OrderDate e tenere premuto, trascinare il cursore sulla colonna Date nella tabella DimDate e quindi rilasciare.
Verrà visualizzata una linea continua che indica che è stata creata una relazione attiva tra la colonna OrderDate nella tabella FactInternetSales e la colonna Date nella tabella Date.
Nota
Quando si creano nuove relazioni, la cardinalità e la direzione di filtro tra la tabella primaria e la tabella di ricerca correlata vengono selezionate automaticamente.
Nella tabella FactInternetSales fare clic sulla colonna DueDate e tenere premuto, trascinare il cursore fino alla colonna Date nella tabella DimDate e quindi rilasciare.
Verrà visualizzata una linea punteggiata che indica che è stata creata una relazione inattiva tra la colonna DueDate nella tabella FactInternetSales e la colonna Date nella tabella DimDate. È possibile creare più relazioni tra le tabelle, ma può essere attiva una sola relazione alla volta. Le relazioni inattive possono essere rese attive eseguire aggregazioni speciali in espressioni DAX personalizzate.
Creare infine un'ultima relazione. Nella tabella FactInternetSales fare clic sulla colonna ShipDate e tenere premuto, trascinare il cursore fino alla colonna Date nella tabella DimDate e quindi rilasciare.