Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Per aggiornare un cubo, usare l'istruzione UPDATE CUBE . Questo comando consente di aggiornare una tupla con un valore specifico. Per usare in modo efficace l'istruzione UPDATE CUBE per aggiornare un cubo, è necessario comprendere la sintassi per l'istruzione, le condizioni di errore che possono verificarsi e gli effetti che gli aggiornamenti possono avere in un cubo.
Sintassi della dichiarazione UPDATE CUBE
La sintassi seguente descrive l'istruzione 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 non viene specificato un set completo di coordinate per la tupla, le coordinate non specificate utilizzeranno il membro predefinito della gerarchia. La tupla identificata deve fare riferimento a una cella aggregata con la funzione Sum e non deve utilizzare un membro calcolato come una delle coordinate della cella.
È possibile considerare l'istruzione UPDATE CUBE come una subroutine che genera una serie di singole operazioni di scrittura inversa in celle atomiche. Tutte queste singole operazioni di writeback vengono quindi consolidate nella somma specificata.
Annotazioni
Quando le celle aggiornate non si sovrappongono, è possibile usare la proprietà della stringa di connessione Update Isolation Level per migliorare le prestazioni per UPDATE CUBE. Per altre informazioni, vedere ConnectionString.
Example
È possibile testare UPDATE CUBE usando il gruppo di misure Sales Targets nel cubo Adventure Works. Questo gruppo di misure è costituito da misure aggregate da SUM, che è un requisito per UPDATE CUBE.
Abilitare il writeback per il gruppo di misure Sales Targets nel database Adventure Works. In Management Studio fare clic con il pulsante destro del mouse su un gruppo di misure, scegliere Opzioni writeback, scegliere Abilita writeback.
Dovresti vedere una nuova tabella writeback nella cartella Writeback. Il nome della tabella è WriteTable_Fact Sales Quota.
Aprire una finestra di query MDX. Eseguire l'istruzione select seguente per visualizzare il valore originale:
SELECT [Measures].[Sales Amount Quota] on 0 , [Employee].[Employee Department].[Title].&[Sales Representative].children on 1 FROM [Adventure Works]Verranno visualizzate le quote di importo delle vendite per ogni rappresentante.
Eseguire l'istruzione update cube per eseguire il writeback di un nuovo valore. In questo esempio viene impostata la quota dell'importo delle vendite su 0. Poiché il nuovo valore è 0, non specificare un metodo di allocazione.
UPDATE CUBE [Adventure Works] SET ([Measures].[Sales Amount Quota], [Employee].[Employee Department].[Department].&[Sales]) = 0Eseguire nuovamente l'istruzione SELECT. Dovrebbe essere visualizzato zero per le quote.
Il valore di writeback è vincolato alla sessione corrente. Per rendere persistente il valore tra utenti e sessioni, elaborare la tabella di writeback. In Management Studio fare clic con il pulsante destro del mouse su WriteTable_Fact Quota vendite e scegliere Processo.
Per specificare un metodo di allocazione, il nuovo valore deve essere maggiore di zero. In questo esempio il nuovo valore per Sales Amount Quota è di due milioni e il metodo di allocazione distribuisce l'importo tra tutti i rappresentanti di vendita.
UPDATE CUBE [Adventure Works]
SET ([Measures].[Sales Amount Quota], [Employee].[Employee Department].[Department].&[Sales]) = 2000000
USE_EQUAL_ALLOCATION
Condizioni di errore
La tabella seguente descrive sia ciò che può causare l'esito negativo dei writeback che il risultato di tali errori.
| Condizione di errore | Result |
|---|---|
| L'aggiornamento include membri della stessa dimensione che non esistono tra loro. | L'aggiornamento avrà esito negativo. Lo spazio del cubo non conterrà la cella a cui si fa riferimento. |
| L'aggiornamento include una misura originata da una misura di un tipo senza segno. | L'aggiornamento avrà esito negativo. Gli incrementi richiedono che la misura sia in grado di accettare un valore negativo. |
| L'aggiornamento include una misura diversa dalla somma. | Viene generato un errore. |
| L'aggiornamento è stato provato in un sottocubo. | Viene generato un errore. |
Effetto delle modifiche al cubo
Le modifiche seguenti non avranno effetto su un writeback:
Elaborazione di un cubo, dei gruppi di misure del cubo o delle dimensioni del cubo.
Aggiunta di attributi a qualsiasi dimensione.
Aggiungere una nuova dimensione.
Eliminazione di una dimensione che non include il writeback.
Aggiunta, modifica o rimozione di una gerarchia.
Aggiunta di una nuova misura.
Non è possibile apportare le modifiche seguenti senza rimuovere i dati di writeback:
Eliminazione di un attributo o della relativa gerarchia di attributi, se l'attributo è incluso nel writeback. Ciò include la rimozione esplicita dell'attributo o la relativa gerarchia di attributi o la rimozione della dimensione padre dell'attributo.
Eliminazione di una misura inclusa nel writeback.
Aggiunta di un attributo senza un livello (Tutti) a una dimensione inclusa nel processo di writeback.
Modifica della granularità della dimensione per una dimensione inclusa nel writeback.