UPDATE CUBE-Anweisung (MDX)
Aktualisiert: 17. Juli 2006
Aktualisiert den Wert einer angegebenen Blatt- oder Nichtblattzelle in einem Cube. Dabei wird optional der Wert für eine angegebene Nichtblattzelle den abhängigen Blattzellen zugeordnet.
Syntax
UPDATE [ CUBE ] Cube_Name
SET
<update clause>
[, <update clause> ...n ]
<update clause> ::=
Tuple_Expression[.VALUE]= New_Value
[
NO_ALLOCATION
| USE_EQUAL_ALLOCATION
| USE_EQUAL_INCREMENT
| USE_WEIGHTED_ALLOCATION [ BY Weight_Expression]
| USE_WEIGHTED_INCREMENT [ BY Weight_Expression]
]
Argumente
- Cube_Name
Eine gültige Zeichenfolge, die den Namen eines Cubes bereitstellt.
- Tuple_Expression
Ein gültiger MDX-Ausdruck (Multidimensional Expressions), der ein Tupel zurückgibt.
- New_Value
Ein gültiger numerischer Ausdruck.
- Weight_Expression
Ein gültiger numerischer MDX-Ausdruck (Multidimensional Expressions), der einen Dezimalwert zwischen 0 und 1 zurückgibt.
Hinweise
Bei der durch den Tupelausdruck angegebenen Zelle kann es sich um eine beliebige gültige Zelle im multidimensionalen Raum handeln (d. h., die Zelle muss keine Blattzelle sein). Die Zelle muss jedoch mit der Sum-Aggregatfunktion aggregiert sein und darf kein berechnetes Element in dem Tupel enthalten, durch das die Zelle identifiziert wird.
Sie können sich die UPDATE CUBE-Anweisung als Unterroutine vorstellen, die automatisch eine Reihe von einzelnen Vorgängen zum Zellenrückschreiben für Blatt- und Nichtblattzellen generiert, deren Rollup eine angegebene Summe ergibt.
In der folgenden Tabelle sind die Zuordnungsmethoden beschrieben.
Zuordnungsmethode | Beschreibung |
---|---|
USE_EQUAL_ALLOCATION |
Jeder Blattzelle, die zur aktualisierten Zelle beiträgt, wird derselbe Wert zugewiesen, der auf dem folgenden Ausdruck basiert:
|
USE_EQUAL_INCREMENT |
Jede Blattzelle, die zur aktualisierten Zelle beiträgt, wird entsprechend dem folgenden Ausdruck geändert:
|
USE_WEIGHTED_ALLOCATION |
Jeder Blattzelle, die zur aktualisierten Zelle beiträgt, wird derselbe Wert zugewiesen, der auf dem folgenden Ausdruck basiert:
|
USE_WEIGHTED_INCREMENT |
Jede Blattzelle, die zur aktualisierten Zelle beiträgt, wird entsprechend dem folgenden Ausdruck geändert:
|
Wird kein Gewichtungsausdruck angegeben, verwendet die UPDATE CUBE-Anweisung implizit den folgenden Ausdruck:
Weight_Expression = <leaf cell value> / <existing value>
Ein Gewichtungsausdruck sollte als Dezimalwert zwischen null (0) und 1 ausgedrückt werden. Dieser Wert gibt den Anteil des zugeordneten Wertes an, den Sie den von der Zuordnung betroffenen Blattzellen zuweisen möchten. Der Programmierer der Clientanwendung ist dafür verantwortlich, Ausdrücke zu erstellen, deren Rollupaggregatwerte gleich dem zugeordneten Wert des Ausdrucks sind.
Vorsicht: |
---|
Die Clientanwendung muss die gleichzeitige Zuordnung aller Dimensionen berücksichtigen, um unerwartete Ergebnisse, einschließlich falscher Rollupwerte oder inkonsistenter Daten, zu vermeiden. |
Jede UPDATE CUBE-Zuordnung sollte zu Transaktionszwecken als atomar betrachtet werden. Das bedeutet, dass beim Fehlschlagen eines einzelnen Zuordnungsvorgangs, z. B. wegen eines Fehlers in einer Formel oder einer Sicherheitsverletzung, der gesamte UPDATE CUBE-Vorgang fehlschlägt. Bevor die Berechnungen der einzelnen Zuordnungsvorgänge verarbeitet werden, wird ein Snapshot der Daten erstellt, um sicherzustellen, dass die sich ergebenden Berechnungen richtig sind.
Vorsicht: |
---|
Wenn die USE_WEIGHTED_ALLOCATION-Methode für ein Measure verwendet wird, das ganze Zahlen enthält, gibt die Methode möglicherweise aufgrund von inkrementellen Rundungsänderungen ungenaue Ergebnisse zurück. |
Siehe auch
Andere Ressourcen
MDX-Datenbearbeitungsanweisungen (MDX)
Hilfe und Informationen
Informationsquellen für SQL Server 2005
Änderungsverlauf
Version | Verlauf |
---|---|
17. Juli 2006 |
|