共用方式為


處理物件 (XMLA)

在 Microsoft SQL Server Analysis Services中,處理是將資料轉換成商務分析資訊的步驟或一系列步驟。 處理會因物件類型而異,但是處理永遠都是將資料轉換為資訊的一部分。

若要處理 Analysis Services 物件,您可以使用 Process 命令。 Process此命令可以在 Analysis Services 實例上處理下列物件:

  • Cube

  • 資料庫

  • 維度

  • 量值群組

  • 採礦模型

  • 採礦結構

  • 資料分割

若要控制物件的處理,Process 命令具有各種可以設定的屬性。 Process 命令具有可控制以下動作的屬性:將完成多少處理、將處理哪些物件、是否使用非正規的繫結、如何處理錯誤以及如何管理回寫資料表。

指定處理選項

命令的 ProcessType屬性會指定處理物件時要使用的處理選項。 如需處理選項的詳細資訊,請參閱 處理選項和設定 (Analysis Services)

下表列出 Type 屬性的常數,以及各種可使用每個常數處理的物件。

Type 適用的物件
ProcessFull Cube、資料庫、維度、量值群組、採礦模型、採礦結構、資料分割
ProcessAdd 維度、資料分割
ProcessUpdate 尺寸
ProcessIndexes 維度、Cube、量值群組,磁碟分割
ProcessData 維度、Cube、量值群組,磁碟分割
ProcessDefault Cube、資料庫、維度、量值群組、採礦模型、採礦結構、資料分割
ProcessClear Cube、資料庫、維度、量值群組、採礦模型、採礦結構、資料分割
ProcessStructure Cube、採礦結構
ProcessClearStructureOnly 採礦結構
ProcessScriptCache Cube

如需處理 Analysis Services 物件的詳細資訊,請參閱 多維度模型物件處理

指定要處理的物件

命令的 ProcessObject屬性包含要處理之物件的物件識別碼。 在 Process 命令中只能指定一個物件,但是處理物件也會處理任何子系物件。 例如,在 Cube 處理序中處理量值群組會處理該量值群組的所有資料分割,然而處理資料庫處理序則會處理資料庫包含的所有物件,包括 Cube、維度和採礦結構。

如果您將 ProcessAffectedObjects 命令的 Process 屬性設定為 True,則也會處理指定物件所影響的任何相關物件。 例如,如果使用 命令中的 ProcessProcessUpdate處理選項以累加方式更新維度,如果 Analysis Services 設定為 true,則因為加入或刪除成員而使匯總失效的任何分割區也會由 Analysis Services ProcessAffectedObjects 處理。 在此情況下,單 Process 一命令可以在 Analysis Services 實例上處理多個物件,但 Analysis Services 會決定除了命令中指定的 Process 單一物件之外,還必須處理哪些物件。

不過,您可以使用 Process 命令中的 Batch 命令來同時處理多個物件 (例如維度)。 批次作業提供比使用 ProcessAffectedObjects 屬性更精細的 Analysis Services 實例上物件序列或平行處理的控制層級,並可讓您調整較大型 Analysis Services 資料庫的處理方法。 如需執行批次作業的詳細資訊,請參閱 執行批次作業 (XMLA)

指定非正規繫結

如果命令未包含 Batch 此命令,您可以選擇性地在命令的 ProcessBindingsDataSource 和 DataSourceView屬性中指定離線系結,以便處理物件Process 非正規 (out-of-line) 繫結是資料來源、資料來源檢視以及其他物件的參考,其中繫結只會在 Process 命令執行期間存在,而且會覆寫任何與要處理的物件關聯的現有繫結。 如果未指定非正規 (out-of-line) 繫結,會使用與要處理的物件目前關聯的繫結。

非正規 (out-of-line) 繫結用於在下列情況:

  • 以累加方式處理資料分割,其中必須指定替代的事實資料表或是在現有事實資料表上的篩選,以確定不會計數資料列兩次。

  • 在 Microsoft SQL Server Integration Services 中使用資料流程工作,在處理維度、採礦模型或資料分割時提供資料。

非正規繫結 (out-of-line) 是以 Analysis Services 指令碼語言 (ASSL) 的一部分來描述。 如需 ASSL 中離線系結的詳細資訊,請參閱 資料來源和系結 (SSAS 多維度)

以累加方式更新資料分割

以累加方式更新已經處理的資料分割通常需要非正規繫結 (out-of-line),因為針對資料分割所指定的繫結,會參考已經在資料分割中彙總的事實資料表資料。 使用 Process 命令以累加方式更新已處理的資料分割時,Analysis Services 會執行下列動作:

  • 建立一個與要以累加方式更新的資料分割有相同結構的暫存資料分割。

  • 使用在 Process 命令中指定的非正規繫結 (out-of-line) 來處理暫存資料分割。

  • 以現有選取的資料分割,合併暫存資料分割。

如需使用 XML 進行分析 (XMLA) 合併資料分割的詳細資訊,請參閱 合併資料分割 (XMLA)

處理在處理時發生的錯誤

命令的 ProcessErrorConfiguration屬性可讓您指定如何處理處理物件時遇到的錯誤。 例如,處理維度時,Analysis Services 會在索引鍵屬性的索引鍵資料行中遇到重複的值。 因為屬性索引鍵必須是唯一的,所以 Analysis Services 會捨棄重複的記錄。 根據 的 ErrorConfigurationKeyDuplicate屬性,Analysis Services 可以:

  • 忽略錯誤並繼續處理維度。

  • 傳回訊息,指出 Analysis Services 遇到重複的索引鍵並繼續處理。

ErrorConfigurationProcess 命令期間提供選項時,有許多類似的狀況。

管理回寫資料表

如果 Process 命令遇到可寫入的資料分割,或是這類資料分割尚未完全處理的 Cube 或是量值群組,該資料分割可能不會有已經存在的回寫資料表。 命令的 ProcessWritebackTableCreation屬性會決定 Analysis Services 是否應該建立回寫資料表。

範例

描述

下列範例會完整處理 Adventure Works DW 多維度 2012 範例 Analysis Services 資料庫。

程式碼

<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>  

描述

下列範例會累加處理 Adventure Works DW 多維度 2012 範例 Analysis Services 資料庫中Adventure Works DW Cube 之Internet Sales量值群組中的Internet_Sales_2004分割區。 Process此命令會在 2006 年 12 月 31 日之後新增訂單日期的匯總至資料分割,方法是使用 命令 的 屬性 Process 中的 Bindings 行外查詢系結來擷取要從中產生匯總以新增至資料分割的事實資料表資料列。

程式碼

<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>