Relazioni tra dimensioni

Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/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, Microsoft SQL Server SQL Server Analysis Services tenta di determinare l'utilizzo della dimensione esaminando le relazioni tra le tabelle delle dimensioni e le tabelle dei fatti nella visualizzazione origine dati del cubo e esaminando le relazioni tra attributi nelle dimensioni. SQL Server Analysis Services imposta automaticamente le impostazioni di utilizzo delle dimensioni per le relazioni che possono essere rilevate.

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 si basa su una relazione chiave esterna chiave primaria 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à di relazione regolare.

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

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 di dimensioni denominate Customer and Geography, in uno schema snowflake.

Schema logico, schema della relazione di dimensione a cui si fa riferimento Schema logico,

È 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, diagramma della relazione di dimensione a cui si fa riferimento Diagramma logico della relazione di

Per altre informazioni sulle relazioni a cui si fa riferimento, vedere Definire una relazione di riferimento e le proprietà di relazione 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, il diagramma seguente mostra la tabella dei fatti FactResellerSales dal database di esempio Adventure Works DW Multidimensional 2012.

Le colonne in realtà possono supportare le dimensioni Colonne

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 potrebbero sicuramente essere interessati a visualizzare informazioni aggregate, ad esempio il costo totale del prodotto, per tutti gli ordini inviati con un singolo numero di rilevamento. 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).

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 SQL Server Analysis Services elimina eventuali cache e elabora in modo incrementale il gruppo di misure.

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

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 Server SQL Server Analysis Services consente 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 Dimension Designer.

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

Vedere anche

Dimensioni (Analysis Services - Dati multidimensionali)