Lezione 4: Creare relazioni

Si applica a: SQL Server 2016 e versioni successive Analysis Services Azure Analysis Services Power BI Premium

In questa lezione verranno verificate le relazioni create automaticamente al momento dell'importazione dei dati e verranno aggiunte 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 dispongono di una relazione basata sul fatto che ogni prodotto appartiene a una sottocategoria. Per altre informazioni, vedere Relationships (Relazioni).

Tempo previsto per il completamento della lezione: 10 minuti

Prerequisiti

Questo argomento 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 i dati sono stati importati tramite l'Importazione guidata tabella, sono disponibili sette tabelle dal database AdventureWorksDW. In genere, quando si importano dati da un'origine relazionale, le relazioni esistenti vengono importate automaticamente insieme ai dati. Tuttavia, prima di procedere alla creazione del modello è necessario verificare che le relazioni create tra le tabelle siano appropriate. Per questa esercitazione, verranno inoltre aggiunte tre nuove relazioni.

Per esaminare le relazioni esistenti

  1. Fare clic sul menu Modello > Vista modelli > Vista diagramma.

    La finestra Progettazione modelli viene ora visualizzata nella vista diagramma, un formato grafico in cui sono visualizzate 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.

    Screenshot della visualizzazione diagramma del file Model.bim.

    Usare i controlli della mini mappa nell'angolo inferiore destro di Progettazione modelli per regolare la vista in modo da includere il maggior numero di tabelle possibile. È anche possibile fare clic e trascinare le tabelle in posizioni diverse, avvicinando le tabelle o inserendole in un ordine particolare. Lo spostamento delle tabelle non influisce sulle relazioni già presenti tra le tabelle. Per visualizzare tutte le colonne di una determinata tabella, fare clic e trascinare il bordo di una tabella per espanderlo o renderlo più piccolo.

  2. 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, ovvero viene utilizzata per impostazione predefinita nel 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 sono le colonne usate nella relazione. Le proprietà della relazione vengono ora visualizzate anche nella finestra Proprietà.

    Suggerimento

    Oltre a usare la finestra di progettazione dei modelli nella vista diagramma, è anche possibile usare la finestra di dialogo Gestisci relazioni per mostrare le relazioni tra tutte le tabelle in formato tabella. Fare clic con il pulsante destro del mouse su Relazioni in Esplora modelli tabulari, quindi scegliere Gestisci relazioni. Nella finestra di dialogo Gestisci relazioni vengono visualizzate le relazioni create automaticamente durante l'importazione dei dati.

  3. Usare la finestra di progettazione dei modelli in vista diagramma oppure la finestra di dialogo Gestisci relazioni per verificare che siano state create le relazioni seguenti al momento dell'importazione di ogni tabella dal database AdventureWorksDW:

    Attivo Tabella Tabella di ricerca correlata
    DimCustomer [GeographyKey] DimGeography [GeographyKey]
    DimProduct [ProductSubcategoryKey] DimProductSubcategory [ProductSubcategoryKey]
    DimProductSubcategory [ProductCategoryKey] DimProductCategory [ProductCategoryKey]
    FactInternetSales [CustomerKey] DimCustomer [CustomerKey]
    FactInternetSales [ProductKey] DimProduct [ProductKey]

    Se mancano relazioni tra quelle nella tabella precedente, verificare che il modello includa le tabelle seguenti: DimCustomer, DimDate, DimGeography, DimProduct, DimProductCategory, DimProductSubcategory e FactInternetSales. Se si importano tabelle dalla stessa connessione origine dati in momenti distinti, tutte le relazioni tra tali tabelle non verranno create e devono essere create manualmente.

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.

Screenshot della visualizzazione diagramma con le frecce, gli asterischi e i numeri evidenziati.

La freccia mostra la direzione del filtro, l'asterisco indica che la tabella rappresenta il lato "molti" nella cardinalità della relazione e il numero 1 indica che la tabella corrisponde al lato "uno" della relazione. Se è necessario modificare una relazione; Ad esempio, modificare la direzione o la cardinalità del filtro della relazione, fare doppio clic sulla linea della relazione in Vista diagramma per aprire la finestra di dialogo Modifica relazione.

Screenshot della finestra di dialogo Modifica relazione con le opzioni DimCustomer e GeographyKey evidenziate sia per la tabella 1 che per la tabella 2.

È molto probabile che non sarà mai necessario modificare una 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 SQL Server 2016 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

  1. 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.

    Viene visualizzata una linea continua che mostra che è stata creata una relazione attiva tra la colonna OrderDate nella tabella Internet Sales e la colonna Date nella tabella Date.

    Screenshot di Progettazione modelli con OrderDate e Date richiamati che mostrano la linea continua tra le tabelle.

    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.

  2. Nella tabella FactInternetSales fare clic e tenere premuto il pulsante del mouse sulla colonna DueDate, trascinare il cursore nella colonna Date della tabella DimDate e quindi rilasciare.

    Viene visualizzata una linea punteggiata che mostra 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.

  3. Infine, creare un'altra relazione. nella tabella FactInternetSales fare clic e tenere premuto il pulsante del mouse sulla colonna ShipDate, trascinare il cursore nella colonna Date della tabella DimDate e quindi rilasciare.

    Screenshot di Progettazione modelli con ShipDate e Date richiamati.

Passaggi successivi

Passare alla lezione successiva: Lezione 5: Creare colonne calcolate.