Usando Cube Writebacks (MDX)
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 a instrução UPDATE CUBE de forma eficiente para atualizar um cubo, você precisa entender a sintaxe da instrução, as condições de erro que podem acontecer, e como as atualizações podem afetar um cubo.
Sintaxe da instrução UPDATE CUBE
A seguinte sintaxe 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 que seja agregada com a função Sum, 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 a células atômicas. Todas essas operações de write-back individuais são agregadas à soma especificada. No exemplo a seguir, a instrução UPDATE CUBE atualiza a medida da Unidade Remetida da família de produto de Bebida para zero (0):
UPDATE CUBE [Warehouse and Sales] SET ([Measures].[Units Shipped], [Product].[Product Family].[Product Family].&[Drink]) = 0 USE_NO_ALLOCATION
Observação |
---|
No MicrosoftSQL ServerAnalysis Services, você pode atualizar qualquer célula. |
Importante |
---|
Quando células atualizadas não se sobrepõem, a propriedade de cadeia de caracteres da conexão Update Isolation Level pode ser usada para aprimorar o desempenho de UPDATE CUBE. Para obter mais informações, consulte ConnectionString. |
Condições de erro
A tabela a seguir descreve a causa de falha dos write-backs e o resultado desses erros.
Condição de erro |
Resultado |
---|---|
A atualização inclui membros da mesma dimensão que não existem um com o outro. |
Haverá falha na atualização. O espaço do cubo não conterá a célula mencionada. |
A atualização inclui uma medida com origem em uma medida de um tipo não atribuído. |
Haverá falha na atualização. Os incrementos requerem que a medida possa receber um valor negativo. |
A atualização inclui uma medida que agrega um item diferente da soma. |
Foi gerado um erro. |
Foi tentada uma atualização em um subcubo. |
Foi gerado um erro. |
Efeito das mudanças do cubo
As seguintes mudanças não vão afetar um write-back:
Processamento de um cubo, dos grupos de medidas do cubo ou das 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.
Adicionando, modificando ou removendo uma hierarquia.
Adicionando uma nova medida.
As seguintes mudanças não podem ser feitas sem remover os dados de write-back:
Excluindo um atributo, ou sua hierarquia de atributo, se o atributo estiver incluído no write-back. Isso inclui explicitamente remover o atributo, ou sua hierarquia de atributo, ou remover a dimensão pai do atributo.
Excluindo uma medida incluída no write-back.
Adicionando um atributo sem um nível (All) a uma dimensão incluída no write-back.
Alterando a granularidade da dimensão da dimensão incluída no write-back.