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.
Você atualiza um cubo usando a instrução UPDATE CUBE . Essa instrução permite que você atualize uma tupla com um valor específico. Para usar efetivamente a instrução UPDATE CUBE para atualizar um cubo, você precisa entender a sintaxe da instrução, as condições de erro que podem ocorrer e o efeito que as atualizações podem ter em um cubo.
Sintaxe da instrução UPDATE CUBE
A sintaxe a seguir descreve a instrução 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>] ]
Se um conjunto completo de coordenadas não for especificado para a tupla, as coordenadas não especificadas usarão o membro padrão da hierarquia. A tupla identificada deve fazer referência a uma célula agregada com a função Soma e não deve usar um membro calculado como uma das coordenadas da célula.
Você pode pensar na instrução UPDATE CUBE como uma sub-rotina que gera uma série de operações de write-back individuais para células atômicas. Todas essas operações de write-back individuais são acumuladas na soma especificada.
Observação
Quando as células atualizadas não se sobrepõem, a propriedade de string de conexão Update Isolation Level pode ser usada para melhorar o desempenho do UPDATE CUBE. Para obter mais informações, consulte ConnectionString.
Exemplo
Você pode testar o UPDATE CUBE usando o grupo de medidas Metas de Vendas no cubo Adventure Works. Esse grupo de medidas consiste em medidas agregadas por SUM, que é um requisito para UPDATE CUBE.
Habilite a gravação reversa para o grupo de medidas Destinos de Vendas no banco de dados Adventure Works. No Management Studio, clique com o botão direito do mouse em um grupo de medidas, aponte para Opções de Write-Back, escolha Habilitar Write-back.
Você deverá ver uma nova tabela de Writeback na pasta Writeback. O nome da tabela é WriteTable_Fact Cota de Vendas.
Abra uma janela de consulta MDX. Execute a seguinte instrução select para exibir o valor original:
SELECT [Measures].[Sales Amount Quota] on 0 , [Employee].[Employee Department].[Title].&[Sales Representative].children on 1 FROM [Adventure Works]Você deve ver cotas de valor de vendas para cada representante.
Execute a instrução 'update cube' para gravar um novo valor. Neste exemplo, estamos definindo a cota de valor de vendas como 0. Como o novo valor é 0, não especifique um método de alocação.
UPDATE CUBE [Adventure Works] SET ([Measures].[Sales Amount Quota], [Employee].[Employee Department].[Department].&[Sales]) = 0Execute novamente a instrução SELECT. Você deve ver agora zero nas cotas.
O valor de write-back é restrito à sessão atual. Para manter o valor entre usuários e sessões, processe a tabela de write-back. No Management Studio, clique com o botão direito do mouse em WriteTable_Fact Cota de Vendas e escolha Processo.
Para especificar um método de alocação, o novo valor deve ser maior que zero. Neste exemplo, o novo valor da Cota de Valor de Vendas é de dois milhões e o método de alocação distribui o valor entre todos os representantes de vendas.
UPDATE CUBE [Adventure Works]
SET ([Measures].[Sales Amount Quota], [Employee].[Employee Department].[Department].&[Sales]) = 2000000
USE_EQUAL_ALLOCATION
Condições de erro
A tabela a seguir descreve o que pode fazer com que os write-backs falhem e o resultado desses erros.
| Condição de erro | Resultado |
|---|---|
| A atualização inclui membros da mesma dimensão que não coexistem uns com os outros. | A atualização falhará. O espaço do cubo não conterá a célula referenciada. |
| A atualização inclui uma medida originada em uma medida de um tipo não assinado. | A atualização falhará. Incrementos exigem que a medida seja capaz de obter um valor negativo. |
| A atualização inclui uma medida que agrega além da soma. | Um erro é gerado. |
| A atualização foi testada em um subcubo. | Um erro é gerado. |
Efeito das mudanças no cubo
As seguintes alterações não terão efeito em um write-back:
Processamento de um cubo, grupos de medidas do cubo ou dimensões do cubo.
Adicionando atributos a qualquer dimensão.
Adicionando uma nova dimensão.
Excluindo uma dimensão que não inclui o write-back.
Adicionar, modificar ou remover uma hierarquia.
Adicionando uma nova medida.
As seguintes alterações não podem ser feitas sem remover os dados de write-back:
Excluindo um atributo ou sua hierarquia de atributos, se o atributo estiver incluído no write-back. Isso inclui remover explicitamente o atributo ou sua hierarquia de atributos ou remover a dimensão pai do atributo.
Excluindo uma medida incluída no write-back.
Adicionando um atributo sem um
(All)nível a uma dimensão incluída no write-back.Alterando a granularidade da dimensão para uma dimensão incluída no write-back.