Condividi tramite


Progettazione di aggregazioni (XMLA)

Le progettazioni di aggregazioni sono associate alle partizioni di un determinato gruppo di misure per assicurarsi che le partizioni usino la stessa struttura durante l'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 progettazioni di aggregazioni.

Per definire le aggregazioni per una progettazione di aggregazioni, è possibile utilizzare il comando DesignAggregations in XML for Analysis (XMLA). Il DesignAggregations comando 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 DesignAggregations comando e le relative proprietà, è possibile progettare 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 di aggregazioni

La proprietà Object del DesignAggregations comando deve contenere un riferimento a un oggetto a una struttura di aggregazione esistente. Il riferimento all'oggetto contiene un identificatore di database, un identificatore del cubo, un identificatore del gruppo di misure e un identificatore di progettazione dell'aggregazione. Se la progettazione delle aggregazioni non esiste già, si verifica un errore.

Controllo del processo di progettazione

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

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

  • La proprietà Time determina il numero di millisecondi che il DesignAggregations comando deve richiedere prima di restituire il 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 in modo iterativo le aggregazioni, è necessario inviare questa proprietà solo al primo comando.

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

  • La proprietà Materialize determina se il DesignAggregations comando deve creare le aggregazioni definite durante il processo di progettazione. Se si progettano in modo iterativo le aggregazioni, questa proprietà deve essere impostata su false finché non si è pronti per salvare le aggregazioni progettate. Se impostato su true, il processo di progettazione corrente termina e le aggregazioni definite vengono aggiunte alla struttura di aggregazione specificata.

Specifica di query

Il comando DesignAggregations supporta il comando di ottimizzazione basato sull'utilizzo includendo uno o più Query elementi nella proprietà Query . La Queries proprietà può contenere uno o più elementi Query . Se la Queries proprietà non contiene Query elementi, la progettazione delle aggregazioni specificata nell'elemento Object utilizza una struttura predefinita che contiene un set generale di aggregazioni. Questo set generale di aggregazioni è progettato per soddisfare i criteri specificati nelle Optimization proprietà e Storage del DesignAggregations comando .

Ogni Query elemento rappresenta una query obiettivo usata dal processo di progettazione per definire aggregazioni destinate alle query usate più di frequente. È possibile specificare 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 usate più di frequente. L'Ottimizzazione guidata Usage-Based usa il log di query per recuperare le query degli obiettivi in base a tempo, utilizzo o un utente specificato quando invia un DesignAggregations comando. Per altre informazioni, vedere Usage-Based Guida sensibile al contesto dell'ottimizzazione guidata.

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 aver superato le query con obiettivo nel primo DesignAggregations comando di un processo iterativo, qualsiasi comando successivo DesignAggregations che contiene query di obiettivo nella Queries proprietà genera un errore.

L'elemento Query contiene un valore delimitato da virgole che contiene gli argomenti seguenti:

Frequenza, Set di dati[,Set di dati...]

Frequenza
Fattore di ponderazione che corrisponde al numero di volte in cui la query è stata eseguita in precedenza. Se l'elemento Query rappresenta una nuova query, il valore Frequency rappresenta il fattore di ponderazione utilizzato dal processo di progettazione per valutare la query. Man mano che il valore della frequenza diventa maggiore, aumenta il peso che viene inserito nella 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 lo stesso numero di caratteri del numero di attributi nella dimensione. Zero (0) indica che l'attributo nella posizione ordinale specificata non è incluso nella query per la dimensione specificata, mentre uno (1) indica che l'attributo nella posizione ordinale specificata è incluso nella query per la dimensione specificata.

Ad esempio, la stringa "011" fa riferimento a una query che include una dimensione con tre attributi, da cui nella query sono inclusi i secondi e i terzi attributi.

Annotazioni

Alcuni attributi vengono esclusi dalla considerazione nel set di dati. Per altre informazioni sugli attributi esclusi, vedere Elemento Query (XMLA).

