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 partizioni che possono essere unite in un secondo momento usando il comando MergePartitions. Per altre informazioni sulle progettazioni delle aggregazioni, vedere Aggregazioni e progettazioni di aggregazioni.

Per definire le aggregazioni per una progettazione delle aggregazioni, è possibile usare il comando DesignAggregations in XML for Analysis (XMLA). Il comando DesignAggregations dispone di proprietà che identificano la progettazione delle aggregazioni da usare come riferimento e come controllare il processo di progettazione in base a tale riferimento. Usando il comando DesignAggregations e le relative proprietà, è possibile progettare le aggregazioni in modo iterativo o in batch e quindi visualizzare le statistiche di progettazione risultanti per valutare il processo di progettazione.

Specifica di una progettazione delle aggregazioni

La proprietà Object del comando DesignAggregations 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

È possibile usare le proprietà seguenti del comando DesignAggregations per controllare l'algoritmo usato per definire le aggregazioni per la progettazione delle aggregazioni:

  • La proprietà Steps determina il numero di iterazioni che il comando DesignAggregations deve eseguire prima che restituisca il controllo all'applicazione client.

  • La proprietà Time determina il numero di millisecondi che il comando DesignAggregations deve richiedere prima che restituisca il controllo all'applicazione client.

  • La proprietà Optimization determina la percentuale stimata di miglioramento delle prestazioni che il comando DesignAggregations deve tentare di ottenere. Se si progettano le aggregazioni in modo iterativo, è necessario inviare questa proprietà solo al primo comando.

  • La Archiviazione proprietà determina la quantità stimata di spazio di archiviazione su disco, in byte, usata dal comando DesignAggregations. Se si progettano le aggregazioni in modo iterativo, è necessario inviare questa proprietà solo al primo comando.

  • La proprietà Materialize determina se il comando DesignAggregations deve creare le aggregazioni definite durante il 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 basato sull'utilizzo includendo uno o più elementi Query nella proprietà Queries. La proprietà Queries può contenere uno o più elementi Query. Se la proprietà Queries non contiene elementi Query, la progettazione delle aggregazioni specificata nell'elemento Object usa una struttura predefinita che contiene un set generale di aggregazioni. Questo set generale di aggregazioni è progettato per soddisfare i criteri specificati nelle proprietà Optimization e Archiviazione 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 query obiettivo personalizzate oppure utilizzare le informazioni archiviate da un'istanza di nel log di query per recuperare informazioni sulle query usate Microsoft SQL Server Analysis Services più di frequente. LUsage-Based guidata ottimizzazione guidata usa il log di query per recuperare le query sugli obiettivi in base a tempo, utilizzo o a un utente specificato quando invia un comando DesignAggregations. Per altre informazioni, vedere Guida F1 dell'Ottimizzazioneguidata basata sulle statistiche di utilizzo.

Se si stanno progettando aggregazioni in modo iterativo, è necessario passare le query di tipo goal solo al primo comando DesignAggregations , in quanto l'istanza di Analysis Services archivia queste query e le utilizza durante i comandi DesignAggregations successivi. 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 Frequency rappresenta il fattore del ponderazione 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 nel gruppo di misure che contiene la progettazione delle aggregazioni è rappresentata da un valore Dataset 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 usare il comando DesignAggregations come parte di un processo iterativo o di un processo batch, a seconda dell'interattività richiesta dal processo di progettazione.

Progettazione di aggregazioni tramite un processo iterativo

Per progettare aggregazioni in modo iterativo, si inviano più comandi DesignAggregations per fornire un controllo fine sul processo di progettazione. Questo approccio viene utilizzato anche dalla Progettazione guidata aggregazioni per ottenere lo stesso scopo. Per altre informazioni, vedere Guida F1 di Progettazione guidata aggregazioni.

Nota

Per progettare in modo iterativo le aggregazioni, è necessaria una sessione esplicita. Per altre informazioni sulle sessioni esplicite, vedere Managing Connections and Sessions (XMLA).

Per avviare il processo iterativo, inviare prima di tutto un comando DesignAggregations contenente le informazioni seguenti:

  • Valori Archiviazione proprietà Optimization e optimization a cui è destinato l'intero processo di progettazione.

  • Valori delle proprietà Steps e Time in cui è limitato il primo passaggio del processo di progettazione.

  • Se si desidera l'ottimizzazione basata sull'utilizzo, la proprietà Queries che contiene le query obiettivo a cui è destinato l'intero processo di progettazione.

  • La 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.

Al termine del primo comando DesignAggregations, il comando restituisce un set di righe contenente le statistiche di 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 cui questo passaggio del processo di progettazione è limitato. È possibile valutare le statistiche risultanti e successivamente determinare se il processo di progettazione deve continuare. Questo processo iterativo per l'invio di comandi DesignAggregations e la valutazione dei risultati continua fino a quando non si raggiungono gli obiettivi e non viene definito un set appropriato di aggregazioni.

Dopo aver raggiunto il set di aggregazioni desiderato, si invia un ultimo comando DesignAggregations. La proprietà Steps di questo comando DesignAggregations finale deve essere impostata su 1 e la relativa proprietà Materialize su true. Usando queste impostazioni, questo comando DesignAggregations finale completa il processo di progettazione e salva l'aggregazione definita nella progettazione delle aggregazioni.

Progettazione di aggregazioni tramite un'elaborazione batch

È anche possibile progettare aggregazioni in un processo batch inviando un singolo comando DesignAggregations contenente i valori delle proprietà Steps, Time, Archiviazione e Optimization a cui è destinato e limitato l'intero processo di progettazione. Se si desidera l'ottimizzazione basata sull'utilizzo, le query obiettivo su cui è destinato il processo di progettazione devono essere incluse anche nella proprietà Query. Assicurarsi inoltre che la proprietà Materialize sia impostata su true, in modo che il processo di progettazione salverà le aggregazioni definite nella progettazione delle aggregazioni al termine del comando.

È 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, il comando restituisce un set di righe che contiene una singola riga che rappresenta le statistiche di 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 proprietà Materialize del comando è stata impostata su true, il valore di questa colonna viene impostato su true.

È possibile usare le statistiche di progettazione contenute nel set di righe restituito dopo ogni comando DesignAggregations nella progettazione iterativa e 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.

Vedere anche

Sviluppo con XMLA in Analysis Services