Partilhar via


Inserindo, atualizando e descartando membros (XMLA)

Você pode usar os comandos Insert, Update e Drop no XMLA (XML for Analysis) para inserir, atualizar ou excluir membros respectivamente de uma dimensão habilitada para gravação. Para obter mais informações sobre dimensões habilitadas para gravação, consulte Write-Enabled Dimensions.

Inserindo novos membros

O Insert comando insere novos membros em atributos especificados em uma dimensão habilitada para gravação.

Antes de construir o Insert comando, você deve ter as seguintes informações disponíveis para que os novos membros sejam inseridos:

  • A dimensão na qual inserir os novos membros.

  • O atributo de dimensão no qual inserir os novos membros.

  • Os nomes dos novos membros, incluindo todas as traduções aplicáveis para o nome.

  • As chaves dos novos membros. Se um atributo usar uma chave composta, a chave poderá exigir vários valores.

  • Valores para quaisquer propriedades de atributo aplicáveis que não são implementadas como outros atributos dentro da dimensão. Essas propriedades de atributo incluem operações unárias, traduções, rollups personalizados, propriedades de rollup personalizadas e níveis ignorados.

O Insert comando usa apenas duas propriedades:

  • A propriedade Object , que contém uma referência de objeto para a dimensão na qual os membros devem ser inseridos. A referência de objeto contém o identificador de banco de dados, o identificador de cubo e o identificador de dimensão para a dimensão.

  • A propriedade Attributes , que contém um ou mais elementos attribute para identificar os atributos nos quais os membros devem ser inseridos. Cada Attribute elemento identifica um atributo e fornece o nome, o valor, as traduções, o operador unário, o rollup personalizado, as propriedades de rollup personalizadas e os níveis ignorados para que um único membro seja adicionado ao atributo identificado.

    Observação

    Todas as propriedades do Attribute elemento devem ser incluídas. Caso contrário, poderá ocorrer um erro.

Atualizando membros existentes

O Update comando atualiza os membros existentes em atributos especificados, com base em relações com outros membros em outros atributos, em uma dimensão habilitada para gravação. O Update comando pode mover membros para outros níveis em hierarquias contidas na dimensão e pode ser usado para reestruturar hierarquias pai-filho definidas por atributos pai.

Antes de construir o Update comando, você deve ter as seguintes informações disponíveis para que os membros sejam atualizados:

  • A dimensão na qual atualizar os membros existentes.

  • Os atributos de dimensão nos quais atualizar os membros existentes.

  • As chaves dos membros existentes. Se um atributo usar uma chave composta, a chave poderá exigir vários valores.

  • Valores para quaisquer propriedades de atributo aplicáveis que não são implementadas como outros atributos dentro da dimensão. Essas propriedades de atributo incluem operações unárias, traduções, rollups personalizados, propriedades de rollup personalizadas e níveis ignorados.

O Update comando usa apenas três propriedades necessárias:

  • A Object propriedade, que contém uma referência de objeto para a dimensão na qual os membros devem ser atualizados. A referência de objeto contém o identificador de banco de dados, o identificador de cubo e o identificador de dimensão para a dimensão.

  • A Attributes propriedade, que contém um ou mais Attribute elementos para identificar os atributos nos quais os membros devem ser atualizados. O Attribute elemento identifica um atributo e fornece o nome, o valor, as traduções, o operador unário, o rollup personalizado, as propriedades de rollup personalizadas e os níveis ignorados para um único membro atualizado para o atributo identificado.

    Observação

    Todas as propriedades do Attribute elemento devem ser incluídas. Caso contrário, poderá ocorrer um erro.

  • A propriedade Where , que contém um ou mais Attribute elementos que restringem os atributos nos quais os membros devem ser atualizados. A Where propriedade é crucial para limitar um Update comando a instâncias específicas de um membro. Se a Where propriedade não for especificada, todas as instâncias de um determinado membro serão atualizadas. Por exemplo, há três clientes para os quais você deseja alterar o nome da cidade de Redmond para Bellevue. Para alterar o nome da cidade, você deve fornecer uma Where propriedade que identifique os três membros no atributo Cliente para o qual os membros do atributo Cidade devem ser alterados. Se você não fornecer essa Where propriedade, todos os clientes cujo nome da cidade atualmente é Redmond teriam o nome da cidade de Bellevue após a execução do Update comando.

    Observação

    Com exceção de novos membros, o Update comando só pode atualizar valores de chave de atributo para atributos não incluídos na Where cláusula. Por exemplo, o nome da cidade não pode ser atualizado quando um cliente é atualizado; caso contrário, o nome da cidade será alterado para todos os clientes.

Atualizando membros em atributos pai

Para dar suporte a atributos pai, o Update comando as propriedades opcionais MoveWithDescendantsMovewithDescedants. Definir a MoveWithDescendants propriedade como true indica que os descendentes do membro pai também devem ser movidos com o membro pai quando o identificador desse membro pai for alterado. Se esse valor for definido como false, mover um membro pai fará com que os descendentes imediatos desse membro pai sejam promovidos ao nível no qual o membro pai residia anteriormente.

Ao atualizar membros em um atributo pai, o Update comando não pode atualizar membros em outros atributos.

Descartando membros existentes

Antes de construir o Drop comando, você deve ter as seguintes informações disponíveis para que os membros sejam removidos:

  • A dimensão na qual remover membros existentes.

  • Os atributos de dimensão nos quais remover membros existentes.

  • As chaves dos membros existentes a serem descartadas. Se um atributo usar uma chave composta, a chave poderá exigir vários valores.

O Drop comando usa apenas duas propriedades necessárias:

  • A Object propriedade, que contém uma referência de objeto para a dimensão na qual os membros devem ser removidos. A referência de objeto contém o identificador de banco de dados, o identificador de cubo e o identificador de dimensão para a dimensão.

  • A Where propriedade, que contém um ou mais Attribute elementos para restringir os atributos nos quais os membros devem ser excluídos. A Where propriedade é crucial para limitar um Drop comando a instâncias específicas de um membro. Se o Where comando não for especificado, todas as instâncias de um determinado membro serão removidas. Por exemplo, há três clientes que você deseja remover de Redmond. Para remover esses clientes, você deve fornecer uma Where propriedade que identifique os três membros no atributo Cliente a serem removidos e o membro Redmond do atributo City do qual os três clientes devem ser removidos. Se a Where propriedade especificar apenas o membro Redmond do atributo City, todos os clientes associados a Redmond serão descartados pelo Drop comando. Se a Where propriedade especificar apenas os três membros no atributo Cliente, os três clientes serão totalmente excluídos pelo Drop comando.

    Observação

    Os Attribute elementos incluídos em um Drop comando devem conter apenas as propriedades eKeys.AttributeName Caso contrário, poderá ocorrer um erro.

Descartando membros em atributos pai

Definir a propriedade DeleteWithDescendants indica que os descendentes de um membro pai também devem ser excluídos com o membro pai. Se esse valor for definido como false, os descendentes imediatos do membro pai serão promovidos ao nível no qual o membro pai residia anteriormente.

Importante

Um usuário só precisa ter permissões de exclusão para que o membro pai exclua o membro pai e seus descendentes. Um usuário não precisa excluir permissões nos descendentes.

Consulte Também

Elemento Drop (XMLA)
Elemento Insert (XMLA)
Elemento Update (XMLA)
Definindo e identificando objetos (XMLA)
Desenvolvimento com XMLA em Analysis Services