Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In Microsoft SQL Server Analysis Services l'elaborazione è il passaggio o la serie di passaggi che trasformano i dati in informazioni per l'analisi aziendale. L'elaborazione è diversa a seconda del tipo di oggetto, ma l'elaborazione fa sempre parte della trasformazione dei dati in informazioni.
Per elaborare un oggetto Analysis Services, è possibile usare il comando Process . Il Process comando può elaborare gli oggetti seguenti in un'istanza di Analysis Services:
Cubi
Banche dati
Dimensioni
Gruppi di misure
Modelli di data mining
Strutture di estrazione
Partizioni
Per controllare l'elaborazione degli oggetti, il Process comando dispone di varie proprietà che possono essere impostate. Il Process comando dispone di proprietà che controllano la quantità di elaborazione che verrà eseguita, quali oggetti verranno elaborati, se usare associazioni out-of-line, come gestire gli errori e come gestire le tabelle di writeback.
Impostazione delle opzioni di elaborazione
La proprietà Type del Process comando specifica l'opzione di elaborazione da utilizzare durante l'elaborazione dell'oggetto. Per altre informazioni sulle opzioni di elaborazione, vedere Opzioni di elaborazione e impostazioni (Analysis Services).
Nella tabella seguente sono elencate le costanti per la Type proprietà e i vari oggetti che possono essere elaborati usando ogni costante.
valore Type |
Oggetti applicabili |
|---|---|
| ProcessFull | Cubo, database, dimensione, gruppo di misure, modello di data mining, struttura di data mining, partizione |
| ProcessoAggiungi | Dimensione, partizione |
| ProcessUpdate | Dimensione |
| ProcessIndexes | Dimensione, cubo, gruppo di misure, partizione |
| ProcessData | Dimensione, cubo, gruppo di misure, partizione |
| ProcessDefault | Cubo, database, dimensione, gruppo di misure, modello di data mining, struttura di data mining, partizione |
| ProcessClear | Cubo, database, dimensione, gruppo di misure, modello di data mining, struttura di data mining, partizione |
| ProcessStructure | Cubo, struttura di data mining |
| ProcessClearStructureOnly | Struttura mineraria |
| ProcessScriptCache | Cubo |
Per altre informazioni sull'elaborazione degli oggetti di Analysis Services, vedere Elaborazione oggetti modello multidimensionale.
Specifica degli oggetti da elaborare
La proprietà Object del Process comando contiene l'identificatore dell'oggetto da elaborare. È possibile specificare un solo oggetto in un Process comando, ma l'elaborazione di un oggetto elabora anche qualsiasi oggetto figlio. Ad esempio, l'elaborazione di un gruppo di misure in un cubo elabora tutte le partizioni per tale gruppo di misure, durante l'elaborazione di un database elabora tutti gli oggetti, inclusi cubi, dimensioni e strutture di data mining, contenuti nel database.
Se si imposta l'attributo ProcessAffectedObjects del Process comando su true, viene elaborato anche qualsiasi oggetto correlato interessato dall'elaborazione dell'oggetto specificato. Ad esempio, se una dimensione viene aggiornata in modo incrementale utilizzando l'opzione di elaborazione ProcessUpdate nel Process comando , qualsiasi partizione le cui aggregazioni vengono invalidate a causa dell'aggiunta o dell'eliminazione dei membri viene elaborata anche da Analysis Services se ProcessAffectedObjects è impostata su true. In questo caso, un singolo Process comando può elaborare più oggetti in un'istanza di Analysis Services, ma Analysis Services determina gli oggetti oltre al singolo oggetto specificato nel Process comando.
Tuttavia, è possibile elaborare più oggetti, ad esempio dimensioni, contemporaneamente usando più Process comandi all'interno di un Batch comando. Le operazioni batch forniscono un livello di controllo più accurato per l'elaborazione seriale o parallela di oggetti in un'istanza di Analysis Services rispetto all'uso dell'attributo e consentono di ottimizzare l'approccio ProcessAffectedObjects di elaborazione per database di Analysis Services di dimensioni maggiori. Per altre informazioni sull'esecuzione di operazioni batch, vedere Esecuzione di operazioni batch (XMLA).
Specifica di associazioni out-of-line
Se il Process comando non è contenuto in un Batch comando, è possibile specificare facoltativamente associazioni out-of-line nelle proprietà Binding, DataSource e DataSourceView del Process comando per gli oggetti da elaborare. Le associazioni out-of-line sono riferimenti a origini dati, viste origine dati e altri oggetti in cui l'associazione esiste solo durante l'esecuzione del Process comando e che eseguono l'override di tutte le associazioni esistenti associate agli oggetti elaborati. Se non vengono specificate associazioni out-of-line, vengono utilizzate le associazioni attualmente associate agli oggetti da elaborare.
Le associazioni out-of-line vengono usate nelle circostanze seguenti:
Elaborazione incrementale di una partizione, in cui è necessario specificare una tabella dei fatti alternativa o un filtro sulla tabella dei fatti esistente per assicurarsi che le righe non vengano conteggiate due volte.
Uso di un'attività flusso di dati in Microsoft SQL Server Integration Services per fornire dati durante l'elaborazione di una dimensione, un modello di data mining o una partizione.
Le associazioni out-of-line vengono descritte come parte del linguaggio asSL (Analysis Services Scripting Language). Per altre informazioni sulle associazioni out-of-line in ASSL, vedere Origini dati e associazioni (SSAS multidimensionale).
Aggiornamento incrementale delle partizioni
L'aggiornamento incrementale di una partizione già elaborata richiede in genere un'associazione out-of-line perché l'associazione specificata per la partizione fa riferimento ai dati della tabella dei fatti già aggregati all'interno della partizione. Quando si aggiorna in modo incrementale una partizione già elaborata usando il Process comando , Analysis Services esegue le azioni seguenti:
Crea una partizione temporanea con una struttura identica a quella della partizione da aggiornare in modo incrementale.
Elabora la partizione temporanea, usando l'associazione out-of-line specificata nel
Processcomando .Unisce la partizione temporanea alla partizione selezionata esistente.
Per altre informazioni sull'unione di partizioni tramite XML for Analysis (XMLA), vedere Unione di partizioni (XMLA).
Gestione degli errori di elaborazione
La proprietà ErrorConfiguration del comando consente di specificare come gestire gli errori rilevati durante l'elaborazione Process di un oggetto. Ad esempio, durante l'elaborazione di una dimensione, Analysis Services rileva un valore duplicato nella colonna chiave dell'attributo chiave. Poiché le chiavi degli attributi devono essere univoche, Analysis Services elimina i record duplicati. In base alla proprietà KeyDuplicate di ErrorConfiguration, Analysis Services potrebbe:
Ignorare l'errore e continuare a elaborare la dimensione.
Restituisce un messaggio che indica che Analysis Services ha rilevato una chiave duplicata e continuare l'elaborazione.
Esistono molte condizioni simili per le quali ErrorConfiguration sono disponibili opzioni durante un Process comando.
Gestione delle tabelle di writeback
Se il Process comando rileva una partizione abilitata per la scrittura o un cubo o un gruppo di misure per tale partizione, che non è già completamente elaborato, una tabella writeback potrebbe non esistere già per tale partizione. La proprietà WritebackTableCreation del Process comando determina se Analysis Services deve creare una tabella di writeback.
Esempi
Descrizione
Nell'esempio seguente viene elaborato completamente il database analysis Services di esempio Adventure Works DW 2012.
Codice
<Process xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
Descrizione
Nell'esempio seguente viene elaborata in modo incrementale la partizione Internet_Sales_2004 nel gruppo di misure Internet Sales del cubo Adventure Works DW nel database di esempio Analysis Services adventure Works DW 2012. Il Process comando aggiunge aggregazioni per le date di ordine successive al 31 dicembre 2006 alla partizione usando un'associazione di query out-of-line nella Bindings proprietà del Process comando per recuperare le righe della tabella dei fatti da cui generare aggregazioni da aggiungere alla partizione.
Codice
<Process ProcessAffectedObjects="true" xmlns="https://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
<CubeID>Adventure Works DW</CubeID>
<MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>
<PartitionID>Internet_Sales_2006</PartitionID>
</Object>
<Bindings>
<Binding>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
<CubeID>Adventure Works DW</CubeID>
<MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>
<PartitionID>Internet_Sales_2006</PartitionID>
<Source xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="QueryBinding">
<DataSourceID>Adventure Works DW</DataSourceID>
<QueryDefinition>
SELECT
[dbo].[FactInternetSales].[ProductKey],
[dbo].[FactInternetSales].[OrderDateKey],
[dbo].[FactInternetSales].[DueDateKey],
[dbo].[FactInternetSales].[ShipDateKey],
[dbo].[FactInternetSales].[CustomerKey],
[dbo].[FactInternetSales].[PromotionKey],
[dbo].[FactInternetSales].[CurrencyKey],
[dbo].[FactInternetSales].[SalesTerritoryKey],
[dbo].[FactInternetSales].[SalesOrderNumber],
[dbo].[FactInternetSales].[SalesOrderLineNumber],
[dbo].[FactInternetSales].[RevisionNumber],
[dbo].[FactInternetSales].[OrderQuantity],
[dbo].[FactInternetSales].[UnitPrice],
[dbo].[FactInternetSales].[ExtendedAmount],
[dbo].[FactInternetSales].[UnitPriceDiscountPct],
[dbo].[FactInternetSales].[DiscountAmount],
[dbo].[FactInternetSales].[ProductStandardCost],
[dbo].[FactInternetSales].[TotalProductCost],
[dbo].[FactInternetSales].[SalesAmount],
[dbo].[FactInternetSales].[TaxAmt],
[dbo].[FactInternetSales].[Freight],
[dbo].[FactInternetSales].[CarrierTrackingNumber],
[dbo].[FactInternetSales].[CustomerPONumber]
FROM [dbo].[FactInternetSales]
WHERE OrderDateKey > '1280'
</QueryDefinition>
</Source>
</Binding>
</Bindings>
<Type>ProcessAdd</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>