Condividi tramite


Inserimento, aggiornamento ed eliminazione di membri (XMLA)

I comandi Insert, Update e Drop in XML for Analysis (XMLA) consentono rispettivamente di inserire, aggiornare o eliminare membri da una dimensione abilitata per la scrittura. Per ulteriori informazioni sulle dimensioni abilitate per la scrittura, vedere Dimensioni abilitate per la scrittura.

Inserimento di nuovi membri

Il comando Insert consente di inserire nuovi membri in attributi specificati in una dimensione abilitata per la scrittura.

Prima di creare il comando Insert, è necessario che siano disponibili le seguenti informazioni relative ai nuovi membri da inserire:

  • Dimensione in cui inserire i nuovi membri.

  • Attributo della dimensione in cui inserire i nuovi membri.

  • Nomi dei nuovi membri, inclusa qualsiasi conversione applicabile per il nome.

  • Chiavi dei nuovi membri. Se un attributo utilizza una chiave composta, per la chiave può essere necessario utilizzare valori multipli.

  • Valori per tutte le proprietà dell'attributo applicabili non implementate come altri attributi nella dimensione. Tali proprietà includono operazioni unarie, conversioni, rollup personalizzati e relative proprietà e livelli ignorati.

Il comando Insert accetta solo due proprietà:

  • Proprietà Object che contiene un riferimento all'oggetto per la dimensione in cui devono essere inseriti i membri. Il riferimento all'oggetto contiene l'identificatore di database, l'identificatore di cubo e l'identificatore di dimensione per la dimensione.

  • Proprietà Attributes che contiene uno o più elementi Attribute per identificare gli attributi in cui devono essere inseriti i membri. Ogni elemento Attribute identifica un attributo e fornisce il nome, il valore, le conversioni, l'operatore unario, il rollup personalizzato e le relative proprietà e i livelli ignorati per un singolo membro da aggiungere all'attributo identificato.

    [!NOTA]

    Tutte le proprietà per l'elemento Attribute devono essere incluse. In caso contrario, è possibile che si verifichi un errore.

Aggiornamento di membri esistenti

Il comando Update consente di aggiornare membri esistenti in attributi specificati in una dimensione abilitata per la scrittura in base a relazioni con altri membri in altri attributi. Il comando Update consente di spostare i membri in altri livelli delle gerarchie contenute nella dimensione e può essere utilizzato per ristrutturare gerarchie padre-figlio definite dagli attributi padre.

Prima di creare il comando Update, è necessario che siano disponibili le informazioni seguenti relative ai membri da aggiornare:

  • Dimensione in cui aggiornare i membri esistenti.

  • Attributi della dimensione in cui aggiornare i membri esistenti.

  • Chiavi dei membri esistenti. Se un attributo utilizza una chiave composta, per la chiave può essere necessario utilizzare valori multipli.

  • Valori per tutte le proprietà dell'attributo applicabili non implementate come altri attributi nella dimensione. Tali proprietà includono operazioni unarie, conversioni, rollup personalizzati e relative proprietà e livelli ignorati.

Il comando Update accetta solo tre proprietà obbligatorie:

  • Proprietà Object che contiene un riferimento all'oggetto per la dimensione in cui devono essere aggiornati i membri. Il riferimento all'oggetto contiene l'identificatore di database, l'identificatore di cubo e l'identificatore di dimensione per la dimensione.

  • Proprietà Attributes che contiene uno o più elementi Attribute per identificare gli attributi in cui devono essere aggiornati i membri. L'elemento Attribute identifica un attributo e fornisce il nome, il valore, le conversioni, l'operatore unario, il rollup personalizzato e le relative proprietà e i livelli ignorati per un singolo membro da aggiornare per l'attributo identificato.

    [!NOTA]

    Tutte le proprietà per l'elemento Attribute devono essere incluse. In caso contrario, è possibile che si verifichi un errore.

  • Proprietà Where che contiene uno o più elementi Attribute che applicano un vincolo agli attributi in cui devono essere aggiornati i membri. La proprietà Where è di importanza fondamentale per limitare l'esecuzione di un comando Update su istanze specifiche di un membro. Se la proprietà Where non è specificata, tutte le istanze di un membro specifico vengono aggiornate. Si supponga ad esempio che siano presenti tre clienti per cui si desidera modificare il nome di città da Redmond in Bellevue. Per modificare il nome di città, è necessario specificare una proprietà Where che identifichi i tre membri dell'attributo Customer per cui è necessario modificare i membri dell'attributo City. Se non si specifica la proprietà Where, dopo l'esecuzione del comando Update a ogni cliente il cui nome di città è attualmente Redmond risulterebbe associato il nome di città Bellevue.

    [!NOTA]

    Ad eccezione dei nuovi membri, il comando Update consente di aggiornare solo i valori di chiave dell'attributo per attributi non inclusi nella clausola Where. Quando ad esempio viene aggiornato un cliente, il relativo nome di città non può essere aggiornato. In caso contrario, il nome di città viene modificato per tutti i clienti.

