可以使用 XML for Analysis (XMLA) 中的 Insert、 Update 和 Drop 命令分别插入、更新或删除启用写入的维度的成员。 有关启用写入的维度的详细信息,请参阅 Write-Enabled 维度。
插入新成员
该 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
成员,该属性应更改 City 属性中的成员。 如果未提供此属性Where
,则运行命令后Update
,其城市名称当前为 Redmond 的每个客户都将具有 Bellevue 的城市名称。注释
除了新成员之外,
Update
该命令只能更新子句中Where
不包含的属性的属性值。 例如,客户更新时无法更新城市名称;否则,所有客户都会更改城市名称。
更新父属性中的成员
若要支持父属性, Update
命令为可选的 MoveWithDescendantsMovewithDescedants 属性。 将 MoveWithDescendants
属性设置为 true 表示当父成员的标识符发生更改时,父成员的后代也应随父成员一起移动。 如果此值设置为 false,则移动父成员会导致该父成员的直接后代提升到父成员以前所在的级别。
更新父属性中的成员时, Update
该命令无法更新其他属性中的成员。
删除现有成员
在 Drop
构造命令之前,应具有可供删除的成员的以下信息:
要在其中删除现有成员的维度。
要在其中删除现有成员的维度属性。
要删除的现有成员的键。 如果属性使用复合键,则键可能需要多个值。
该 Drop
命令仅采用两个必需属性:
该
Object
属性包含要删除成员的维度的对象引用。 对象引用包含维度的数据库标识符、多维数据集标识符和维度标识符。该
Where
属性包含一个或多个Attribute
元素以约束要删除成员的属性。 此属性Where
对于将命令限制Drop
为成员的特定实例至关重要。Where
如果未指定该命令,则会删除给定成员的所有实例。 例如,有三个客户要从 Redmond 中删除。 若要删除这些客户,必须提供一个属性,该属性标识要删除的 Customer 属性中的三个Where
成员,以及要从中删除三个客户的 City 属性的 Redmond 成员。Where
如果该属性仅指定 City 属性的 Redmond 成员,则Drop
与 Redmond 关联的每个客户都将由该命令删除。Where
如果该属性仅指定 Customer 属性中的三个成员,则命令将完全Drop
删除这三个客户。注释
Attribute
命令中包含的Drop
元素必须仅AttributeName
包含和Keys
属性。 否则,可能会出现错误。
删除父属性中的成员
设置 DeleteWithDescendants 属性表示父成员的后代也应随父成员一起删除。 如果此值设置为 false,则父成员的直接后代将改为提升为父成员以前驻留的级别。
重要
用户只需要对父成员具有删除权限才能删除父成员及其后代。 用户不需要删除后代的权限。
另请参阅
Drop 元素 (XMLA)
Insert 元素 (XMLA)
Update 元素 (XMLA)
定义和标识对象 (XMLA)
在 Analysis Services 中使用 XMLA 进行开发