Creare misure e gruppi di misure
Una misura è un'aggregazione di valori di dati numerici, ad esempio somme, conteggi, valori minimi, valori massimi, medie o un'espressione MDX personalizzata creata. Un gruppo di misure è un contenitore per una o più misure. Tutte le misure sono disponibili in un gruppo di misure, anche se esiste una sola misura. Un cubo deve avere almeno una misura e un gruppo di misure.
In questo argomento sono incluse le sezioni seguenti:
Approcci per la creazione di misure
Componenti di una misura
Modellazione di misure e gruppi di misure su fatti e tabelle dei fatti
Granularità di un gruppo di misure
Approcci per la creazione di misure
Una misura può essere un elemento statico del cubo, creata in fase di progettazione, sempre presente ogni volta che si accede al cubo. È anche possibile definire una misura come membro calcolato usando un'espressione MDX per specificare un valore calcolato per una misura in base ad altre misure del cubo. L'ambito di un membro calcolato può essere una sessione o un utente.
Per creare una misura o un gruppo di misure, usare uno di questi approcci:
Creazione guidata cubo |
Eseguire la creazione guidata cubo in SQL Server Data Tools (SSDT) per creare un cubo. In Esplora soluzioni fare clic con il pulsante destro del mouse su Cubi e scegliere Nuovo cubo. Per altre informazioni su questi passaggi, vedere Modellazione multidimensionale (esercitazione di AdventureWorks). Quando si crea un cubo basato su tabelle da un data warehouse esistente, le definizioni per le misure e il gruppo di misure vengono materializzate come parte del processo di creazione del cubo. Nella procedura guidata scegliere i fatti e le tabelle dei fatti da usare come base per gli oggetti misura e gruppo di misure nel cubo. |
Finestra di dialogo Nuova misura |
Supponendo che il cubo già esista in SQL Server Data Tools (SSDT), fare doppio clic sul nome del cubo in Esplora soluzioni per aprirlo in Progettazione cubi. Nel riquadro Misure fare clic con il pulsante destro del mouse sul nodo principale per creare un nuovo gruppo di misure o nuove misure specificando una tabella di origine, una colonna e un tipo di aggregazione. Con questo approccio, è necessario scegliere il metodo di aggregazione da un elenco fisso di funzioni predefinite. Per altre informazioni sulle aggregazioni usate più comunemente, vedere Utilizzare le funzioni di aggregazione. |
Membro calcolato |
I membri calcolati aggiungono funzionalità di analisi e flessibilità a un cubo in Analysis Services perché è possibile controllare come e quando vengono creati. In alcuni casi, una misura serve solo temporaneamente, per la durata di una sessione utente, o in Management Studio come parte di un'indagine. In SQL Server Data Tools (SSDT) aprire la scheda Calcoli per creare un nuovo membro calcolato. Scegliere questo approccio quando una misura deve essere basata su un'espressione MDX. Per altre informazioni, vedere gli argomenti seguenti: Compilazione di misure in MDX, Calcoli, Calcoli nei modelli multidimensionali e Nozioni fondamentali sugli script MDX (Analysis Services). |
MDX o XMLA |
In SQL Server Management Studio è possibile eseguire MDX o XMLA per modificare un database in modo da includere una nuova misura calcolata. Questo approccio è utile per test di dati ad hoc, dopo la distribuzione della soluzione in un server. Vedere Documentazione e script per un database di Analysis Services. |
Componenti di una misura
Una misura è un oggetto con proprietà. Oltre al nome, una misura deve avere un tipo di aggregazione e una colonna di origine o un'espressione usata per caricare la misura con dati. È possibile modificare la definizione della misura impostandone le proprietà.
origine |
La maggior parte delle misure deriva da colonne numeriche presenti nelle tabelle dei fatti in un data warehouse esterno, ad esempio la colonna Sales Amount nelle tabelle Internet Sales e Reseller Sales del data warehouse AdventureWorks, ma è anche possibile creare nuove misure basate interamente sui calcoli definiti. Per definire le misure è possibile utilizzare le colonne degli attributi delle tabelle delle dimensioni. Queste misure, tuttavia, in genere sono di tipo semiadditivo o non additivo per quanto riguarda la modalità di aggregazione. Per ulteriori informazioni sulle funzioni semiadditive, vedere Definire un comportamento semiadditivo. |
aggregazione |
Per impostazione predefinita, le misure vengono sommate in ogni dimensione. La proprietà AggregateFunction consente tuttavia di modificare tale comportamento. Vedere Utilizzare le funzioni di aggregazione per un elenco. |
Proprietà |
Vedere Configurare le proprietà delle misure per le descrizioni di proprietà aggiuntive. |
Modellazione di misure e gruppi di misure su fatti e tabelle dei fatti
Prima di eseguire una procedura guidata, è utile comprendere i principi di modellazione alla base della definizione della misura.
Le misure e i gruppi di misure sono gli oggetti multidimensionali che rappresentano i fatti e le tabelle dei fatti in un data warehouse esterno. Nella maggior parte dei casi, le misure e i gruppi di misure si basano sugli oggetti presenti in una vista origine dati, che a loro volta, vengono creati dal data warehouse sottostante.
Nella figura seguente vengono rappresentate la tabella dei fatti FactSalesQuota e le due tabelle delle dimensioni associate DimTime e DimEmployee. Nel cubo di esempio Adventure Works, queste tabelle vengono usate come base per il gruppo di misure Sales Quotas e per le dimensioni Time ed Employee.
La tabella dei fatti contiene due tipi di colonne di base: colonne di attributi e colonne di misure.
Le colonne degli attributi vengono utilizzate per creare relazioni di chiave esterna a tabelle delle dimensioni in modo da poter organizzare i dati quantificabili nelle colonne delle misure in base ai dati contenuti nelle tabelle delle dimensioni. Le colonne degli attributi vengono inoltre utilizzate per definire la granularità di una tabella dei fatti e del gruppo di misure.
Le colonne delle misure definiscono le misure contenute in un gruppo di misure.
Quando si esegue la creazione guidata cubo, le chiavi esterne vengono filtrate. Nell'elenco di colonne rimanenti tra cui scegliere, vengono visualizzate le colonne di misure più le colonne di attributi che non sono identificate come chiave esterna. Nell'esempio di FactSalesQuote la procedura guidata includerà CalendarYear e CalendarQuarter oltre a SalesAmountQuota. Solo la colonna della misura SalesAmountQuota restituirà una misura utilizzabile per il modello multidimensionale. Le altre colonne basate su data servono per qualificare ogni quantità di quota. È consigliabile escludere le altre colonne, CalendarYear e CalendarQuarter, dall'elenco delle misure nella creazione guidata cubo oppure rimuoverle dal gruppo di misure in un secondo momento nella finestra di progettazione.
Lo scopo di escludere queste misure è dovuto al fatto che non tutte le colonne specificate dalla procedura guidata sono utili come misura. Basarsi sulle proprie conoscenze dei dati e sul modo in cui verranno usati quando si decide le colonne da usare come misura. Tenere presente che è possibile fare clic con il pulsante destro del mouse su una tabella nella vista origine dati per esplorare i dati, che consentono di identificare le colonne da usare come misure. Per altre informazioni, vedere Esplorare dati in una vista origine dati (Analysis Services).
[!NOTA]
Non tutte le misure derivano direttamente da un valore archiviato in una colonna della tabella dei fatti. Ad esempio, la misura Sales Person Count definita nel gruppo di misure Sales Quota del cubo di esempio Adventure Works si basa in realtà sul conteggio di valori univoci, o Distinct Count, nella colonna EmployeeKey della tabella dei fattiFactSalesQuota.
Granularità di un gruppo di misure
I gruppi di misure hanno una granularità associata che fa riferimento al livello di dettaglio supportato da una tabella dei fatti. La granularità viene impostata tramite la relazione di chiave esterna con una dimensione.
Ad esempio, la tabella dei fatti FactSalesQuota ha una relazione di chiave esterna con la tabella DimEmployee, ogni record nella tabella FactSalesQuota si riferisce a un solo dipendente, pertanto il gruppo di misure, da un punto di vista della dimensione Employee, ha una granularità a livello di singolo dipendente.
La granularità di un gruppo di misure non può essere impostata su un livello più basso del livello inferiore della dimensione da cui viene considerato il gruppo di misure, ma può essere aumentata tramite l'utilizzo di attributi aggiuntivi. Ad esempio, la tabella dei fatti FactSalesQuota utilizza tre colonne, TimeKey, CalendarYear e CalendarQuarter, per impostare la granularità della relazione con la tabella DimTime. Di conseguenza la granularità del gruppo di misure, dal punto di vista della dimensione temporale, è il trimestre del calendario e non il giorno, corrispondente al livello più basso della dimensione temporale.
Per specificare la granularità di un gruppo di misure in relazione a una dimensione specifica, utilizzare la scheda Utilizzo dimensioni di Progettazione cubi. Per ulteriori informazioni sulle relazioni tra dimensioni, vedere Relazioni tra dimensioni.