Progettazione di aggregazioni (XMLA)
Le progettazioni delle aggregazioni sono associate alle partizioni di un gruppo di misure specifico per garantire che utilizzino la stessa struttura nell'archiviazione delle aggregazioni. L'uso della stessa struttura di archiviazione per le partizioni consente di definire facilmente le partizioni che possono essere unite in un secondo momento usando il comando MergePartitions . Per altre informazioni sulle progettazioni di aggregazioni, vedere Aggregazioni e progetti di aggregazione.
Per definire le aggregazioni per una progettazione di aggregazione, è possibile usare il comando DesignAggregations in XML for Analysis (XMLA). Al comando DesignAggregations
sono associate proprietà che identificano quale progettazione delle aggregazioni utilizzare come riferimento e il modo in cui controllare il processo di progettazione in base a tale riferimento. L'utilizzo del comando DesignAggregations
e delle proprietà relative consente di progettare le aggregazioni in modo iterativo oppure in batch e di visualizzare successivamente le statistiche relative alla progettazione risultanti per valutare il processo di progettazione.
Specifica di una progettazione delle aggregazioni
La proprietà Object del DesignAggregations
comando deve contenere un riferimento a un oggetto a una progettazione di aggregazione esistente. Il riferimento all'oggetto contiene un identificatore di database, un identificatore di cubo, un identificatore del gruppo di misure e un identificatore della progettazione delle aggregazioni. Se la progettazione delle aggregazioni non esiste, si verifica un errore.
Controllo del processo di progettazione
Per controllare l'algoritmo utilizzato per definire le aggregazioni per la relativa progettazione, è possibile utilizzare le proprietà del comando DesignAggregations
seguenti:
La proprietà Steps determina il numero di iterazioni che il comando deve eseguire prima di restituire il
DesignAggregations
controllo all'applicazione client.La proprietà Time determina il numero di millisecondi che il comando deve richiedere prima di restituire il
DesignAggregations
controllo all'applicazione client.La proprietà Optimization determina la percentuale stimata di miglioramento delle prestazioni che il
DesignAggregations
comando deve provare a ottenere. Se si progettano le aggregazioni in modo iterativo, è necessario inviare questa proprietà solo al primo comando.La proprietà Storage determina la quantità stimata di archiviazione su disco, in byte, utilizzata dal
DesignAggregations
comando. Se si progettano le aggregazioni in modo iterativo, è necessario inviare questa proprietà solo al primo comando.La proprietà Materialize determina se il comando deve creare le aggregazioni definite durante il
DesignAggregations
processo di progettazione. Se si progettano le aggregazioni in modo iterativo, questa proprietà deve essere impostata su false fino a quando non è possibile salvare le aggregazioni progettate. Quando la proprietà viene impostata su true, il processo di progettazione corrente termina e le aggregazioni definite vengono aggiunte alla progettazione delle aggregazioni specificata.
Specifica di query
Il comando DesignAggregations supporta il comando di ottimizzazione basata sull'utilizzo includendo uno o più Query
elementi nella proprietà Query . La Queries
proprietà può contenere uno o più elementi Query . Se la proprietà Queries
non contiene alcun elemento Query
, la progettazione delle aggregazioni specificata nell'elemento Object
utilizza una struttura predefinita che contiene un set generale di aggregazioni appositamente progettato per soddisfare i criteri specificati nelle proprietà Optimization
e Storage
del comando DesignAggregations
.
Ogni elemento Query
rappresenta una query di tipo goal utilizzata dal processo di progettazione per definire le aggregazioni destinate alle query utilizzate più di frequente. È possibile specificare le query di obiettivo personalizzate oppure usare le informazioni archiviate da un'istanza di Microsoft SQL Server Analysis Services nel log delle query per recuperare informazioni sulle query più usate di frequente. Il log di query viene utilizzato dall'Ottimizzazione guidata basata sulle statistiche di utilizzo per recuperare query di tipo goal in base all'ora, all'utilizzo oppure all'utente specificato quando viene inviato un comando DesignAggregations
. Per altre informazioni, vedere Guidata Ottimizzazione guidata basata sull'utilizzo.
Se si progettano in modo iterativo le aggregazioni, è necessario passare solo le query di obiettivo nel primo DesignAggregations
comando perché l'istanza di Analysis Services archivia queste query di obiettivo e usa queste query durante i comandi successivi DesignAggregations
. Dopo avere passato query di tipo goal al primo comando DesignAggregations
di un processo iterativo, qualsiasi comando DesignAggregations
successivo che contiene query di tipo goal nella proprietà Queries
genera un errore.
L'elemento Query
contiene un valore delimitato da virgole in cui sono presenti gli argomenti seguenti:
Frequency,Dataset[,Dataset...]
Frequenza
Fattore di ponderazione corrispondente al numero di volte che la query è stata eseguita in precedenza. Se l'elemento Query
rappresenta una nuova query, il valore Frequenza rappresenta il fattore di peso utilizzato dal processo di progettazione per valutare la query. Con l'aumentare del valore della frequenza, aumenta il peso associato alla query durante il processo di progettazione.
Set di dati
Stringa numerica che specifica gli attributi di una dimensione da includere nella query. Questa stringa deve avere un numero di caratteri uguale al numero di attributi della dimensione. Il valore zero (0) indica che l'attributo nella posizione ordinale specificata non è incluso nella query per la dimensione specificata, mentre il valore uno (1) indica che l'attributo nella posizione ordinale specificata è incluso nella query per la dimensione specificata.
La stringa "011" fa riferimento ad esempio a una query relativa a una dimensione con tre attributi, di cui il secondo e il terzo sono inclusi nella query.
Nota
Alcuni attributi non vengono considerati nel set di dati. Per altre informazioni sugli attributi esclusi, vedere Elemento query (XMLA).
Ogni dimensione del gruppo di misure contenente la progettazione di aggregazione è rappresentata da un valore Set di dati nell'elemento Query
. L'ordine dei valori Dataset deve corrispondere all'ordine delle dimensioni incluse nel gruppo di misure.
Progettazione di aggregazioni tramite processi iterativi o elaborazioni batch
È possibile utilizzare il comando DesignAggregations
come parte di un processo iterativo o di un'elaborazione batch, in base all'interattività richiesta dal processo di progettazione.
Progettazione di aggregazioni tramite un processo iterativo
Per progettare le aggregazioni in modo iterativo, inviare più comandi DesignAggregations
per fornire un controllo accurato sul processo di progettazione. Questo approccio viene utilizzato anche dalla Progettazione guidata aggregazioni per ottenere lo stesso scopo. Per altre informazioni, vedere Guidata Progettazione aggregazione F1.
Nota
Per progettare in modo iterativo le aggregazioni, è necessaria una sessione esplicita. Per altre informazioni sulle sessioni esplicite, vedere Gestione di connessioni e sessioni (XMLA).
Per avviare il processo iterativo, inviare innanzitutto un comando DesignAggregations
che contiene le informazioni seguenti:
Valori delle proprietà
Storage
eOptimization
in base ai quali viene impostato l'intero processo di progettazione.Valori delle proprietà
Steps
eTime
in base ai quali viene limitato il primo passaggio del processo di progettazione.Proprietà
Queries
che contiene le query di tipo goal in base alle quali viene impostato l'intero processo di progettazione, qualora si desideri l'ottimizzazione basata sulle statistiche di utilizzo.Proprietà
Materialize
impostata su false. L'impostazione di questa proprietà su false indica che durante il processo di progettazione le aggregazioni definite non vengono salvate nella progettazione delle aggregazioni quando il comando è completato.
Quando termina, il primo comando DesignAggregations
restituisce un set di righe che contiene le statistiche relative alla progettazione. È possibile valutare tali statistiche per determinare se il processo di progettazione deve continuare o se è completato. Se il processo deve continuare, inviare un altro comando DesignAggregations
che contiene i valori Steps
e Time
con i quali viene limitato questo passaggio del processo di progettazione. È possibile valutare le statistiche risultanti e successivamente determinare se il processo di progettazione deve continuare. Questo processo iterativo costituito dall'invio di comandi DesignAggregations
e dalla valutazione dei risultati continua fino a quando non si raggiungono gli obiettivi e non si ottiene un set appropriato di aggregazioni definite.
Dopo avere ottenuto il set di aggregazioni desiderato, inviare un comando DesignAggregations
finale. Le proprietà DesignAggregations
e Steps
di tale comando Materialize
finale devono essere impostate su 1 e su true rispettivamente. Utilizzando queste impostazioni il comando DesignAggregations
finale completa il processo di progettazione e salva l'aggregazione definita nella progettazione delle aggregazioni.
Progettazione di aggregazioni tramite un'elaborazione batch
È inoltre possibile progettare le aggregazioni in un'elaborazione batch inviando un unico comando DesignAggregations
che contiene i valori delle proprietà Steps
, Time
, Storage
e Optimization
in base ai quali viene impostato e limitato l'intero processo di progettazione. Qualora si desideri l'ottimizzazione basata sulle statistiche di utilizzo, nella proprietà Queries
devono essere incluse anche le query di tipo goal in base alle quali viene impostato il processo di progettazione. È inoltre necessario verificare che la proprietà Materialize
sia impostata su true, in modo che durante il processo di progettazione le aggregazioni definite vengano salvate nella progettazione delle aggregazioni quando il comando termina.
È possibile progettare aggregazioni tramite un'elaborazione batch in una sessione implicita oppure in una esplicita. Per altre informazioni sulle sessioni implicite ed esplicite, vedere Gestione di connessioni e sessioni (XMLA).
Restituzione di statistiche relative alla progettazione
Quando il comando DesignAggregations
restituisce il controllo all'applicazione client, viene restituito anche un set di righe contenente un'unica riga che rappresenta le statistiche relative alla progettazione per il comando. Nel set di righe sono contenute le colonne elencate nella tabella seguente.
Colonna | Tipo di dati | Descrizione |
---|---|---|
Passaggi | Integer | Numero di passaggi eseguiti dal comando prima di restituire il controllo all'applicazione client. |
Ora | Long integer | Numero di millisecondi necessari al comando prima di restituire il controllo all'applicazione client. |
Optimization | Double | Percentuale stimata di miglioramento delle prestazioni ottenuta dal comando prima di restituire il controllo all'applicazione client. |
Archiviazione | Long integer | Numero stimato di byte necessari al comando prima di restituire il controllo all'applicazione client. |
Aggregations | Long integer | Numero di aggregazioni definite dal comando prima di restituire il controllo all'applicazione client. |
LastStep | Boolean | Indica se i dati nel set di righe rappresentano l'ultimo passaggio del processo di progettazione. Se la Materialize proprietà del comando è stata impostata su true, il valore di questa colonna è impostato su true. |
È possibile utilizzare le statistiche relative alla progettazione contenute nel set di righe restituito dopo ogni comando DesignAggregations
sia nella progettazione di tipo iterativo che in quella di tipo batch. Nella progettazione di tipo iterativo è possibile utilizzare le statistiche relative alla progettazione per determinare e visualizzare lo stato di avanzamento. Quando si progettano le aggregazioni in batch, è possibile utilizzare le statistiche relative alla progettazione per determinare il numero di aggregazioni create dal comando.