Definizione di una relazione di tipo Fatti
Talvolta può essere necessario dimensionare le misure in base ai dati contenuti nella tabella dei fatti o eseguire query per trovare informazioni correlate specifiche aggiuntive, come ad esempio i numeri delle fatture o degli ordini di acquisto collegati a operazioni di vendita specifiche. Quando viene definita una dimensione basata su un tale elemento della tabella dei fatti, la dimensione viene denominata una dimensione dei fatti. Le dimensioni dei fatti sono inoltre note come dimensioni degenerate. Le dimensioni dei fatti sono utili per raggruppare righe di tabelle dei fatti collegate, come ad esempio tutte le righe collegate a un particolare numero di fattura. Sebbene sia possibile inserire queste informazioni in una tabella della dimensione separata del database relazionale, la creazione di una tale tabella non si rivela vantaggiosa in quanto la tabella della dimensione aumenterebbe allo stesso modo della tabella dei fatti determinando un'inutile duplicazione dei dati nonché un'inutile complessità.
In Microsoft SQL Server 2005 Analysis Services (SSAS) è possibile determinare se duplicare i dati delle dimensioni dei fatti in una struttura della dimensione MOLAP per aumentare le prestazioni delle query o se definire la dimensione dei fatti come una dimensione ROLAP per risparmiare spazio di archiviazione a discapito delle prestazioni delle query. Quando si archivia una dimensione con modalità MOLAP, tutti i membri della dimensione vengono archiviati nell'istanza di Analysis Services in una struttura MOLAP a compressione elevata, oltre a essere archiviati nelle partizioni del gruppo di misure. Quando una dimensione viene archiviata tramite la modalità di archiviazione ROLAP, solo la definizione della dimensione viene archiviata nella struttura MOLAP; le query sui membri della dimensione vengono eseguite dalla tabella relazionale dei fatti sottostante durante la fase di esecuzione delle query. È possibile decidere la modalità di archiviazione appropriata in base alla frequenza con la quale vengono eseguite query sulla dimensione dei fatti, al numero delle righe restituite da una query tipica, alle prestazioni delle query e ai costi di elaborazione. Se una dimensione viene definita come ROLAP non è necessario che anche tutti i cubi che utilizzano la dimensione siano archiviati tramite la modalità di archiviazione ROLAP. Ciò è diverso da SQL Server 2000 Analysis Services.
Quando si definisce una dimensione dei fatti, è possibile definire la relazione tra la dimensione dei fatti e il gruppo di misure come una relazione di tipo Fatti. Alle relazioni di tipo Fatti si applicano i vincoli seguenti:
- L'attributo di granularità deve essere la colonna chiave della dimensione che crea una relazione uno-a-uno tra la dimensione e i fatti nella tabella dei fatti.
- Una dimensione può avere una relazione di tipo Fatti con un solo gruppo di misure.
[!NOTA] È inoltre necessario eseguire aggiornamenti incrementali delle dimensioni dei fatti dopo ogni aggiornamento del gruppo di misure a cui fa riferimento la relazione di tipo Fatti.
Per ulteriori informazioni, vedere Relazioni tra dimensioni e Definizione di una relazione di tipo Fatti e delle relative proprietà.
Nelle attività di questo argomento verrà aggiunta una nuova dimensione del cubo basata sulla colonna CustomerPONumber della tabella dei fatti FactInternetSales. Verrà quindi definita come una relazione di tipo Fatti la relazione tra questa nuova dimensione del cubo e il gruppo di misure Internet Sales.
Definizione della dimensione dei fatti Internet Sales Orders
Per definire la dimensione dei fatti Internet Sales Orders
In Progettazione cubi per il cubo Analysis Services Tutorial fare clic sulla scheda Struttura cubo.
Fare clic con il pulsante destro del mouse su un punto qualsiasi all'interno del riquadro Dimensioni e quindi scegliere Aggiungi dimensione al cubo.
Nella finestra di dialogo Aggiungi dimensione al cubo fare clic su Nuova dimensione.
Verrà avviata Creazione guidata dimensione.
Nella pagina iniziale di Creazione guidata dimensione fare clic su Avanti.
Nella pagina Selezione vista origine dati fare clic su Avanti per selezionare i dati per la dimensione dalla vista origine dati di Adventure Works DW.
Nella pagina Selezione tipo di dimensione fare clic su Avanti per specificare che si tratta di una dimensione standard.
Nella pagina Selezione tabella principale della dimensione selezionare dbo.FactInternetSales nell'elenco Tabella principale.
Si noti che viene creata una chiave composta basata sulle colonne chiave SalesOrderNumber e SalesOrderLineNumber e che la colonna SalesOrderLineNumber viene definita per la proprietà del nome del membro. Si può inoltre notare che è possibile definire una colonna per la proprietà del nome del membro soltanto dalla tabella FactInternetSales e da nessun altra.
Fare clic su Avanti.
Nella pagina Selezione tabelle correlate assicurarsi che non siano selezionate tabelle e quindi fare clic su Avanti.
Nella pagina Selezione attributi dimensione deselezionare tutti gli attributi della dimensione e quindi selezionare la casella di controllo relativa all'attributo della dimensione Customer PO Number.
Si noti che è non possibile selezionare le chiavi composte come attributi all'interno di Creazione guidata dimensione. Ciò dipende dal fatto che le chiavi composte sono state definite come chiavi di colonna. Per aggiungerle come attributi, è necessario definirle come attributi dopo aver definito la dimensione.
Fare clic su Fine, modificare il nome della dimensione in Internet Sales Order Details, fare clic su Fine e quindi selezionare OK per aggiungere la nuova dimensione del database al cubo Analysis Services Tutorial come dimensione del cubo.
Aprire Progettazione dimensioni per la dimensione Internet Sales Order Details.
Nel riquadro Attributi selezionare Internet Sales e quindi modificare la proprietà Name nella finestra Proprietà in Item Description.
Nella cella della proprietà NameColumn selezionare (nuovo),selezionare Product dalla tabella di origine, selezionare EnglishProductName per la colonna di origine nella finestra di dialogo Associazione oggetto e quindi fare clic su OK.
Aggiungere l'attributo Sales Order Number alla dimensione trascinando la colonna SalesOrderNumber dalla tabella InternetSales del riquadro Vista origine dati al riquadro Attributi.
Modificare la proprietà Name del nuovo attributo Sales Order Number in Order Number e modificare la proprietà OrderBy in Key.
Nel riquadro Gerarchie e livelli creare una gerarchia utente Internet Sales Orders contenente i livelli Order Number e Item Description in quest'ordine.
Nel riquadro Attributi selezionare Internet Sales Order Details e quindi controllare il valore della proprietà StorageMode nella finestra Proprietà.
Si noti che per impostazione predefinita la dimensione viene archiviata come una dimensione MOLAP. Sebbene la modifica della modalità di archiviazione in ROLAP consenta di risparmiare tempo di elaborazione e spazio di archiviazione, ciò avviene a discapito delle prestazioni delle query. Ai fini di questa esercitazione, verrà utilizzata la modalità di archiviazione MOLAP.
Definizione di una relazione di tipo Fatti per la dimensione dei fatti
Per definire una relazione di tipo Fatti per la dimensione dei fatti
Passare alla Progettazione cubi per il cubo Analysis Services Tutorial e quindi scegliere la scheda Utilizzo dimensioni.
Si noti che la dimensione del cubo Internet Sales Order Details viene configurata automaticamente per avere una relazione di tipo Fatti, come indicato dall'icona univoca.
Nell'immagine seguente viene illustrata la dimensione del cubo Internet Sales Order Details con una relazione di tipo Fatti.
All'intersezione del gruppo di misure Internet Sales e la dimensione Internet Sales Order Details fare clic sul pulsante con i puntini di sospensione (…) nella cella Item Description per controllare le proprietà della relazione di tipo Fatti.
Verrà visualizzata la finestra di dialogo Definisci relazione. Si noti che non è possibile configurare le proprietà.
Nella figura seguente vengono illustrate le proprietà della relazione di tipo Fatti nella finestra di dialogo Definisci relazione.
Fare clic su Annulla.
Esplorazione del cubo tramite la dimensione dei fatti
Per esplorare il cubo tramite la dimensione dei fatti
Scegliere Distribuisci Analysis Services Tutorial dal menu Genera per distribuire le modifiche sull'istanza di Analysis Services ed elaborare il database.
Al termine delle operazioni di distribuzione, fare clic sulla scheda Esplorazione in Progettazione cubi per il cubo Analysis Services Tutorial e quindi fare clic su Riconnetti.
Deselezionare tutte le misure e le gerarchie del riquadro Dati e quindi aggiungere la misura Internet Sales-Sales Amount all'area dei dati del riquadro Dati.
Nel riquadro Metadati espandere Customer, Location, Customer Geography, Members, All Customers, Australia, Queensland, Brisbane, 4000, fare clic con il pulsante destro del mouse su Adam Powell e quindi scegliere Aggiungi all'area sottocubo.
Il filtraggio degli ordini di vendita relativi ad un singolo cliente consente di eseguire il drill-down del dettaglio sottostante in una tabella dei fatti estesa senza determinare un significativo peggioramento delle prestazioni delle query.
Aggiungere la gerarchia definita dall'utente Internet Sales Orders dalla dimensione Internet Sales Order Details all'area riga del riquadro Dati.
Si noti che i numeri relativi agli ordini di vendita e i ricavi tramite Internet di Adam Powell vengono visualizzati nel riquadro Dati.
Espandere tutti i numeri degli ordini di vendita nell'area riga per visualizzare i dettagli di ogni elemento contenuto negli ordini.
Nell'immagine seguente viene illustrato il dimensionamento a partire dai passaggi precedenti.
Attività successiva della lezione
Definizione di una relazione molti-a-molti
Vedere anche
Altre risorse
Relazioni tra dimensioni
Definizione di una relazione di tipo Fatti e delle relative proprietà