Ogni dimensione del gruppo di misure che contiene la progettazione delle aggregazioni è rappresentata da un valore Dataset nell'elemento Query . L'ordine dei valori del set di dati deve corrispondere all'ordine delle dimensioni incluse nel gruppo di misure.

Progettazione di aggregazioni tramite processi iterativi o batch

È possibile usare il DesignAggregations comando 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ù DesignAggregations comandi per fornire un controllo corretto sul processo di progettazione. La Progettazione guidata aggregazioni usa questo stesso approccio per fornire un controllo efficace sul processo di progettazione. Per altre informazioni, vedere Guida sensibile al contesto della Progettazione guidata aggregazioni.

Annotazioni

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 di tutto un DesignAggregations comando contenente le informazioni seguenti:

  • Valori delle Storage proprietà e Optimization su cui è destinato l'intero processo di progettazione.

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

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

  • Proprietà Materialize impostata su false. L'impostazione di questa proprietà su false indica che il processo di progettazione non salva le aggregazioni definite nella progettazione delle aggregazioni al termine del comando.

Al termine del primo DesignAggregations comando, il comando restituisce un set di righe contenente statistiche di progettazione. È possibile valutare queste statistiche di progettazione per determinare se il processo di progettazione deve continuare o se il processo di progettazione è terminato. Se il processo deve continuare, inviare un altro DesignAggregations comando contenente i Steps valori e Time con cui questo passaggio del processo di progettazione è limitato. Si valutano le statistiche risultanti e quindi si determina se il processo di progettazione deve continuare. Questo processo iterativo di invio DesignAggregations di comandi e valutazione dei risultati continua finché non si raggiungono gli obiettivi e si dispone di un set appropriato di aggregazioni definite.

Dopo aver raggiunto il set di aggregazioni desiderate, inviare un comando finale DesignAggregations . Questo comando finale DesignAggregations deve avere la proprietà Steps impostata su 1 e la relativa Materialize proprietà impostata su true. Usando queste impostazioni, questo comando finale DesignAggregations completa il processo di progettazione e salva l'aggregazione definita nella progettazione delle aggregazioni.

Progettazione di aggregazioni tramite un processo batch

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

È possibile progettare aggregazioni usando un processo batch in una sessione implicita o esplicita. Per altre informazioni sulle sessioni implicite ed esplicite, vedere Gestione di connessioni e sessioni (XMLA).

Restituzione di statistiche di progettazione

Quando il comando restituisce il DesignAggregations controllo all'applicazione client, il comando restituisce un set di righe contenente una singola riga che rappresenta le statistiche di progettazione per il comando. Il set di righe contiene le colonne elencate nella tabella seguente.

colonna Tipo di dati Descrizione
Fasi Numero intero Numero di passaggi eseguiti dal comando prima di restituire il controllo all'applicazione client.
Tempo Intero lungo Numero di millisecondi eseguiti dal comando prima di restituire il controllo all'applicazione client.
Ottimizzazione Doppio Percentuale stimata di miglioramento delle prestazioni ottenuto dal comando prima di restituire il controllo all'applicazione client.
Immagazzinamento Intero lungo Numero stimato di byte eseguiti dal comando prima di restituire il controllo all'applicazione client.
Aggregazioni Intero lungo Numero di aggregazioni definite dal comando prima di restituire il controllo all'applicazione client.
LastStep Booleano 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 viene impostato su true.

È possibile usare le statistiche di progettazione contenute nel set di righe restituito dopo ogni DesignAggregations comando nella progettazione iterativa e batch. Nella progettazione iterativa è possibile usare le statistiche di progettazione per determinare e visualizzare lo stato di avanzamento. Quando si progettano aggregazioni in batch, è possibile usare le statistiche di progettazione per determinare il numero di aggregazioni create dal comando .

Vedere anche

Sviluppo con XMLA in Analysis Services