Поделиться через


Вставка, обновление и удаление элементов (XMLA)

В XML для аналитики (XMLA) команды Insert, Update и Drop можно использовать, чтобы соответственно вставлять, обновлять или удалять элементы из доступного для записи измерения. Дополнительные сведения об измерениях, доступных для записи, см. в разделе Измерения, доступные для записи.

Вставка новых элементов

Команда Insert вставляет новые элементы в указанные атрибуты в измерение, доступное для записи.

Перед созданием команды Insert для новых вставляемых элементов должна быть доступна следующая информация.

  • Измерение, в которое будут вставлены новые элементы.

  • Атрибут измерения, в которое будут вставлены новые элементы.

  • Имена новых элементов, включая все применимые переводы этих имен.

  • Ключи новых элементов. Если в атрибуте используется составной ключ, для ключа может потребоваться несколько значений.

  • Значения для любых применимых свойств атрибутов, которые не реализованы в виде других атрибутов в измерении. К таким свойствам атрибутов относятся унарные операции, переводы, пользовательские свертки, свойства пользовательских сверток и пропускаемые уровни.

Команда Insert принимает только два свойства.

  • Свойство Object, содержащее ссылку на объект для измерения, в которое будут вставлены элементы. Ссылка на объект для измерения содержит идентификатор базы данных, идентификатор куба и идентификатор измерения.

  • Свойство Attributes, содержащее один или несколько элементов Attribute для определения атрибутов, в которые должны быть вставлены элементы. Каждый элемент Attribute определяет атрибут и указывает имя, значение, переводы, унарный оператор, пользовательскую свертку, свойства пользовательской свертки и пропущенные уровни для одного элемента, которые должны быть добавлены к указанному атрибуту.

    ПримечаниеПримечание

    Необходимо включать все свойства для элемента Attribute. В противном случае может произойти ошибка.

Обновление существующих элементов

Команда Update обновляет существующие элементы в указанных атрибутах на основе связей с другими элементами в других атрибутах в измерении, доступном для записи. Команда Update позволяет перемещать элементы на другие уровни в иерархиях, содержащихся в измерении, ее также можно использовать, чтобы реконструировать иерархии типа «родители-потомки», определенные родительскими атрибутами.

Перед созданием команды Update для обновляемых элементов должна быть доступна следующая информация.

  • Измерение, в котором будут обновлены существующие элементы.

  • Атрибуты измерения, в котором будут обновлены существующие элементы.

  • Ключи существующих элементов. Если в атрибуте используется составной ключ, для ключа может потребоваться несколько значений.

  • Значения для любых применимых свойств атрибутов, которые не реализованы в виде других атрибутов в измерении. К таким свойствам атрибутов относятся унарные операции, переводы, пользовательские свертки, свойства пользовательских сверток и пропускаемые уровни.

Команда Update принимает только три обязательных свойства.

  • Свойство Object, содержащее ссылку на объект для измерения, в котором необходимо обновить элементы. Ссылка на объект для измерения содержит идентификатор базы данных, идентификатор куба и идентификатор измерения.

  • Свойство Attributes, содержащее один или несколько элементов Attribute для определения атрибутов, в которых должны быть обновлены элементы. Элемент Attribute определяет атрибут и указывает имя, значение, переводы, унарный оператор, пользовательскую свертку, свойства пользовательской свертки и пропущенные уровни для одного элемента, которые должны быть обновлены для указанного атрибута.

    ПримечаниеПримечание

    Необходимо включать все свойства для элемента Attribute. В противном случае может произойти ошибка.

  • Свойство Where, содержащее один или несколько элементов Attribute, ограничивающих атрибуты, в которых должны быть обновлены элементы. Свойство Where является ключевым для ограничения действия команды Update указанными экземплярами элемента. Если значение свойства Where не задано, будут обновлены все экземпляры данного элемента. Например, есть три клиента, в отношении которых требуется изменить название города с Redmond на Bellevue. Чтобы изменить название города, необходимо задать свойство Where, определяющее три элемента атрибута Customer, для которых должны быть изменены элементы атрибута City. Если не задать это свойство Where, то после выполнения команды Update для каждого клиента, названием города которого в данный момент является Redmond, это название будет изменено на Bellevue.

    ПримечаниеПримечание

    За исключением новых элементов, команда Update может обновлять только значения ключей атрибутов для атрибутов, не включенных в предложение Where. Например, название города невозможно обновить при обновлении клиента, поскольку в этом случае название города будет изменено для всех клиентов.

Обновление элементов в родительских атрибутах

Для поддержки родительских атрибутов команда Update имеет необязательные свойства MoveWithDescendants. Если свойству MoveWithDescendants задано значение TRUE, это указывает, что потомки родительского элемента должны быть перемещены вместе с родительским элементом при изменении идентификатора данного родительского элемента. Если этому свойству задано значение FALSE, то при перемещении родительского элемента его непосредственные потомки повышаются до уровня, на котором до этого находился родительский элемент.

При обновлении элементов в родительском атрибуте команда Update не может обновлять элементы в других атрибутах.

Удаление существующих элементов

Перед созданием команды Drop для удаляемых элементов должна быть доступна следующая информация.

  • Измерение, из которого будут удалены существующие элементы.

  • Атрибуты измерения, из которого будут удалены существующие элементы.

  • Ключи существующих элементов, которые будут удалены. Если в атрибуте используется составной ключ, для ключа может потребоваться несколько значений.

Команда Drop принимает только два обязательных свойства.

  • Свойство Object, содержащее ссылку на объект для измерения, в котором необходимо удалить элементы. Ссылка на объект для измерения содержит идентификатор базы данных, идентификатор куба и идентификатор измерения.

  • Свойство Where, содержащее один или несколько элементов Attribute для ограничения атрибутов, из которых должны быть удалены элементы. Свойство Where является ключевым для ограничения действия команды Drop указанными экземплярами элемента. Если значение свойства Where не задано, будут удалены все экземпляры данного элемента. Например, допустим, что в элементе Redmond есть три клиента, которых требуется удалить. Чтобы удалить этих клиентов, необходимо задать свойство Where, определяющее три элемента в атрибуте Customer, которые должны быть удалены, а также элемент Redmond атрибута City, из которого должны быть удалены три клиента. Если свойство Where указывает только элемент Redmond атрибута City, команда Drop удалит всех клиентов, связанных с элементом Redmond. Если свойство Where указывает только три элемента в атрибуте Customer, то команда Drop удаляет трех этих клиентов полностью.

    ПримечаниеПримечание

    Элементы Attribute, включенные в команду Drop, должны содержать только свойства AttributeName и Keys. В противном случае может произойти ошибка.

Удаление элементов в родительских атрибутах

Если задано свойство DeleteWithDescendants, то это указывает, что потомки родительского элемента должны быть удалены вместе с ним. Если этому свойству задано значение FALSE, непосредственные потомки данного родительского элемента не удаляются, а повышаются до уровня, на котором находился родительский элемент.

Примечание по безопасностиПримечание по безопасности

Чтобы удалить и родительский элемент, и его потомков, пользователю необходимо иметь только разрешения на удаление родительского элемента. Разрешения на удаление потомков иметь не обязательно.