Einfügen, Aktualisieren und Löschen von Elementen (XMLA)

Sie können die Insert-, Update- und Drop-Befehle in XML for Analysis (XMLA) verwenden, um Elemente in einer Dimension mit aktiviertem Schreibzugriff einzufügen, zu aktualisieren bzw. zu löschen. Weitere Informationen zu Dimensionen mit aktiviertem Schreibzugriff finden Sie unter Dimensionen mit aktiviertem Schreibzugriff.

Einfügen von neuen Elementen

Der Insert-Befehl fügt festgelegten Attributen in einer Dimension mit aktiviertem Schreibzugriff neue Elemente hinzu.

Vor der Erstellung des Insert-Befehls sollten Sie für die einzufügenden neuen Mitglieder über folgende Informationen verfügen:

  • Die Dimension, in die die neuen Elemente eingefügt werden sollen.

  • Das Dimensionsattribut, in die die neuen Elemente eingefügt werden sollen.

  • Die Namen der neuen Elemente, einschließlich alle entsprechenden Übersetzungen für den Namen.

  • Die Schlüssel der neuen Elemente. Wenn ein Attribut einen zusammengesetzten Schlüssel verwendet, erfordert der Schlüssel möglicherweise mehrere Werte.

  • Werte für alle entsprechenden Attributeigenschaften, die nicht als andere Attribute innerhalb der Dimension implementiert wurden. Derartige Attributeigenschaften umfassen unäre Operationen, Übersetzungen, benutzerdefinierte Rollups, benutzerdefinierte Rollupeigenschaften und übersprungene Ebenen.

Der Insert-Befehl unterstützt nur zwei Eigenschaften:

  • Die Objekt-Eigenschaft, die einen Objektverweis für die Dimension enthält, in die die Elemente eingefügt werden sollen. Der Objektverweis enthält den Datenbankbezeichner, den Cubebezeichner sowie den Dimensionsbezeichner für die Dimension.

  • Die Attribute-Eigenschaft, die mindestens ein Attribut-Element enthält, um die Attribute zu ermitteln, in die die Elemente eingefügt werden sollen. Jedes Attribute-Element identifiziert ein Attribut und stellt den Namen, den Wert, Übersetzungen, den unären Operator, benutzerdefinierte Rollups, benutzerdefinierte Rollupeigenschaften und übersprungene Ebenen für ein einzelnes Element bereit, das dem identifizierten Attribut hinzugefügt werden soll.

    HinweisHinweis

    Alle Eigenschaften für das Attribute-Element müssen eingefügt werden. Andernfalls tritt möglicherweise ein Fehler auf.

Aktualisieren von vorhandenen Elementen

Der Update-Befehl aktualisiert auf der Grundlage der Beziehungen zu anderen Elementen in anderen Attributen in einer Dimension mit aktiviertem Schreibzugriff vorhandene Elemente in festgelegten Attributen. Der Update-Befehl kann Elemente auf andere Ebenen in Hierarchien innerhalb der Dimension verschieben. Zudem kann er verwendet werden, um von übergeordneten Attributen definierte Parent-Child-Hierarchien neu zu strukturieren.

Vor der Erstellung des Update-Befehls sollten Sie für die zu aktualisierenden Mitglieder über folgende Informationen verfügen:

  • Die Dimension, in der die vorhandenen Elemente aktualisiert werden sollen.

  • Die Dimensionsattribute, in denen die vorhandenen Elemente aktualisiert werden sollen.

  • Die Schlüssel der vorhandenen Elemente. Wenn ein Attribut einen zusammengesetzten Schlüssel verwendet, erfordert der Schlüssel möglicherweise mehrere Werte.

  • Werte für alle entsprechenden Attributeigenschaften, die nicht als andere Attribute innerhalb der Dimension implementiert wurden. Derartige Attributeigenschaften umfassen unäre Operationen, Übersetzungen, benutzerdefinierte Rollups, benutzerdefinierte Rollupeigenschaften und übersprungene Ebenen.

Der Update-Befehl unterstützt nur drei erforderliche Eigenschaften:

  • Die Object-Eigenschaft, die einen Objektverweis für die Dimension enthält, in der die Elemente aktualisiert werden sollen. Der Objektverweis enthält den Datenbankbezeichner, den Cubebezeichner sowie den Dimensionsbezeichner für die Dimension.

  • Die Attributes-Eigenschaft, die mindestens ein Attribute-Element enthält, um die Attribute zu identifizieren, in denen Elemente aktualisiert werden sollen. Das Attribute-Element identifiziert ein Attribut und stellt den Namen, den Wert, Übersetzungen, den unären Operator, benutzerdefinierte Rollups, benutzerdefinierte Rollupeigenschaften und übersprungene Ebenen für ein einzelnes Element bereit, das für das identifizierte Attribut aktualisiert werden soll.

    HinweisHinweis

    Alle Eigenschaften für das Attribute-Element müssen eingefügt werden. Andernfalls tritt möglicherweise ein Fehler auf.

  • Die Wo-Eigenschaft, die mindestens ein Attribute-Element enthält, das die Attribute enthält, in denen die Elemente aktualisiert werden sollen. Die Where-Eigenschaft ist wichtig für die Beschränkung eines Update-Befehls auf bestimmte Instanzen eines Elements. Wenn die Where -Eigenschaft nicht festgelegt wird, werden alle Instanzen eines bestimmten Elements aktualisiert. Angenommen, Sie möchten den Stadtnamen für drei Kunden von Redmond zu Bellevue ändern. Um den Stadtnamen zu ändern, müssen Sie eine Where-Eigenschaft bereitstellen, die die drei Elemente im Customer-Attribut identifiziert, für die die Elemente im City-Attribut geändert werden sollen. Wenn Sie diese Where-Eigenschaft nicht bereitstellen, würde für jeden Kunden, dessen Stadtname zurzeit Redmond lautet, der Stadtname nach der Ausführung des Update-Befehls Bellevue lauten.

    HinweisHinweis

    Mit der Ausnahme von neuen Elementen kann der Update-Befehl nur Attributschlüsselwerte für Attribute aktualisieren, die nicht in der Where-Klausel enthalten sind. Der Stadtname kann beispielsweise nicht aktualisiert werden, wenn ein Kunde aktualisiert wird, andernfalls wird der Stadtname für alle Kunden geändert.

