Share via


Operatoren (MDX-Syntax)

In MDX (Multidimensional Expressions) können Sie mit Operatoren die folgenden Aktionen ausführen:

  • Ändern von Daten, temporär oder dauerhaft.

  • Suchen nach Werten oder Objekten, die mit einer angegebenen Bedingung übereinstimmen.

  • Implementieren einer Entscheidung zwischen Werten oder Ausdrücken.

  • Testen hinsichtlich bestimmter Bedingungen vor dem Beginn einer Transaktion oder dem Ausführen eines Commits für eine Transaktion bzw. vor dem Ausführen bestimmter Anweisungen.

MDX unterstützt die Operatoren, die in der folgenden Tabelle aufgelistet sind:

Art der auszuführenden Operation Zweck
Weist einer Variablen einen Wert zu oder ordnet eine Resultsetspalte einem Alias zu. Zuweisungsoperatoren
Addition, Subtraktion, Multiplikation, Division. Arithmetic Operators (Arithmetische Operatoren)
Testen, ob eine Bedingung wahr ist (z. B. AND, OR, NOT oder XOR). Bitwise Operators (Bitweise Operatoren)
Vergleichen eines Werts mit einem anderen Wert oder einem Ausdruck. Comparison Operators (Vergleichsoperatoren)
Dauerhaftes oder temporäres Kombinieren von zwei Zeichenfolgen zu einer Zeichenfolge. Verkettungsoperatoren
Dauerhaftes oder temporäres Kombinieren von zwei Mengenausdrücken zu einer Menge. Festlegen von Operatoren
Ausführen einer Operation für einen Operanden. Unary Operators (Unäre Operatoren)

Hinweis

In Abfragen kann jeder Benutzer Operationen ausführen, sofern die Daten in dem Cube, der mit einem Operator verwendet werden soll, für diesen Benutzer sichtbar sind. Sie benötigen allerdings die entsprechenden Berechtigungen, um die Daten erfolgreich ändern zu können.

Wenn mehrere Operatoren verwendet werden, spielt die Reihenfolge eine Rolle, in der MDX die Operatoren auswertet. Darüber hinaus kann es für das Verwenden von Operatoren erforderlich sein, dass ein Datentyp in einen anderen Datentyp konvertiert wird, bevor die Operatoren ausgewertet werden können.

Auswerten von komplexen Ausdrücken

Sie können einen Ausdruck erstellen, indem Sie Operatoren dazu verwenden, mehrere kleinere Ausdrücke zu kombinieren. In diesen komplexen Ausdrücken wertet MDX die Operatoren basierend auf der Definition der Operatorrangfolge aus, die von Analysis Services verwendet wird. MDX führt Operatoren mit einer höheren Position in der Rangfolge vor Operatoren mit einer niedrigeren Position in der Rangfolge aus.

Grundlegendes zur Rangfolge von Operatoren

Die folgende Liste zeigt die Operatorenrangfolge (vom höchsten bis zum niedrigsten Operator). Operatoren, die in derselben Zeile stehen, sind in der Rangfolge gleichwertig und werden von links nach rechts ausgewertet, es sei denn, durch Klammern wird eine andere Reihenfolge erzwungen:

  • IS

  • :

  • ^

  • /, *

  • +, -

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

  • NICHT

  • UND

  • XOR

  • oder

Weitere Informationen zu Operatoren in MDX finden Sie unter MDX-Operatorreferenz (MDX).

Bestimmen von Ergebnissen

Wenn Sie einfache Ausdrücke zu einem komplexen Ausdruck kombinieren, wird der Datentyp des sich ergebenden Werts bestimmt, indem die Regeln für die Operatoren mit den Regeln für die Rangfolge der Datentypen kombiniert werden.

Wenn das Ergebnis ein Zeichen- oder ein Unicode-Wert ist, wird die Sortierung des Ergebnisses bestimmt, indem die Regeln für die Operatoren mit den Regeln für die Sortierungsrangfolge kombiniert werden. Weitere Informationen zu Sortierungen finden Sie unter Sprachen und Sortierungen (Analysis Services).

Es gibt auch Regeln, die die Genauigkeit, den Maßstab und die Länge des Ergebnisses basierend auf der Genauigkeit, der Skalierung und der Länge der einfachen Ausdrücke bestimmen.

Konvertieren von Datentypen

MDX konvertiert den Datentyp eines Objekts implizit in einen anderen Datentyp, wenn das Objekt in einem Ausdruck verwendet wird, der einen anderen Typ erfordert. In der folgenden Tabelle werden die Konvertierungsregeln für jedes Objekt aufgelistet.

Ursprünglicher Typ Benötigter Typ Konvertierung
Ebene Set <level.members>
Hierarchy Member <hierarchy.defaultmember>
Member Tupel (<Mitglied>)
Tupel Member <tuple.item>(0)
Tupel Skalar <tuple.value>

Weitere Informationen

MDX-Operatorreferenz (MDX)
MDX-Syntaxelemente (MDX)