Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I Microsoft SQL Server SQL Server Analysis Services är bearbetning steget eller serien med steg som omvandlar data till information för affärsanalys. Bearbetningen skiljer sig beroende på typen av objekt, men bearbetning är alltid en del av att omvandla data till information.
Om du vill bearbeta ett SQL Server Analysis Services-objekt kan du använda kommandot Process . Kommandot Process kan bearbeta följande objekt på en SQL Server Analysis Services-instans:
Kuber
Databases
Mått
Måttgrupper
Gruvmodeller
Gruvstrukturer
Partitions
För att styra bearbetningen av objekt har kommandot Process olika egenskaper som kan anges. Kommandot Process har egenskaper som styr: hur mycket bearbetning som ska utföras, vilka objekt som ska bearbetas, om out-of-line-bindningar ska användas, hur fel ska hanteras och hur du hanterar tillbakaskrivningstabeller.
Ange bearbetningsalternativ
Egenskapen Typ för kommandot Process anger det bearbetningsalternativ som ska användas när objektet bearbetas. Mer information om bearbetningsalternativ finns i Bearbetningsalternativ och inställningar (Analysis Services).
I följande tabell visas konstanterna för egenskapen Type och de olika objekt som kan bearbetas med varje konstant.
| Typvärde | Tillämpliga objekt |
|---|---|
| ProcessFull | Kub, databas, dimension, måttgrupp, gruvmodell, gruvstruktur, partition |
| ProcessAdd | Dimension, partition |
| ProcessUpdate | Mått |
| ProcessIndex | Dimension, kub, måttgrupp, partition |
| ProcessData | Dimension, kub, måttgrupp, partition |
| ProcessDefault | Kub, databas, dimension, måttgrupp, gruvmodell, gruvstruktur, partition |
| ProcessClear | Kub, databas, dimension, måttgrupp, gruvmodell, gruvstruktur, partition |
| ProcessStructure | Kub, utvinningsstruktur |
| ProcessClearStructureOnly | Gruvstruktur |
| ProcessScriptCache | Kub |
Mer information om bearbetning av SQL Server Analysis Services-objekt finns i Bearbeta en flerdimensionell modell (Analysis Services).
Ange objekt som ska bearbetas
Objektegenskapen för kommandot Process innehåller objektidentifieraren för det objekt som ska bearbetas. Endast ett objekt kan anges i ett processkommando , men bearbetning av ett objekt bearbetar även underordnade objekt. Bearbetning av en måttgrupp i en kub bearbetar till exempel alla partitioner för den måttgruppen, medan bearbetningen av en databas bearbetar alla objekt, inklusive kuber, dimensioner och gruvstrukturer, som finns i databasen.
Om du anger attributet ProcessAffectedObjects för kommandot Process till true bearbetas även alla relaterade objekt som påverkas av bearbetningen av det angivna objektet. Om en dimension till exempel uppdateras stegvis med hjälp av processupdate-bearbetningsalternativet i kommandot Process , bearbetas även alla partitioner vars sammansättningar är ogiltiga på grund av att medlemmar läggs till eller tas bort av SQL Server Analysis Services om ProcessAffectedObjects är inställt på sant. I det här fallet kan ett enda processkommando bearbeta flera objekt på en SQL Server Analysis Services-instans, men SQL Server Analysis Services avgör vilka objekt förutom det enskilda objekt som anges i kommandot Process måste också bearbetas.
Du kan dock bearbeta flera objekt, till exempel dimensioner, samtidigt med hjälp av flera processkommandon i ett Batch-kommando . Batch-åtgärder ger en finare kontrollnivå för seriell eller parallell bearbetning av objekt på en SQL Server Analysis Services-instans än att använda attributet ProcessAffectedObjects och låter dig justera bearbetningsmetoden för större SQL Server Analysis Services-databaser. Mer information om hur du utför batchåtgärder finns i Utföra Batch-åtgärder (XMLA).
Ange offlinebindningar
Om kommandot Process inte finns i ett Batch-kommando kan du ange out-of-line-bindningar i egenskaperna Bindningar, DataSource och DataSourceView för processkommandot för de objekt som ska bearbetas. Out-of-line-bindningar är referenser till datakällor, datakällvyer och andra objekt där bindningen endast finns under körningen av kommandot Process och som åsidosätter alla befintliga bindningar som är associerade med de objekt som bearbetas. Om out-of-line-bindningar inte anges används de bindningar som för närvarande är associerade med de objekt som ska bearbetas.
Bindningar utanför raden används under följande omständigheter:
Bearbeta en partition stegvis, där en alternativ faktatabell eller ett filter i den befintliga faktatabellen måste anges för att se till att rader inte räknas två gånger.
Använda en dataflödesaktivitet i Microsoft SQL Server Integration Services för att tillhandahålla data vid bearbetning av en dimension, gruvmodell eller partition.
Out-of-line-bindningar beskrivs som en del av Analysis Services Scripting Language (ASSL). Mer information om out-of-line-bindningar i ASSL finns i Datakällor och bindningar (SSAS Multidimensional).
Uppdatera partitioner stegvis
Inkrementell uppdatering av en redan bearbetad partition kräver vanligtvis en out-of-line-bindning eftersom bindningen som anges för partitionen refererar till faktatabelldata som redan aggregerats i partitionen. När du uppdaterar en redan bearbetad partition stegvis med hjälp av kommandot Process utför SQL Server Analysis Services följande åtgärder:
Skapar en tillfällig partition med en struktur som är identisk med den partition som ska uppdateras stegvis.
Bearbetar den tillfälliga partitionen med hjälp av den out-of-line-bindning som anges i kommandot Process .
Sammanfogar den tillfälliga partitionen med den befintliga valda partitionen.
Mer information om hur du sammanfogar partitioner med XML för analys (XMLA) finns i Slå samman partitioner (XMLA).
Hantera bearbetningsfel
Med egenskapen ErrorConfiguration för kommandot Process kan du ange hur du hanterar fel som påträffas när ett objekt bearbetas. När du till exempel bearbetar en dimension stöter SQL Server Analysis Services på ett duplicerat värde i nyckelkolumnen i nyckelattributet. Eftersom attributnycklar måste vara unika tar SQL Server Analysis Services bort de duplicerade posterna. Baserat på KeyDuplicate egenskapen i ErrorConfiguration, kan SQL Server Analysis Services:
Ignorera felet och fortsätt att bearbeta dimensionen.
Returnera ett meddelande som anger att SQL Server Analysis Services påträffade en dubblettnyckel och fortsätter bearbetningen.
Det finns många liknande villkor för vilka ErrorConfiguration tillhandahåller alternativ under ett processkommando .
Hantera tillbakaskrivningstabeller
Om kommandot Process påträffar en skrivaktiverad partition, eller en kub eller måttgrupp för en sådan partition, som inte redan är helt bearbetad, kanske det inte redan finns en tillbakaskrivningstabell för partitionen. Egenskapen WritebackTableCreation för kommandot Process avgör om SQL Server Analysis Services ska skapa en tillbakaskrivningstabell.
Examples
Description
I följande exempel bearbetas Adventure Works DW Multidimensional 2012-exempeldatabasen för SQL Server Analysis Services fullt ut.
Kod
<Process xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
<Object>
<DatabaseID>Adventure Works DW Multidimensional 2012</DatabaseID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
Description
I följande exempel bearbetas stegvis partitionen Internet_Sales_2004 i måttgruppen Internet Sales i Adventure Works DW-kuben i exempeldatabasen Adventure Works DW Multidimensional 2012 för SQL Server Analysis Services. Kommandot Process lägger till aggregeringar för orderdatum senare än den 31 december 2006 i partitionen med hjälp av en out-of-line-frågebindning i bindningsegenskapen för kommandot Process för att hämta faktatabellrader som du vill generera sammansättningar att lägga till i partitionen.
Kod
<Process ProcessAffectedObjects="true" xmlns="http://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>