Вставка, обновление и удаление элементов (XMLA)
Команды вставки, обновленияи удаления в XML для аналитики (XMLA) можно использовать для вставки, обновления или удаления элементов из измерения, доступного для записи. Дополнительные сведения об измерениях, доступных для записи, см. в разделе измерения, доступные для записи.
Вставка новых элементов
Команда INSERT вставляет новые элементы в указанные атрибуты в измерении, доступном для записи.
Перед созданием команды INSERT для вставки новых элементов должны быть доступны следующие сведения:
Измерение, в которое будут вставлены новые элементы.
Атрибут измерения, в которое будут вставлены новые элементы.
Имена новых элементов, включая все применимые переводы этих имен.
Ключи новых элементов. Если в атрибуте используется составной ключ, для ключа может потребоваться несколько значений.
Значения для любых применимых свойств атрибутов, которые не реализованы в виде других атрибутов в измерении. К таким свойствам атрибутов относятся унарные операции, переводы, пользовательские свертки, свойства пользовательских сверток и пропускаемые уровни.
Команда INSERT принимает только два свойства:
Свойство объекта , содержащее ссылку на объект для измерения, в которое вставляются элементы. Ссылка на объект для измерения содержит идентификатор базы данных, идентификатор куба и идентификатор измерения.
Свойство Attributes , содержащее один или несколько элементов атрибута для указания атрибутов, в которых должны быть вставлены элементы. Каждый элемент атрибута определяет атрибут и предоставляет имя, значение, переводы, унарный оператор, пользовательскую свертку, свойства пользовательской свертки и пропущенные уровни для одного элемента, добавляемого к указанному атрибуту.
Примечание
Должны быть добавлены все свойства элемента Attribute . В противном случае может произойти ошибка.
Обновление существующих элементов
Команда Update обновляет существующие элементы в указанных атрибутах на основе связей с другими элементами в других атрибутах в измерении, доступном для записи. Команда Update может перемещать элементы на другие уровни в иерархиях, содержащихся в измерении, и может использоваться для реструктуризации иерархий "родители-потомки", определенные родительскими атрибутами.
Перед созданием команды обновления для обновляемых элементов должны быть доступны следующие сведения:
Измерение, в котором будут обновлены существующие элементы.
Атрибуты измерения, в котором будут обновлены существующие элементы.
Ключи существующих элементов. Если в атрибуте используется составной ключ, для ключа может потребоваться несколько значений.
Значения для любых применимых свойств атрибутов, которые не реализованы в виде других атрибутов в измерении. К таким свойствам атрибутов относятся унарные операции, переводы, пользовательские свертки, свойства пользовательских сверток и пропускаемые уровни.
Команда Update принимает только три обязательных свойства:
Свойство объекта , содержащее ссылку на объект для измерения, в котором обновляются элементы. Ссылка на объект для измерения содержит идентификатор базы данных, идентификатор куба и идентификатор измерения.
Свойство Attributes , содержащее один или несколько элементов атрибута для указания атрибутов, в которых должны обновляться элементы. Элемент Attribute определяет атрибут и предоставляет имя, значение, переводы, унарный оператор, пользовательскую свертку, свойства пользовательской свертки и пропущенные уровни для одного элемента, обновленного для идентифицированного атрибута.
Примечание
Должны быть добавлены все свойства элемента Attribute . В противном случае может произойти ошибка.
Свойство WHERE , содержащее один или несколько элементов атрибута , которые ограничивают атрибуты, в которых должны обновляться элементы. Свойство WHERE имеет решающее значение для ограничения команды Update конкретными экземплярами элемента. Если свойство WHERE не указано, обновляются все экземпляры данного элемента. Например, есть три клиента, в отношении которых требуется изменить название города с Redmond на Bellevue. Чтобы изменить название города, необходимо предоставить свойство WHERE , определяющее три элемента в атрибуте Customer, для которых должны быть изменены элементы в атрибуте City. Если вы не представите это свойство WHERE , у каждого заказчика, чье название города в настоящее время является Redmond, будет указано название города Бельвью после выполнения команды Update .
Примечание
За исключением новых членов, команда Update может обновлять только ключевые значения атрибутов, не входящие в предложение WHERE . Например, название города невозможно обновить при обновлении клиента, поскольку в этом случае название города будет изменено для всех клиентов.
Обновление элементов в родительских атрибутах
Для поддержки родительских атрибутов команда Update имеет необязательные свойства MoveWithDescendantsмовевисдесцедантс. Присвоение свойству MoveWithDescendants значения true означает, что потомки родительского элемента также должны перемещаться вместе с родительским элементом при изменении идентификатора этого родительского элемента. Если этому свойству задано значение FALSE, то при перемещении родительского элемента его непосредственные потомки повышаются до уровня, на котором до этого находился родительский элемент.
При обновлении элементов в родительском атрибуте команда Update не может обновить элементы в других атрибутах.
Удаление существующих элементов
Перед созданием команды Drop для удаления элементов должны быть доступны следующие сведения:
Измерение, из которого будут удалены существующие элементы.
Атрибуты измерения, из которого будут удалены существующие элементы.
Ключи существующих элементов, которые будут удалены. Если в атрибуте используется составной ключ, для ключа может потребоваться несколько значений.
Команда Drop принимает только два обязательных свойства:
Свойство объекта , содержащее ссылку на объект для измерения, в котором элементы должны быть удалены. Ссылка на объект для измерения содержит идентификатор базы данных, идентификатор куба и идентификатор измерения.
Свойство WHERE , содержащее один или несколько элементов атрибута для ограничения атрибутов, в которых удаляются элементы. Свойство WHERE имеет решающее значение для ограничения команды Drop конкретными экземплярами элемента. Если команда WHERE не указана, удаляются все экземпляры данного элемента. Например, допустим, что в элементе Redmond есть три клиента, которых требуется удалить. Чтобы удалить этих клиентов, необходимо предоставить свойство WHERE , определяющее три элемента удаляемого атрибута Customer, и элемент Redmond атрибута City, из которого будут удалены три клиента. Если свойство WHERE указывает только элемент Redmond атрибута City, то каждый клиент, связанный с Redmond, будет удален командой Drop . Если свойство WHERE указывает только три элемента в атрибуте Customer, то эти три клиента будут полностью удалены командой Drop .
Примечание
Элементы атрибута , включаемые в команду Drop , должны содержать только свойства attributeName и Keys . В противном случае может произойти ошибка.
Удаление элементов в родительских атрибутах
Установка свойства DeleteWithDescendants указывает, что потомки родительского элемента также должны быть удалены с родительским элементом. Если этому свойству задано значение FALSE, непосредственные потомки данного родительского элемента не удаляются, а повышаются до уровня, на котором находился родительский элемент.
Важно!
Чтобы удалить и родительский элемент, и его потомков, пользователю необходимо иметь только разрешения на удаление родительского элемента. Разрешения на удаление потомков иметь не обязательно.
См. также:
Элемент Drop (XML для аналитики)
Элемент Insert (XML для аналитики)
Элемент Update (XML для аналитики)
Определение и идентификация объектов (XMLA)
Разработка с использованием XMLA в службах Analysis Services