Operatoren (MDX-Syntax)

In Multidimensional Expressions (MDX) ermöglichen Operatoren die folgenden Aktionen:

  • Ändere die Daten, entweder dauerhaft oder vorübergehend.

  • Suchen Sie nach Werten oder Objekten, die eine bestimmte Bedingung erfüllen.

  • Implementiere eine Entscheidung zwischen Werten oder Ausdrücken.

  • Testen Sie auf bestimmte Bedingungen, bevor Sie eine Transaktion starten oder ausführen, oder bevor Sie bestimmte Anweisungen ausführen.

MDX unterstützt die in der folgenden Tabelle aufgeführten Operatoren:

Um diese Art von Operation durchzuführen Verwendung
Weist einer Variablen einen Wert zu oder ordnet eine Spalte der Ergebnismenge mit einem Alias zu. Zuordnungsoperatoren
Addition, Subtraktion, Multiplikation, Division. Arithmetische Operatoren
Teste die Wahrheit einer Bedingung, wie AND, OR, NOT und XOR. Bitweise Operatoren
Vergleichen Sie einen Wert mit einem anderen Wert oder einem Ausdruck. Vergleichsoperatoren
Entweder dauerhaft oder vorübergehend zwei Saiten zu einer Saite kombinieren. Verkettungsoperatoren
Entweder dauerhaft oder vorübergehend zwei Mengenausdrücke zu einer einzigen Menge kombinieren. Festlegen von Operatoren
Führt eine Operation auf einem Operanden aus. Unäre Operatoren

Note

In Abfragen kann jeder, der die Daten im Würfel sehen kann, der mit einem bestimmten Operator verwendet werden soll, Operationen ausführen. Allerdings benötigen Sie die entsprechenden Berechtigungen, bevor Sie die Daten erfolgreich ändern können.

Bei Verwendung mehrerer Operatoren ist die Reihenfolge, in der MDX die Operatoren auswertet, wichtig. Ebenso kann der Benutzer von Operatoren verlangen, dass ein Datentyp in einen anderen umgewandelt wird, bevor die Operatoren ausgewertet werden können.

Bewertung komplexer Ausdrücke

Man kann einen Ausdruck erstellen, indem man Operatoren verwendet, um mehrere kleinere Ausdrücke zu kombinieren. In diesen komplexen Ausdrücken bewertet MDX die Operatoren in der Reihenfolge basierend auf der von Analysis Services verwendeten Definition der Operatorpriorität. MDX führt Operatoren mit höherer Priorität aus, bevor Operatoren mit niedrigerer Priorität ausgeführt werden.

Verständnis der Operatorpriorität

Die folgende Liste zeigt die Vorrangordnung des Bedieners, von der höchsten zur niedrigsten. Operatoren in derselben Zeile haben gleich Vorrang und werden von links nach rechts ausgewertet, sofern es nicht durch Klammern anders erwirkt wird:

  • IS

  • :

  • ^

  • /, *

  • +, -

  • <>, >=, =, <=, >, , <

  • NOT

  • UND

  • XOR

  • OR

Weitere Informationen zu Operatoren in MDX finden Sie unter MDX Operator Reference (MDX).

Ergebnisse bestimmen

Wenn man einfache Ausdrücke kombiniert, um einen komplexen Ausdruck zu bilden, bestimmen die Regeln für die Operatoren zusammen mit den Regeln für die Prärangenz des Datentyps den Datentyp des resultierenden Werts.

Wenn das Ergebnis ein Zeichen oder Unicode-Wert ist, bestimmen die Regeln für die Operatoren zusammen mit den Regeln für die Rangordnung die Kollation des Ergebnisses. Weitere Informationen zu Kollationen finden Sie unter Languages and Collations (Analysis Services).

Es gibt auch Regeln, die Genauigkeit, Skala und Länge des Ergebnisses basierend auf Genauigkeit, Skala und Länge der einfachen Ausdrücke bestimmen.

Konvertieren von Datentypen

MDX wandelt ein Objekt implizit in einen anderen Typ um, wenn dieses Objekt in einem Ausdruck verwendet wird, der einen anderen Typ benötigt. Die folgende Tabelle definiert die Umwandlungsregeln für jedes Objekt.

Originaltyp Benötigter Typ Umwandlung
Grad Festlegen <level.members>
Hierarchie Mitglied <hierarchy.defaultmember>
Mitglied Tupel (<Mitglied>)
Tupel Mitglied <tuple.item>(0)
Tupel Skalar <tuple.value>