Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
SQL Server Analysis Services
Azure Analysis Services
Fabric/Power BI Premium
Atualiza um cubo usando a instrução UPDATE CUBE . Esta instrução permite-lhe atualizar uma tupla com um valor específico. Para usar eficazmente a instrução UPDATE CUBE para atualizar um cubo, é preciso compreender a sintaxe da instrução, as condições de erro que podem ocorrer e o efeito que as atualizações podem ter num cubo.
Sintaxe da Declaraçã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 não for especificado um conjunto completo de coordenadas 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 esteja agregada com a função Soma e não deve usar um membro calculado como uma das coordenadas da célula.
Pode pensar na instrução UPDATE CUBE como uma sub-rotina que gera uma série de operações individuais de escrita para células atómicas. Todas estas operações individuais de writeback acumulam-se depois na soma especificada.
Observação
Quando as células atualizadas não se sobrepõem, a propriedade de cadeia de ligação Update Isolation Level pode ser usada para melhorar o desempenho do UPDATE CUBE. Para obter mais informações, consulte ConnectionString.
Example
Pode testar o UPDATE CUBE utilizando o grupo de medidas "Sales Targets" no cubo Adventure Works. Este grupo de medidas consiste em medidas agregadas por SUM, que é um requisito para o UPDATE CUBE.
Ative a escrita no grupo de medidas de Metas de Vendas da base de dados Adventure Works. No Management Studio, clique com o botão direito num grupo de medidas, aponte para Opções de Escrita, escolha Ativar Writeback.
Deves ver uma nova tabela de writeback na pasta Writeback. O nome da tabela é WriteTable_Fact Sales Quota.
Abra uma janela de consulta MDX. Execute a seguinte instrução select para visualizar o valor original:
SELECT [Measures].[Sales Amount Quota] on 0 , [Employee].[Employee Department].[Title].&[Sales Representative].children on 1 FROM [Adventure Works]Deverá ver as quotas de vendas para cada representante.
Executa a instrução update cube para reescrever um novo valor. Neste exemplo, estamos a definir a quota de vendas para 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. Agora deverá ver zero nas quotas.
O valor de writeback está limitado à sessão atual. Para assegurar a persistência do valor entre utilizadores e sessões, processe a tabela de writeback. No Management Studio, clique com o botão direito WriteTable_Fact Quota 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 para a Quota de Valor de Vendas é de dois milhões e o método de alocação distribui o montante por 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 seguinte descreve tanto o que pode causar falhas nos registos como os resultados desses erros.
| Condição de erro | Result |
|---|---|
| A atualização inclui membros da mesma dimensão que não coexistem entre si. | A atualização vai falhar. O espaço do cubo não conterá a célula referenciada. |
| A atualização inclui uma medida baseada numa medida de tipo não assinado. | A atualização vai falhar. Os incrementos exigem que a medida possa obter um valor negativo. |
| A atualização inclui uma medida que agrega para além da soma. | Ocorre um erro. |
| A atualização foi testada num subcube. | É gerado um erro. |
Efeito das Alterações do Cubo
As seguintes alterações não terão efeito numa escrita de retorno:
Processamento de um cubo, dos grupos de medida do cubo ou das dimensões do cubo.
Adicionar atributos a qualquer dimensão.
Acrescentando uma nova dimensão.
Eliminar uma dimensão que não inclui o processo de escrita reversa.
Adicionar, modificar ou remover uma hierarquia.
Adicionar uma nova medida.
As seguintes alterações não podem ser feitas sem remover os dados de writeback:
Eliminar um atributo, ou a sua hierarquia de atributos, caso o atributo esteja incluído na escrita de retorno. Isto inclui remover explicitamente o atributo, ou a sua hierarquia de atributos, ou remover a dimensão pai do atributo.
Eliminar uma medida incluída no writeback.
Adicionar um atributo sem um nível (All) a uma dimensão incluída no writeback.
Alterar a granularidade de uma dimensão incluída no writeback.