Condividi tramite


Utilizzo dei writeback dei cubi (MDX)

È possibile aggiornare un cubo utilizzando l'istruzione UPDATE CUBE. Tale istruzione consente di aggiornare una tupla con un valore specifico. Per utilizzare in modo efficace l'istruzione UPDATE CUBE per l'aggiornamento di un cubo, è importante conoscere la sintassi dell'istruzione, le condizioni di errore che possono verificarsi e i possibili effetti degli aggiornamenti su un cubo.

Sintassi dell'istruzione UPDATE CUBE

La sintassi dell'istruzione UPDATE CUBE è la seguente:

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 per la tupla non è stato specificato un set completo di coordinate, per le coordinate non specificate verrà utilizzato il membro predefinito della gerarchia. La tupla identificata deve fare riferimento a una cella aggregata tramite la funzione Sum e non deve includere celle con coordinate costituite da membri calcolati.

È possibile pensare all'istruzione UPDATE CUBE come a una subroutine che genera una serie di operazioni di writeback singole su celle atomiche. Tutte queste operazioni di writeback singole contribuiscono a generare la somma specificata. Nell'esempio seguente l'istruzione UPDATE CUBE imposta su zero (0) la misura Unit Shipped per la famiglia di prodotti Drink:

UPDATE CUBE [Warehouse and Sales] SET ([Measures].[Units Shipped], [Product].[Product Family].[Product Family].&[Drink]) = 0 USE_NO_ALLOCATION

[!NOTA]

In MicrosoftSQL ServerAnalysis Services, è possibile aggiornare qualsiasi cella.

Nota importanteImportante

Quando celle aggiornate non si sovrappongono, la proprietà della stringa di connessione Update Isolation Level può essere utilizzata per migliorare le prestazioni di UPDATE CUBE. Per ulteriori informazioni, vedere ConnectionString.

Condizioni di errore

Nella tabella seguente vengono descritte le possibili cause di errore dei writeback e le conseguenze di tali errori.

Condizione di errore

Risultato

L'aggiornamento include membri incompatibili della stessa dimensione.

L'aggiornamento non verrà eseguito e lo spazio del cubo non conterrà la cella a cui è stato fatto riferimento.

L'aggiornamento include una misura originata da una misura di un tipo senza segno.

L'aggiornamento non verrà eseguito. Per gli incrementi è necessario che la misura possa contenere un valore negativo.

L'aggiornamento include una misura con un'aggregazione diversa dalla somma.

Verrà generato un errore.

È stato tentato un aggiornamento su un sottocubo.

Verrà generato un errore.

Effetti delle modifiche al cubo

Le modifiche seguenti non hanno effetto su un writeback:

  • Elaborazione di un cubo, dei gruppi di misure del cubo o delle dimensioni del cubo.

  • Aggiunta di attributi a una dimensione.

  • Aggiunta di una nuova dimensione.

  • Eliminazione di una dimensione che non include il writeback.

  • Aggiunta, modifica o rimozione di una gerarchia.

  • Aggiunta di una nuova misura.

Le modifiche seguenti non possono essere eseguite senza rimuovere i dati di writeback:

  • Eliminazione di un attributo o della relativa gerarchia, se l'attributo è incluso nel writeback. È inclusa la rimozione esplicita dell'attributo, o della relativa gerarchia, o la rimozione della dimensione padre dell'attributo.

  • Eliminazione di una misura inclusa nel writeback.

  • Aggiunta di un attributo privo del livello (All) a una dimensione inclusa nel writeback.

  • Modifica della granularità di una dimensione inclusa nel writeback.

Vedere anche

Concetti