Como comentamos anteriormente, cuando se realiza un procesamiento incremental de una dimensión donde el nuevo conjunto de datos se solapa con los datos existentes, la información no se va a duplicar. La información anterior se mantiene y se incorpora la información nueva.

Para nuestro ejemplo, vamos a utilizar una dimensión Hora en la que el atributo clave Hora va a ser visible en la exploración de la dimensión.

El atributo hora tiene como propiedad NameColumn el nombre del minuto y como clave el Id del minuto.

Procesamiento incremental de dimensiones II

La dimensión Hora está asociada a una consulta en el Data Source View que nos ayuda en el procesamiento incremental

SELECT Hora.Idhora,

         Hora.DescripcionHora,

         Hora.NombreHora24,

         Hora.Hora,

         Hora.NombreHora,

         Hora.Minuto,

         Hora.IdMinuto,

         Hora.NombreMinuto,

Hora.Hora24,

         Hora.AM

FROM Hora

        INNER JOIN RangoIncremental ON

                Hora.Idhora >= RangoIncremental.Idfrom

            AND Hora.Idhora <= RangoIncremental.Idto

Donde la tabla RangoIncremental determina el rango de claves a procesar cada vez.

Vamos a inicializar la tabla RangoIncremental con los valores IdFrom = 0 e IdTo = 10 y a continuación vamos a inicializar la dimensión con un procesamiento completo con el siguiente script:

<Batch xmlns=http://schemas.microsoft.com/analysisservices/2003/engine>

<Parallel>

<Process xmlns:xsd=http://www.w3.org/2001/XMLSchemaxmlns:xsi=http://www.w3.org/2001/XMLSchema-instancexmlns:ddl2=http://schemas.microsoft.com/analysisservices/2003/engine/2xmlns:ddl2_2=http://schemas.microsoft.com/analysisservices/2003/engine/2/2>

<Object>

<DatabaseID>ProcesoIncremental</DatabaseID>

<DimensionID>Hora</DimensionID>

</Object>

<Type>ProcessFull</Type>

<WriteBackTableCreation>UseExisting</WriteBackTableCreation>

</Process>

</Parallel>

</Batch>

En este momento, al navegar por los miembros de la dimensión Hora vemos que solo tenemos los 10 elementos que acabamos de incorporar

Procesamiento incremental de dimensiones II

A continuación vamos a modificar la descripción del minuto 00:09 AM en la tabla fuente Hora con la etiqueta ’00:09 AM Nueva’ y vamos a actualizar el contenido de la tabla Proceso Incremental para que el siguiente procesamiento maneje las horas con valores entre 8 y 20.

Ahora si vamos a ejecutar un procesamiento incremental con el siguiente script

<Batch xmlns=http://schemas.microsoft.com/analysisservices/2003/engine>

<Parallel>

<Process xmlns:xsd=http://www.w3.org/2001/XMLSchemaxmlns:xsi=http://www.w3.org/2001/XMLSchema-instancexmlns:ddl2=http://schemas.microsoft.com/analysisservices/2003/engine/2xmlns:ddl2_2=http://schemas.microsoft.com/analysisservices/2003/engine/2/2>

<Object>

<DatabaseID>ProcesoIncremental</DatabaseID>

<DimensionID>Hora</DimensionID>

</Object>

<Type>ProcessAdd</Type>

<WriteBackTableCreation>UseExisting</WriteBackTableCreation>

</Process>

</Parallel>

</Batch>

Cuando navegamos por los miembros de la dimensión, vemos como el minuto 8 sigue manteniendo la misma etiqueta que se había almacenado en el procesamiento inicial, pero ahora vemos los primeros 20 elementos de nuestra tabla Hora

Procesamiento incremental de dimensiones II

Si hubiéramos ejecutado un ProcessUpdate la etiqueta se hubiera actualizado pero hubiéramos perdido aquellos elementos que se encontraran fuera del rango definido en nuestra tabla RangoIncremental

 

0 Shares:
1 comment
Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You May Also Like

Entornos tradicionales de BI desplegados en arquitecturas cloud

Entornos tradicionales de BI desplegados en arquitecturas cloud. El procedimiento con el cual podremos realizar la puesta a punto de una arquitectura híbrida, comentando los requisitos y diferentes configuraciones necesarias para su creación y funcionamiento. Para esta arquitectura, debemos también comentar como antecedentes la arquitectura clásica de un dwh y la arquitectura Dwh moderna.
Leer más

Estudio de la competencia con Power BI

El estudio de la competencia siempre ha sido un aspecto tratado e importante para cualquier empresa: uno de los primeros pasos para poner en marcha cualquier tipo de negocio, o una parte del plan de marketing de una empresa en activo que permite dar contexto para definir las acciones. Sin entrar demasiado en detalles sobre cómo llevarla a cabo (eso queda en manos de los departamentos de marketing ? ), el objetivo de estos estudios de la competencia, muy a grandes rasgos, pretende identificar: dónde y con quién compites oportunidades de negocio detectar aspectos para diferenciarte