Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: SQL Server Analysis Services Azure Analysis Services
Fabric/Power BI Premium
Ein MDX-Skript (Multidimensional Expressions) definiert den Berechnungsprozess für einen Cube in Microsoft SQL Server SQL Server Analysis Services. Es gibt zwei Arten von MDX-Skripts:
Das MDX-Standardskript
Zum Zeitpunkt der Erstellung eines Cubes erstellt SQL Server Analysis Services ein MDX-Standardskript für diesen Cube. In diesem Skript ist ein Berechnungsdurchlauf für den gesamten Cube definiert.
Benutzerdefiniertes MDX-Skript
Nachdem Sie einen Cube erstellt haben, können Sie benutzerdefinierte MDX-Skripts hinzufügen, um die Berechnungsmöglichkeiten für den Cube zu erweitern.
Das MDX-Standardskript
Das MDX-Standardskript, das SQL Server Analysis Services erstellt, wenn Sie einen Cube definieren, enthält eine einzelne CALCULATE-Anweisung. Diese einzige CALCULATE-Anweisung befindet sich am Anfang des MDX-Standardskripts und gibt an, dass beim ersten Berechnungsdurchlauf der gesamte Cube berechnet werden soll.
Das MDX-Standardskript enthält außerdem die Skriptbefehle, die benannte Mengen, Zuweisungen und berechnete Elemente erstellen, die im Cube-Designer erstellt wurden:
SQL Server Analysis Services fügt dem MDX-Standardskript direkt Skriptbefehle hinzu.
Für jede benannte Menge im Cube gibt es im MDX-Standardskript eine entsprechende CREATE SET-Anweisung.
Für jedes berechnete Element, das im Cube definiert ist, gibt es im MDX-Standardskript eine entsprechende CREATE MEMBER-Anweisung.
Die Reihenfolge, die die Skriptbefehle, benannten Mengen und berechneten Elemente im MDX-Standardskript haben, können Sie im Cube-Designer über die Registerkarte Berechnungen festlegen. Weitere Informationen zum Definieren von Berechnungen, die im MDX-Standardskript gespeichert werden, finden Sie unter Berechnungen in mehrdimensionalen Modellen.
Ist einem Cube kein MDX-Skript zugeordnet, nimmt der Cube das MDX-Standardskript an. Einem Cube muss mindestens ein MDX-Skript zugeordnet sein, weil ein Cube anhand des MDX-Skripts das Berechnungsverhalten ermittelt. Dies bedeutet, dass ein Cube, dem kein oder ein leeres MDX-Skript zugeordnet wurde, keine Zellen berechnen kann. Wenn Sie Cubes programmgesteuert erstellen, entweder mit ASSL-Befehlen (Analysis Services Scripting Language) oder mit Analysis Management Objects (AMO), empfiehlt es sich, dass Sie ein MDX-Standardskript erstellen, das eine einzige CALCULATE-Anweisung für den Cube enthält.
Inhalt eines MDX-Skripts
Ein MDX-Skript kann die folgenden Anweisungen und Ausdrücke enthalten:
Alle MDX-Skriptanweisungen
In einem MDX-Skript steuern MDX-Skriptbefehle den Kontext und den Gültigkeitsbereich von Berechnungen und verwalten das Verhalten anderer Anweisungen im MDX-Skript. Zu dieser Kategorie gehören die folgenden Anweisungen:
Weitere Informationen zu MDX-Skriptanweisungen finden Sie unter MDX-Skriptanweisungen (MDX).
CREATE MEMBER
Die CREATE MEMBER-Anweisung erstellt berechnete Elemente. Weitere Informationen zum Erstellen berechneter Member finden Sie unter Erstellen berechneter Elemente in MDX (MDX).
CREATE SET
Die CREATE SET-Anweisung erstellt benannte Mengen. Weitere Informationen zum Erstellen von Namenssätzen finden Sie unter Erstellen benannter Sätze in MDX (MDX).
Bedingungsanweisungen
Bedingte Anweisungen erweitern MDX-Skripts um logische Befehle mit Bedingungen. Zu dieser Kategorie gehören die Anweisungen CASE und IF .
Zuweisungsausdrücke
Ein Zuweisungsausdruck weist einem eingeschränkten Teilcube einen Ausdruck (z. B. einen Wert) zu. Ein eingeschränkter Teilcubeausdruck ist eine Auflistung eingeschränkter Mengenausdrücke, die in einem MDX-Skript die "Kanten" eines Teilcubes definieren. Der folgende Code zeigt die Syntax für einen eingeschränkten Teilcubeausdruck:
<Constrained subcube> ::= (
( <Constrained set> [<Crossjoin operator> <Constrained set>...] |
<ROOT function> |
<TREE function> |
LEAVES() |
* ) [, <Constrained subcube>...]
<Constrained set> ::=
<Natural hierarchy>.MEMBERS |
<Natural hierarchy>.LEVEL(<numeric expression>).MEMBERS |
{ <Natural hierarchy member> } |
DESCENDANTS( <Natural hierarchy member>, <Level expression>, ( SELF | AFTER | SELF_AND_AFTER ) ) |
DESCENDANTS( <Natural hierarchy member>, , LEAVES )
<Natural hierarchy> ::= <Hierarchy identifier>
<Natural hierarchy member> ::= <Natural hierarchy>.<identifier>[.<identifier>...]
Weitere Informationen
MDX-Sprachreferenz (MDX)
Grundlegendes zu MDX-Skripts (Analysis Services)