Aggiornamento di membri in attributi padre

Per supportare gli attributi padre, il comando Update utilizza la proprietà facoltativa MoveWithDescendants. L'impostazione della proprietà MoveWithDescendants su true indica che lo spostamento del membro padre comporta lo spostamento dei relativi discendenti quando l'identificatore di tale membro padre viene modificato. Se questo valore è impostato su false, lo spostamento di un membro padre comporta la promozione dei relativi discendenti immediati al livello in cui il membro padre si trovava in precedenza.

Durante l'aggiornamento dei membri di un attributo padre, il comando Update non può aggiornare membri di altri attributi.

Eliminazione di membri esistenti

Prima di creare il comando Drop, è necessario che siano disponibili le informazioni seguenti relative ai nuovi membri da eliminare:

  • Dimensione in cui eliminare i membri esistenti.

  • Attributi della dimensione in cui eliminare i membri esistenti.

  • Chiavi dei membri esistenti da eliminare. Se un attributo utilizza una chiave composta, per la chiave può essere necessario utilizzare valori multipli.

Il comando Drop accetta solo due proprietà obbligatorie:

  • Proprietà Object che contiene un riferimento all'oggetto per la dimensione in cui devono essere eliminati i membri. Il riferimento all'oggetto contiene l'identificatore di database, l'identificatore di cubo e l'identificatore di dimensione per la dimensione.

  • Proprietà Where che contiene uno o più elementi Attribute per applicare un vincolo agli attributi in cui devono essere eliminati i membri. La proprietà Where è di importanza fondamentale per limitare l'esecuzione di un comando Drop su istanze specifiche di un membro. Se la proprietà Wherenon è specificata, tutte le istanze di un membro specifico vengono eliminate. Si supponga ad esempio che siano presenti tre clienti che si desidera eliminare da Redmond. Per eliminare tali clienti, è necessario specificare una proprietà Where che identifichi i tre membri dell'attributo Customer da rimuovere e il membro Redmond dell'attributo City da cui i tre clienti devono essere rimossi. Se la proprietà Where specifica solo il membro Redmond dell'attributo City, ogni cliente associato a Redmond verrebbe eliminato dal comando Drop. Se la proprietà Where specifica solo i tre membri dell'attributo Customer, i tre clienti verrebbero completamente eliminati dal comando Drop.

    [!NOTA]

    Gli elementi Attribute inclusi in un comando Drop devono contenere solo le proprietà AttributeName e Keys. In caso contrario, è possibile che si verifichi un errore.

Eliminazione di membri in attributi padre

L'impostazione della proprietà DeleteWithDescendants su true indica che l'eliminazione di un membro padre comporta l'eliminazione dei relativi discendenti. Se questo valore è impostato su false, i discendenti immediati del membro padre vengono invece promossi al livello in cui il membro padre si trovava in precedenza.

Nota sulla protezioneNota sulla protezione

Per eliminare sia il membro padre che i relativi discendenti, è sufficiente che un utente disponga delle autorizzazioni per l'eliminazione del solo membro padre e non è necessario che disponga delle autorizzazioni per l'eliminazione dei discendenti.