UPDATE CUBE (Instrucción, MDX)
Actualizado: 17 de julio de 2006
Actualiza el valor de una celda hoja o no hoja especificada en un cubo, asignando opcionalmente el valor de una celda no hoja especificada entre las celdas hoja dependientes.
Sintaxis
UPDATE [ CUBE ] Cube_Name
SET
<update clause>
[, <update clause> ...n ]
<update clause> ::=
Tuple_Expression[.VALUE]= New_Value
[
NO_ALLOCATION
| USE_EQUAL_ALLOCATION
| USE_EQUAL_INCREMENT
| USE_WEIGHTED_ALLOCATION [ BY Weight_Expression]
| USE_WEIGHTED_INCREMENT [ BY Weight_Expression]
]
Argumentos
- Cube_Name
Cadena válida que proporciona el nombre de un cubo.
- Tuple_Expression
Expresión MDX válida que devuelve una tupla.
- New_Value
Expresión numérica válida.
- Weight_Expression
Expresión numérica MDX (Expresiones multidimensionales) válida que devuelve un valor decimal entre 0 y 1.
Notas
La celda especificada por la expresión de tupla puede ser cualquier celda válida del espacio multidimensional (es decir, la celda no tiene que ser una celda hoja). Sin embargo, la celda debe agregarse con la función de agregado Sum y no debe incluir un miembro calculado en la tupla que se utiliza para identificar la celda.
Puede ser de utilidad considerar la instrucción UPDATE CUBE como una subrutina que generará automáticamente una serie de operaciones de reescritura de celdas individuales en celdas hoja y celdas distintas de hoja que se resumirán en una suma especificada.
La siguiente tabla describe los métodos de asignación.
Método de asignación | Descripción |
---|---|
USE_EQUAL_ALLOCATION |
Cada celda hoja que contribuye a la celda actualizada se asignará un valor igual basado en la siguiente expresión:
|
USE_EQUAL_INCREMENT |
Cada celda hoja que contribuye a la celda actualizada se cambiará de acuerdo con la siguiente expresión:
|
USE_WEIGHTED_ALLOCATION |
A cada celda hoja que contribuye a la celda actualizada se asignará un valor igual basado en la siguiente expresión:
|
USE_WEIGHTED_INCREMENT |
Cada celda hoja que contribuye a la celda actualizada se cambiará de acuerdo con la siguiente expresión:
|
Si no se especifica una expresión de peso, la instrucción UPDATE CUBE utiliza de forma implícita la siguiente expresión:
Weight_Expression = <leaf cell value> / <existing value>
Una expresión de peso debe expresarse como valor decimal entre cero (0) y 1. Este valor especifica la proporción del valor asignado que desea asignar a las celdas hoja afectadas por la asignación. El programador de la aplicación cliente es el responsable de crear expresiones con valores agregados de resumen que sean iguales al valor asignado de la expresión.
Advertencia: |
---|
La aplicación cliente debe considerar la asignación de todas las dimensiones de forma simultánea para evitar posibles resultados inesperados, incluidos los valores de resumen incorrectos o los datos incoherentes. |
Las asignaciones UPDATE CUBE deben considerarse atómicas para fines transaccionales. Eso significa que si alguna de las operaciones de asignación no tiene éxito por alguna razón, como un error en una fórmula o una violación de seguridad, se producirá un error de toda la operación UPDATE CUBE. Antes de procesar los cálculos de las operaciones de asignación individuales, se toma una instantánea de los datos para garantizar que los cálculos resultantes sean correctos.
Advertencia: |
---|
Cuando se utiliza en una medida que contiene enteros, el método USE_WEIGHTED_ALLOCATION puede devolver resultados imprecisos causados por cambios en el redondeo incremental. |
Vea también
Otros recursos
Instrucciones de manipulación de datos de MDX (MDX)
Ayuda e información
Obtener ayuda sobre SQL Server 2005
Historial de cambios
Versión | Historial |
---|---|
17 de julio de 2006 |
|