Relazioni tra dimensioni

Si applica a: SQL Server Analysis Services Azure Analysis Services Power BI Premium

L'utilizzo delle dimensioni definisce le relazioni tra le dimensioni e i gruppi di misure di un cubo. Una dimensione di un cubo è un'istanza di una dimensione del database utilizzata in un cubo specifico. Spesso un cubo contiene dimensioni che non sono correlate direttamente a un gruppo di misure, ma che possono essere correlate indirettamente al gruppo di misure tramite un'altra dimensione o un altro gruppo di misure. Quando si aggiunge una dimensione del database o un gruppo di misure a un cubo, tenta di determinare l'utilizzo delle dimensioni esaminando le relazioni tra le tabelle delle dimensioni e le tabelle dei fatti nella vista origine dati del cubo e esaminando le relazioni tra gli attributi nelle Microsoft SQL Server Analysis Services dimensioni. Analysis Services consente di configurare automaticamente le impostazioni delle dimensioni per le relazioni che è possibile rilevare.

Una relazione tra una dimensione e un gruppo di misure è costituita dalle tabelle delle dimensioni e dei fatti che partecipano alla relazione e da un attributo di granularità che specifica la granularità della dimensione nel particolare gruppo di misure.

Relazioni di tipo Regolare

Una relazione di tipo Regolare tra una dimensione del cubo e un gruppo di misure si verifica quando la colonna chiave della dimensione è unita in join direttamente alla tabella dei fatti. Questa relazione diretta è basata su una relazione chiave primaria-chiave esterna nel database relazionale sottostante, ma può anche essere basata su una relazione logica definita nella vista origine dati. Una relazione di tipo Regolare rappresenta la relazione tra le tabelle delle dimensioni e una tabella dei fatti in una progettazione con schema star tradizionale. Per altre informazioni sulle relazioni regolari, vedere Definire una relazione regolare e Proprietà delle relazioni regolari.

Relazioni di tipo Riferimento

Una relazione di tipo Riferimento tra una dimensione del cubo e un gruppo di misure si verifica quando la colonna chiave della dimensione è unita in join direttamente alla tabella dei fatti tramite una chiave in un'altra tabella della dimensione, come illustrato nella figura seguente.

Diagramma logico

Una relazione di tipo Riferimento rappresenta la relazione tra le tabelle delle dimensioni e una tabella dei fatti in una progettazione con schema snowflake. Quando le tabelle delle dimensioni sono connesse in uno schema snowflake, è possibile definire una singola dimensione utilizzando colonne di più tabelle oppure definire dimensioni diverse in base a tabelle delle dimensioni separate e quindi definire un collegamento tra di esse utilizzando l'impostazione della relazione di tipo Riferimento. La figura seguente mostra una tabella dei fatti denominata InternetSales e due tabelle delle dimensioni denominate Customer e Geography in uno schema snowflake.

Schema logico, relazione di tipo Riferimento per la dimensione

È possibile creare una dimensione con la tabella Customer come tabella principale della dimensione e la tabella Geography inclusa come tabella correlata. Viene quindi definita una relazione di tipo Regolare tra la dimensione e il gruppo di misure InternetSales.

In alternativa, è possibile creare due dimensioni correlate al gruppo di misure InternetSales: una dimensione basata sulla tabella Customer e una dimensione basata sulla tabella Geography. È quindi possibile correlare la dimensione Geography al gruppo di misure InternetSales utilizzando una relazione di tipo Riferimento tramite la dimensione Customer. In questo caso, quando i fatti del gruppo di misure InternetSales vengono dimensionati in base alla dimensione Geography, essi sono dimensionati in base a Customer e Geography. Se il cubo contenesse un secondo gruppo di misure denominato Reseller Sales, non sarebbe possibile dimensionare i fatti in tale gruppo di misure in base a Geography in quanto non esisterebbe alcuna relazione tra Reseller Sales e Geography.

Come illustrato nella figura seguente, non è previsto alcun limite per il numero di dimensioni di riferimento che è possibile concatenare.

Diagramma logico, relazione di tipo Riferimento per la dimensione

