Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A UPDATE instrução CUBE é usada para reescrever dados em qualquer célula de um cubo que agregue para seu pai usando a agregação SUM. Para mais explicações e um exemplo, veja "Entendendo Alocações" neste post do blog: Construindo uma Aplicação de Escrita com Serviços de Análise (blog).
Syntax
UPDATE [ CUBE ] Cube_Name
SET
<update clause>
[, <update clause> ...n ]
<update clause> ::=
Tuple_Expression[.VALUE]= New_Value
[
USE_EQUAL_ALLOCATION
| USE_EQUAL_INCREMENT
| USE_WEIGHTED_ALLOCATION [ BY Weight_Expression]
| USE_WEIGHTED_INCREMENT [ BY Weight_Expression]
]
Arguments
Cube_Name
Uma cadeia válida que fornece o nome de um cubo.
Tuple_Expression
Uma expressão válida de Expressões Multidimensionais (MDX) que retorna uma tupla.
New_Value
Uma expressão numérica válida.
Weight_Expression
Uma expressão numérica válida de Expressões Multidimensionais (MDX) que retorna um valor decimal entre 0 e 1.
Remarks
Você pode atualizar o valor de uma célula folha ou não-folha especificada em um cubo, alocando opcionalmente o valor de uma célula não-folha especificada entre células folha dependentes. A célula especificada pela expressão da tupla pode ser qualquer célula válida no espaço multidimensional (ou seja, a célula não precisa ser uma célula folha). No entanto, a célula deve ser agregada com a função agregada Soma e não deve incluir um membro calculado na tupla usada para identificar a célula.
Pode ser útil pensar na UPDATE instrução CUBE como uma sub-rotina que gerará automaticamente uma série de operações de escrita de células individuais para células folha e não folha, que se acumularão em uma soma especificada.
A seguir está uma descrição dos métodos de alocação.
USE_EQUAL_ALLOCATION: Cada célula folha que contribui para a célula atualizada receberá um valor igual com base na expressão seguinte.
<leaf cell value> =
<New Value> / Count(leaf cells that are contained in <tuple>)
USE_EQUAL_INCREMENT: Cada célula da folha que contribuir para a célula atualizada será alterada de acordo com a seguinte expressão.
<leaf cell value> = <leaf cell value> +
(<New Value > - <existing value>) /
Count(leaf cells contained in <tuple>)
USE_WEIGHTED_ALLOCATION: Cada célula folha que contribui para a célula atualizada receberá um valor igual baseado na expressão seguinte.
<leaf cell value> = < New Value> * Weight_Expression
USE_WEIGHTED_INCREMENT: Cada célula da folha que contribuir para a célula atualizada será alterada de acordo com a seguinte expressão.
<leaf cell value> = <leaf cell value> +
(<New Value> - <existing value>) * Weight_Expression
Se uma expressão de peso não for especificada, a UPDATE instrução CUBE usa implicitamente a seguinte expressão.
Weight_Expression = <leaf cell value> / <existing value>
Uma expressão de peso deve ser expressa como um valor decimal entre zero (0) e 1. Esse valor especifica a razão entre o valor alocado que você deseja atribuir às células da folha afetadas pela alocação. O programador da aplicação cliente tem a responsabilidade de criar expressões cujos valores agregados de rollup serão iguais ao valor alocado da expressão.
Caution
A aplicação cliente deve considerar a alocação de todas as dimensões simultaneamente para evitar possíveis resultados inesperados, incluindo valores de rollup incorretos ou dados inconsistentes.
Cada UPDATE alocação de CUBE deve ser considerada atômica para fins transacionais. Isso significa que, se qualquer uma das operações de alocação falhar por qualquer motivo, como um erro em uma fórmula ou uma violação de segurança, toda UPDATE a operação CUBE falhará. Antes que os cálculos das operações individuais de alocação sejam processados, é feito um snapshot dos dados para garantir que os cálculos resultantes estejam corretos.
Caution
Quando usado em uma medida que contém inteiros, o método USE_WEIGHTED_ALLOCATION pode devolver resultados imprecisos causados por mudanças incrementais de arredondamento.
Importante
Quando as células atualizadas não se sobrepõem, a propriedade de cadeia de conexão de nível de isolamento de atualização pode ser usada para melhorar o desempenho do UPDATE CUBE.
Consulte Também
ConnectionString
Instruções de Manipulação de Dados MDX (MDX)