Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En Microsoft SQL Server Analysis Services, el procesamiento es el paso o serie de pasos que convierten los datos en información para el análisis empresarial. El procesamiento es diferente en función del tipo de objeto, pero el procesamiento siempre forma parte de convertir los datos en información.
Para procesar un objeto de Analysis Services, puede usar el comando Process . El Process comando puede procesar los siguientes objetos en una instancia de Analysis Services:
Cubos
Bases de datos
Dimensiones
Grupos de medidas
Modelos de minería de datos
Estructuras de minería de datos
Particiones
Para controlar el procesamiento de objetos, el Process comando tiene varias propiedades que se pueden establecer. El Process comando tiene propiedades que controlan: la cantidad de procesamiento que se realizará, qué objetos se procesarán, si se usarán enlaces fuera de línea, cómo controlar los errores y cómo administrar tablas de escritura diferida.
Especificar opciones de procesamiento
La propiedad Type del Process comando especifica la opción de procesamiento que se va a usar al procesar el objeto. Para obtener más información sobre las opciones de procesamiento, vea Opciones de procesamiento y configuración (Analysis Services) .
En la tabla siguiente se enumeran las constantes de la Type propiedad y los distintos objetos que se pueden procesar mediante cada constante.
Type valor |
Objetos aplicables |
|---|---|
| ProcessFull | Cubo, base de datos, dimensión, grupo de medida, modelo de minería de datos, estructura de minería de datos, partición |
| ProcessAdd | Dimensión, partición |
| ProcessUpdate | Dimensión |
| ProcessIndexes | Dimensión, cubo, grupo de medida, partición |
| ProcessData | Dimensión, cubo, grupo de medida, partición |
| ProcessDefault | Cubo, base de datos, dimensión, grupo de medida, modelo de minería de datos, estructura de minería de datos, partición |
| ProcessClear | Cubo, base de datos, dimensión, grupo de medida, modelo de minería de datos, estructura de minería de datos, partición |
| ProcessStructure | Cubo, estructura de minería de datos |
| ProcessClearStructureOnly | Estructura de minería |
| ProcessScriptCache | Cubo |
Para obtener más información sobre el procesamiento de objetos de Analysis Services, vea Procesamiento de objetos de modelo multidimensional.
Especificación de objetos que se van a procesar
La propiedad Object del Process comando contiene el identificador de objeto del objeto que se va a procesar. Solo se puede especificar un objeto en un Process comando, pero el procesamiento de un objeto también procesa los objetos secundarios. Por ejemplo, el procesamiento de un grupo de medida en un cubo procesa todas las particiones de ese grupo de medida, mientras que el procesamiento de una base de datos procesa todos los objetos, incluidos los cubos, las dimensiones y las estructuras de minería de datos, que contiene la base de datos.
Si establece el ProcessAffectedObjects atributo del Process comando en true, también se procesa cualquier objeto relacionado afectado por el procesamiento del objeto especificado. Por ejemplo, si una dimensión se actualiza incrementalmente mediante la opción de procesamiento ProcessUpdate en el Process comando , cualquier partición cuyas agregaciones se invalidan debido a que Analysis Services agrega o elimina miembros también los procesa si ProcessAffectedObjects se establece en true. En este caso, un solo Process comando puede procesar varios objetos en una instancia de Analysis Services, pero Analysis Services determina qué objetos además del único objeto especificado en el Process comando también se deben procesar.
Sin embargo, puede procesar varios objetos, como dimensiones, al mismo tiempo mediante varios Process comandos dentro de un Batch comando. Las operaciones por lotes proporcionan un nivel de control más preciso para el procesamiento serie o paralelo de objetos en una instancia de Analysis Services que el uso del atributo y le permiten ajustar el ProcessAffectedObjects enfoque de procesamiento para bases de datos de Analysis Services más grandes. Para obtener más información sobre cómo realizar operaciones por lotes, vea Realizar operaciones por lotes (XMLA).
Especificar enlaces fuera de línea
Si el Process comando no está contenido en un Batch comando, opcionalmente puede especificar enlaces fuera de línea en las propiedades Bindings, DataSource y DataSourceView del Process comando para que los objetos se procesen. Los enlaces fuera de línea son referencias a orígenes de datos, vistas de origen de datos y otros objetos en los que el enlace solo existe durante la ejecución del Process comando y que invalidan los enlaces existentes asociados a los objetos que se procesan. Si no se especifican enlaces fuera de línea, se usan los enlaces asociados actualmente a los objetos que se van a procesar.
Los enlaces fuera de línea se usan en las siguientes circunstancias:
Procesar incrementalmente una partición, en la que se debe especificar una tabla de hechos alternativa o un filtro en la tabla de hechos existente para asegurarse de que las filas no se cuentan dos veces.
Usar una tarea de flujo de datos en Microsoft SQL Server Integration Services para proporcionar datos al procesar una dimensión, un modelo de minería de datos o una partición.
Los enlaces fuera de línea se describen como parte del lenguaje de scripting de Analysis Services (ASSL). Para obtener más información sobre los enlaces fuera de línea en ASSL, consulte Orígenes de datos y enlaces (SSAS Multidimensional) .
Actualización incremental de particiones
La actualización incremental de una partición ya procesada normalmente requiere un enlace fuera de línea porque el enlace especificado para la partición hace referencia a los datos de la tabla de hechos ya agregados dentro de la partición. Al actualizar incrementalmente una partición ya procesada mediante el Process comando , Analysis Services realiza las siguientes acciones:
Crea una partición temporal con una estructura idéntica a la de la partición que se va a actualizar incrementalmente.
Procesa la partición temporal mediante el enlace fuera de línea especificado en el
Processcomando .Combina la partición temporal con la partición seleccionada existente.
Para obtener más información sobre cómo combinar particiones mediante XML for Analysis (XMLA), consulte Combinación de particiones (XMLA).
Control de errores de procesamiento
La propiedad ErrorConfiguration del Process comando permite especificar cómo controlar los errores detectados al procesar un objeto . Por ejemplo, al procesar una dimensión, Analysis Services encuentra un valor duplicado en la columna de clave del atributo de clave. Dado que las claves de atributo deben ser únicas, Analysis Services descarta los registros duplicados. En función de la propiedad KeyDuplicate de ErrorConfiguration, Analysis Services podría:
Omita el error y continúe procesando la dimensión.
Devuelve un mensaje que indica que Analysis Services encontró una clave duplicada y continúa el procesamiento.
Hay muchas condiciones similares para las que ErrorConfiguration proporciona opciones durante un Process comando.
Administración de tablas de reescritura
Si el Process comando encuentra una partición habilitada para escritura o un cubo o grupo de medida para dicha partición, que aún no se ha procesado por completo, es posible que una tabla de reescritura aún no exista para esa partición. La propiedad WritebackTableCreation del Process comando determina si Analysis Services debe crear una tabla de reescritura.
Ejemplos
Descripción
En el ejemplo siguiente se procesa completamente la base de datos de Analysis Services de ejemplo Adventure Works DW 2012.
Código
<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>
Descripción
En el ejemplo siguiente se procesa incrementalmente la partición de Internet_Sales_2004 en el grupo de medida Ventas por Internet del cubo Adventure Works DW en la base de datos de Ejemplo de Analysis Services de Adventure Works DW 2012. El Process comando agrega agrega agregaciones para las fechas de pedido posteriores al 31 de diciembre de 2006 a la partición mediante un enlace de consulta fuera de línea en la Bindings propiedad del Process comando para recuperar las filas de la tabla de hechos de las que se van a generar agregaciones para agregar a la partición.
Código
<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>