Per altre informazioni sulle relazioni a cui si fa riferimento, vedere Definire una relazione a cui si fa riferimento e Proprietà delle relazioni a cui si fa riferimento.

Relazioni di tipo Fatti

Le dimensioni dei fatti, spesso denominate dimensioni degenerate, sono dimensioni standard create da colonne attributo di tabelle dei fatti anziché da colonne attributo di tabelle delle dimensioni. A volte, i dati dimensionali utili vengono archiviati in una tabella dei fatti per ridurre la duplicazione. Ad esempio, nel diagramma seguente viene visualizzata la tabella dei fatti FactResellerSales dal Adventure Works DW Multidimensional 2012 database di esempio.

Le colonne nella tabella dei fatti possono supportare le dimensioni

Nella tabella sono contenute informazioni sugli attributi non solo per ogni riga di un ordine emesso da un rivenditore, ma anche per l'ordine stesso. Gli attributi cerchiati nel diagramma precedente identificano le informazioni nella tabella FactResellerSales che possono essere usate come attributi in una dimensione. In questo caso, due ulteriori informazioni, ovvero il numero di registrazione dello spedizioniere e il numero dell'ordine di acquisto emesso dal rivenditore, vengono rappresentate dalle colonne attributo CarrierTrackingNumber e CustomerPONumber. Queste informazioni sono interessanti: ad esempio, gli utenti sarebbero sicuramente interessati a visualizzare informazioni aggregate, ad esempio il costo totale del prodotto, per tutti gli ordini spediti con un singolo numero di tracciabilità. Senza una dimensione, tuttavia, non è possibile organizzare o aggregare i dati per questi due attributi.

In teoria, sarebbe possibile creare una tabella della dimensione che utilizzi le stesse informazioni chiave della tabella FactResellerSales e spostare le altre due colonne attributo, CarrierTrackingNumber e CustomerPONumber, in questa tabella. In questo modo, tuttavia, si duplicherebbe una parte significativa dei dati e si aggiungerebbe complessità superflua al data warehouse per rappresentare solo due attributi come dimensione distinta.

Nota

Le dimensioni dei fatti vengono spesso utilizzate per supportare azioni drill-through. Per altre informazioni sulle azioni, vedere Azioni (Analysis Services - Dati multidimensionali&41#;.

Nota

Le dimensioni dei fatti devono essere aggiornate in modo incrementale dopo ogni aggiornamento del gruppo di misure cui fa riferimento la relazione di tipo Fatti. Se la dimensione dei fatti è una dimensione ROLAP, il motore di elaborazione di Analysis Services elimina qualsiasi cache ed elabora in modo incrementale il gruppo di misure.

Per altre informazioni sulle relazioni tra fatti, vedere Definire una relazione tra fatti e le relative proprietà.

Relazioni molti-a-molti

Nella maggior parte delle dimensioni, ogni fatto si unisce in join a un solo membro della dimensione e un singolo membro della dimensione può essere associato a più fatti. Nella terminologia dei database relazionali, questa viene definita una relazione uno-a-molti. Spesso, tuttavia, può essere utile unire in join un unico fatto a più membri della dimensione. Un cliente di una banca può ad esempio avere più conti (conti correnti, conti di risparmio, carta di credito e conti titoli) e ogni conto può avere più proprietari. La dimensione relativa ai clienti creata da una relazione di questo tipo includerebbe più membri correlati a un'unica transazione relativa al conto corrente.

Schema logico/relazione di dimensione molti-a-molti

SQL ServerAnalysis Servicesconsente di definire una relazione molti-a-molti tra una dimensione e una tabella dei fatti.

Nota

Per supportare una relazione tra dimensioni molti-a-molti, la vista origine dati deve includere una relazione di chiave esterna tra tutte le tabelle coinvolte, come illustrato nella figura precedente. In caso contrario, non sarà possibile selezionare il gruppo di misure intermedio corretto quando si stabilisce la relazione nella scheda Utilizzo dimensioni di Progettazione dimensioni.

Per altre informazioni sulle relazioni molti-a-molti, vedere Definire una relazione molti-a-molti e Proprietà delle relazioni molti-a-molti.

Vedere anche

Dimensioni (Analysis Services - Dati multidimensionali)