Condividi tramite


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

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

    Screenshot della visualizzazione diagramma del file Model.bim.

    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.

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

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

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

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.

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

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

  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.

    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.

    Screenshot di Progettazione modelli con OrderDate e Date evidenziati 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 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.

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

    Screenshot della finestra di progettazione modelli con ShipDate e Date evidenziati.

Passaggio successivo

Lezione 5: Creare colonne calcolate