Compartir a través de


Usar reescrituras de cubos (MDX)

Los cubos pueden actualizarse mediante la instrucción UPDATE CUBE. Esta instrucción permite actualizar una tupla con un valor específico. Para utilizar de forma eficaz la instrucción UPDATE CUBE a fin de actualizar, un cubo es preciso comprender la sintaxis de la instrucción, las condiciones de error que pueden generarse y el efecto de las actualizaciones en el cubo.

Sintaxis de la instrucción UPDATE CUBE

La siguiente sintaxis describe la instrucción UPDATE CUBE:

UPDATE [CUBE] <Cube_Name> SET <tuple>.VALUE = <value> [,<tuple>.VALUE = <value>...]
 [ USE_EQUAL_ALLOCATION | USE_EQUAL_INCREMENT |
  USE_WEIGHTED_ALLOCATION [BY <weight value_expression>] |
  USE_WEIGHTED_INCREMENT [BY <weight value_expression>] ] 

Si no se especifica un conjunto completo de coordenadas para la tupla, las que no se hayan especificado usarán el miembro predeterminado de la jerarquía. La tupla identificada debe hacer referencia a una celda agregada con la función Sum y no debe utilizar ningún miembro calculado como una de las coordenadas de la celda.

Podría decirse que la instrucción UPDATE CUBE es una subrutina que genera una serie de operaciones de reescritura individuales en celdas atómicas. Todas estas operaciones de reescritura individuales se resumen después en la suma especificada. En el siguiente ejemplo, la instrucción UPDATE CUBE actualiza la medida Unit Shipped para la familia de productos Drink a cero (0):

UPDATE CUBE [Warehouse and Sales] SET ([Measures].[Units Shipped], [Product].[Product Family].[Product Family].&[Drink]) = 0 USE_NO_ALLOCATION

[!NOTA]

MicrosoftSQL ServerAnalysis Services permite actualizar cualquier celda.

Nota importanteImportante

Si las celdas actualizadas no se superponen, se puede utilizar la propiedad de la cadena de conexión Update Isolation Level para mejorar el rendimiento de UPDATE CUBE. Para obtener más información, vea ConnectionString.

Condiciones de error

En la siguiente tabla se describe lo que puede hacer que una operación de reescritura genere un error y el resultado de tales errores.

Condición de error

Resultado

La actualización incluye miembros de la misma dimensión que no pueden coexistir.

La actualización generará un error. El espacio del cubo no contendrá la celda a la que se hace referencia.

La actualización incluye una medida con origen en una medida de un tipo sin signo.

La actualización generará un error. Los incrementos exigen que la medida acepte valores negativos.

La actualización incluye una medida que agrega elementos distintos de Sum.

Se genera un error.

Se ha intentado realizar la actualización en un subcubo.

Se genera un error.

Efecto de los cambios en el cubo

Los siguientes cambios no tienen ningún efecto sobre las reescrituras:

  • Procesamiento de un cubo, los grupos de medida del cubo o las dimensiones del cubo.

  • Agregar atributos a una dimensión.

  • Agregar una nueva dimensión.

  • Eliminar una dimensión que no incluye la reescritura.

  • Agregar, modificar o eliminar una jerarquía.

  • Agregar una nueva medida.

Los siguientes cambios no pueden llevarse a cabo sin eliminar los datos de la reescritura:

  • Eliminar un atributo, o su jerarquía de atributos, si el atributo está incluido en la reescritura. Esto incluye eliminar explícitamente el atributo, o su jerarquía de atributos, o bien eliminar la dimensión primaria del atributo.

  • Eliminar una medida incluida en la reescritura.

  • Agregar un atributo sin un nivel (All) a una dimensión incluida en la reescritura.

  • Cambiar la granularidad de dimensión de una dimensión incluida en la reescritura.

Vea también

Conceptos