Aktualisieren von Elementen in übergeordneten Attributen

Um übergeordnete Attribute zu unterstützen, sollte der Update-Befehl die optionalen MoveWithDescendants-Eigenschaften enthalten. Wenn die MoveWithDescendants-Eigenschaft auf „True“ festgelegt wird, wird angegeben, dass die Nachfolger des übergeordneten Elements zusammen mit dem übergeordneten Element verschoben werden sollen, wenn sich der Bezeichner dieses übergeordneten Elements ändert. Wenn dieser Wert auf „False“ festgelegt wird, werden die unmittelbaren Nachfolger eines übergeordneten Elements zu der Ebene höhergestuft, auf der sich das übergeordnete Element zuvor befand, wenn dieses übergeordnete Element verschoben wird.

Wenn Elemente in einem übergeordneten Attribut aktualisiert werden, kann der Update-Befehl keine Elemente in anderen Attributen aktualisieren.

Löschen von vorhandenen Elementen

Vor der Erstellung des Drop-Befehls sollten Sie für die zu löschenden Mitglieder über folgende Informationen verfügen:

  • Die Dimension, in der die vorhandenen Elemente gelöscht werden sollen.

  • Die Dimensionsattribute, in denen die vorhandenen Elemente gelöscht werden sollen.

  • Die Schlüssel der zu löschenden vorhandenen Elemente. Wenn ein Attribut einen zusammengesetzten Schlüssel verwendet, erfordert der Schlüssel möglicherweise mehrere Werte.

Der Drop-Befehl unterstützt nur zwei erforderliche Eigenschaften:

  • Die Object-Eigenschaft, die einen Objektverweis für die Dimension enthält, in der die Elemente gelöscht werden sollen. Der Objektverweis enthält den Datenbankbezeichner, den Cubebezeichner sowie den Dimensionsbezeichner für die Dimension.

  • Die Where-Eigenschaft, die mindestens ein Attribute-Element enthält, um die Attribute zu beschränken, in denen Elemente gelöscht werden sollen. Die Where-Eigenschaft ist wichtig für die Beschränkung eines Drop-Befehls auf bestimmte Instanzen eines Elements. Wenn der Where-Befehl nicht festgelegt wird, werden alle Instanzen eines bestimmten Elements gelöscht. Angenommen, Sie möchten in Redmond drei Kunden löschen. Um diese Kunden zu löschen, müssen Sie eine Where-Eigenschaft angeben, die die drei zu entfernenden Elemente im Customer-Attribut identifiziert, sowie das Element „Redmond“ des City-Attributs, aus dem die drei Kunden entfernt werden sollen. Wenn die Where-Eigenschaft nur das Element „Redmond“ des City-Attributs angibt, wird jeder Kunde von dem Drop-Befehl gelöscht, der „Redmond“ zugeordnet ist. Wenn die Where-Eigenschaft nur die drei Elemente im Customer-Attribut festlegt, werden die drei Kunden von dem Drop-Befehl vollständig gelöscht.

    HinweisHinweis

    Die in einem Drop-Befehl enthaltenen Attribute-Elemente dürfen nur die AttributeName- und die Keys-Eigenschaft enthalten. Andernfalls tritt möglicherweise ein Fehler auf.

Löschen von Elementen in übergeordneten Attributen

Wenn die DeleteWithDescendants-Eigenschaft festgelegt wird, werden auch die Nachfolger eines übergeordneten Elements zusammen mit dem übergeordneten Element gelöscht. Wenn dieser Wert auf „False“ festgelegt wird, werden die unmittelbaren Nachfolger eines übergeordneten Elements zu der Ebene höhergestuft, auf der sich das übergeordnete Element zuvor befand.

SicherheitshinweisSicherheitshinweis

Ein Benutzer muss lediglich über Löschberechtigungen für das übergeordnete Element verfügen, um sowohl das übergeordnete Element als auch die Nachfolger zu löschen. Ein Benutzer benötigt keine Löschberechtigungen für die Nachfolger.