Freigeben über


Das Grundlegende MDX-Skript (MDX)

Ein MDX-Skript (Multidimensional Expressions) definiert den Berechnungsprozess für einen Cube in Microsoft SQL Server Analysis Services. Es gibt zwei Arten von MDX-Skripts:

Das standardmäßige MDX-Skript
Zu dem Zeitpunkt, zu dem Sie einen Cube erstellen, erstellt Analysis Services ein MDX-Standardskript für diesen Cube. Dieses Skript definiert einen Berechnungsdurchlauf für den gesamten Cube.

Benutzerdefiniertes MDX-Skript
Nachdem Sie einen Cube erstellt haben, können Sie benutzerdefinierte MDX-Skripts hinzufügen, die die Berechnungsfunktionen des Cubes erweitern.

Das Standardmäßige MDX-Skript

Das standardmäßige MDX-Skript, das Analysis Services erstellt, wenn Sie einen Cube definieren, enthält eine einzelne CALCULATE-Anweisung. Diese einzelne CALCULATE-Anweisung befindet sich am Anfang des standardmäßigen MDX-Skripts und gibt an, dass der gesamte Cube während des ersten Berechnungsdurchlaufs berechnet werden soll.

Das standardmäßige MDX-Skript enthält auch die Skriptbefehle, die benannte Mengen, Zuordnungen und berechnete Elemente erstellen, die in Cube-Designer erstellt wurden:

  • Analysis Services fügt dem standardmäßigen MDX-Skript direkt Skriptbefehle hinzu.

  • Für jeden benannten Satz im Cube ist eine entsprechende CREATE SET-Anweisung im Standardmäßigen MDX-Skript vorhanden.

  • Für jedes berechnete Element, das im Cube definiert ist, ist eine entsprechende CREATE MEMBER-Anweisung im Standardmäßigen MDX-Skript vorhanden.

Sie können die Reihenfolge von Skriptbefehlen, benannten Mengen und berechneten Elementen im Standard-MDX-Skript steuern, indem Sie die Registerkarte "Berechnungen " des Cube-Designers verwenden. Weitere Informationen zum Definieren von Berechnungen, die im standardmäßigen MDX-Skript gespeichert sind, finden Sie unter "Berechnungen in multidimensionalen Modellen".

Wenn kein MDX-Skript mit einem Cube verknüpft ist, geht der Cube davon aus, dass das standardmäßige MDX-Skript verwendet wird. Ein Cube muss mindestens einem MDX-Skript zugeordnet werden, da ein Cube auf dem MDX-Skript basiert, um das Berechnungsverhalten zu bestimmen. Mit anderen Worten, ein Cube, der keinem MDX-Skript zugeordnet war oder einem leeren MDX-Skript zugeordnet war, konnte keine Zellen berechnen. Wenn Sie Cubes programmgesteuert erstellen, entweder mithilfe von Analysis Services Scripting Language (ASSL)-Befehlen oder mithilfe von Analysis Management Objects (AMO), empfiehlt es sich, ein STANDARDMÄßIGes MDX-Skript zu erstellen, das eine einzelne CALCULATE-Anweisung für den Cube enthält.

MDX-Skriptinhalt

Ein MDX-Skript kann die folgenden Anweisungen und Ausdrücke enthalten:

Alle MDX-Skriptinganweisungen
In MDX-Skripts steuern MDX-Skriptanweisungen den Kontext und den Umfang von Berechnungen und verwalten das Verhalten anderer Anweisungen im MDX-Skript. Diese Kategorie enthält die folgenden Aussagen:

Weitere Informationen zu MDX-Skriptinganweisungen finden Sie unter MDX Scripting Statements (MDX).

MITGLIED ERSTELLEN
Die CREATE MEMBER-Anweisung erstellt berechnete Mitglieder. Weitere Informationen zum Erstellen berechneter Mitglieder finden Sie unter Building Calculated Members in MDX (MDX).

Satz erstellen
Die CREATE SET-Anweisung erstellt benannte Mengen. Weitere Informationen zum Erstellen von Namenssätzen finden Sie unter Building Named Sets in MDX (MDX).

Bedingungsanweisungen
Bedingte Anweisungen fügen MDX-Skripts bedingte Logik hinzu. Diese Kategorie enthält die CASE-Anweisungen und IF-Anweisungen.

Zuordnungsausdrücke
Ein Zuordnungsausdruck weist einem eingeschränkten Untercube einen Ausdruck, z. B. einen Wert, zu. Ein eingeschränkter Untercube-Ausdruck ist eine Sammlung eingeschränkter Satzausdrücke, die die "Kanten" eines Untercubes innerhalb eines MDX-Skripts definieren. Der folgende Code zeigt die Syntax für einen eingeschränkten Subcubeausdruck.

<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>...]  

Siehe auch

MDX-Sprachreferenz (MDX)
MDX Scripting Fundamentals (Analysis Services)