Partager via


Script MDX de base (MDX)

S’applique à : SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Un script MDX (Multidimensional Expressions) définit le processus de calcul d’un cube dans Microsoft SQL Server SQL Server Analysis Services. Il existe deux types de scripts MDX :

Script MDX par défaut
Au moment où vous créez un cube, SQL Server Analysis Services crée un script MDX par défaut pour ce cube. Ce script définit un test de calcul pour l'intégralité du cube.

Script MDX défini par l'utilisateur
Lorsque vous avez créé un cube, vous pouvez ajouter des scripts MDX définis par l'utilisateur qui étendent les possibilités de calcul du cube.

Script MDX par défaut

Le script MDX par défaut que SQL Server Analysis Services crée lorsque vous définissez un cube contient une seule instruction CALCULATE. Cette dernière se situe au début du script MDX par défaut et indique que l'intégralité du cube doit être calculée pendant le premier test de calcul.

Le script MDX par défaut contient également les commandes de script qui créent des jeux nommés, des assignations et des membres calculés dans le Concepteur de cube :

  • SQL Server Analysis Services ajoute directement des commandes de script au script MDX par défaut.

  • Pour chaque jeu nommé défini dans le cube, il existe une instruction CREATE SET correspondante dans le script MDX par défaut.

  • Pour chaque membre calculé défini dans le cube, il existe une instruction CREATE MEMBER correspondante dans le script MDX par défaut.

Vous pouvez contrôler l’ordre des commandes de script, des jeux nommés et des membres calculés dans le script MDX par défaut à l’aide de l’onglet Calculs du Concepteur de cube. Pour plus d’informations sur la définition des calculs stockés dans le script MDX par défaut, consultez Calculs dans les modèles multidimensionnels.

Si aucun script MDX n'est associé à un cube, ce dernier utilise le script MDX par défaut. Un cube doit être au moins associé à un script MDX, car il se base sur celui-ci pour déterminer le comportement de calcul. En d'autres termes, un cube qui n'est associé à aucun script MDX ou associé à un script MDX vide ne peut pas calculer de cellules. Si vous créez des cubes par programmation, à l'aide de commandes ASSL (Analysis Services Scripting Language) ou de l'objet AMO (Analysis Management Object), il est recommandé de créer un script MDX par défaut contenant une instruction CALCULATE unique pour le cube.

Contenu du script MDX

Un script MDX peut contenir les instructions et expressions suivantes :

Toutes les instructions de script MDX
Dans les scripts MDX, les instructions de script MDX contrôlent le contexte et la portée des calculs et gèrent le comportement des autres instructions dans le script MDX. Cette catégorie comprend les instructions suivantes :

Pour plus d’informations sur les instructions de script MDX, consultez MDX Scripting Statements (MDX) .

CREATE MEMBER
L'instruction CREATE MEMBER crée des membres calculés. Pour plus d’informations sur la création de membres calculés, consultez Génération de membres calculés dans MDX (MDX).

CREATE SET
L'instruction CREATE SET crée des jeux nommés. Pour plus d’informations sur la création de jeux de noms, consultez Génération d’ensembles nommés dans MDX (MDX).

Instructions conditionnelles
Les instructions conditionnelles ajoutent une logique conditionnelle aux scripts MDX. Cette catégorie comprend les instructions CASE et IF .

Expressions d'assignation
Une expression d'assignation affecte une expression, telle qu'une valeur, à un sous-cube contraint. Une expression de sous-cube contraint est une collection d'expressions de jeux contraints qui définit les « côtés » d'un sous-cube au sein d'un script MDX. Les codes suivants représentent la syntaxe d'une expression de sous-cube contraint :

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

Voir aussi

Guide de référence du langage MDX (MDX)
Principes de base des scripts MDX (Analysis Services)