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). Il comando DesignAggregations ha proprietà che identificano la progettazione di aggregazione 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 aggregazioni iterative 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 dell'aggregazione:
La proprietà Steps determina il numero di iterazioni che devono essere eseguiti dal comando DesignAggregations prima di restituire il controllo all'applicazione client.
La proprietà Time determina il numero di millisecondi necessari per il comando DesignAggregations prima di restituire il controllo all'applicazione client.
La proprietà Optimization determina la percentuale stimata di miglioramento delle prestazioni del comando DesignAggregations 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 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 basata sull'utilizzo includendo uno o più elementi query nella proprietà Query . La proprietà Query può contenere uno o più elementi Query . Se la proprietà Querys non contiene elementi Query , la progettazione di aggregazione specificata nell'elemento Object usa una struttura predefinita contenente un set generale di aggregazioni. Questo set generale di aggregazioni è progettato per soddisfare i criteri specificati nelle proprietà Ottimizzazione 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 le query di obiettivo personalizzate oppure usare le informazioni archiviate da un'istanza di Microsoft SQL Server SQL Server Analysis Services nel log delle query per recuperare informazioni sulle query più usate di frequente. La Usage-Based Ottimizzazione guidata usa il log delle query per recuperare le query di obiettivo in base al tempo, all'utilizzo o a un utente specificato quando invia un comando DesignAggregations . Per altre informazioni, vedere Guidata Ottimizzazione guidata basata sull'utilizzo.
Se si progettano in modo iterativo le aggregazioni, è necessario passare solo query di obiettivo nel primo comando DesignAggregations perché l'istanza di SQL Server Analysis Services archivia queste query di obiettivo e usa queste query durante i comandi DesignAggregation 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 in modo iterativo le aggregazioni, inviare più comandi DesignAggregations per fornire un controllo corretto 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 prima un comando DesignAggregations contenente le informazioni seguenti:
Valori delle proprietà Archiviazione e Ottimizzazione in cui è destinato l'intero processo di progettazione.
I valori delle proprietà Passaggi e Ora in cui il primo passaggio del processo di progettazione è limitato.
Se si vuole un'ottimizzazione basata sull'utilizzo, la proprietà Query che contiene le query di obiettivo su 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 statistiche di progettazione. È possibile valutare tali statistiche per determinare se il processo di progettazione deve continuare o se è completato. Se il processo deve continuare, si invia un altro comando DesignAggregations contenente i valori Passaggi e ora 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 di invio di comandi DesignAggregations e la valutazione dei risultati continua fino a raggiungere gli obiettivi e avere un set appropriato di aggregazioni definite.
Dopo aver raggiunto il set di aggregazioni desiderate, si invia un comando DesignAggregations finale. Questo comando DesignAggregations finale deve avere la proprietà Steps impostata su 1 e la relativa proprietà Materialize impostata su true. Usando queste impostazioni, questo comando DesignAggregations finale completa il processo di progettazione e salva l'aggregazione definita nella progettazione dell'aggregazione.
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à Passaggi, Tempo, Archiviazione e Ottimizzazione in cui l'intero processo di progettazione è destinato e limitato. Se si desidera un'ottimizzazione basata sull'utilizzo, è necessario includere anche le query di obiettivo su cui è destinato il processo di progettazione nella proprietà Query . Assicurarsi inoltre che la proprietà Materialize sia impostata su true, in modo che il processo di progettazione salva le aggregazioni definite nella progettazione dell'aggregazione 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 contenente 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.