Opérateurs (syntaxe MDX)
Dans la syntaxe MDX (Multidimensional Expressions), les opérateurs permettent d'exécuter les actions suivantes :
Modifier des données, soit définitivement, soit temporairement.
Chercher des valeurs ou des objets selon un critère de recherche.
Implémenter une décision entre des valeurs ou des expressions.
Tester des conditions précises avant de commencer ou de valider une transaction, ou avant d'exécuter des instructions spécifiques.
MDX prend en charge les opérateurs répertoriés dans le tableau suivant :
Si vous devez effectuer ce type d'opération |
Utilisez le programme d'installation de |
---|---|
Affecter une valeur à une variable ou associer une colonne de jeu de résultats à un alias |
|
Addition, soustraction, multiplication, division. |
|
Tester une condition telle que AND, OR, NOT et XOR. |
|
Comparer une valeur à une autre ou à une expression |
|
Combiner deux chaînes en une de façon permanente ou temporaire. |
|
Combiner deux expressions d'ensemble en une de façon permanente ou temporaire. |
|
Exécute une opération sur un opérande. |
[!REMARQUE]
Dans les requêtes, toute personne qui peut voir les données d'un cube devant être utilisé avec un certain type d'opérateur peut effectuer des opérations. Cependant, vous avez besoin des droits adéquats pour de pouvoir modifier les données.
Si vous utilisez plusieurs opérateurs, l'ordre dans lequel la syntaxe MDX les évalue est important. De même, l'utilisateur des opérateurs peut exiger la conversion d'un type de données en un autre avant que les opérateurs puissent être évalués.
Évaluation d'expressions complexes
Vous pouvez créer une expression en utilisant des opérateurs pour combiner plusieurs expressions plus petites. Dans ces expressions complexes, la syntaxe MDX évalue les opérateurs suivant l'ordre de priorité défini par MicrosoftSQL ServerAnalysis Services. Les opérateurs dont le degré de priorité est le plus élevé sont exécutés avant les opérateurs de priorité moindre.
Description de la priorité des opérateurs
La liste suivante présente les opérateurs par ordre de priorité décroissant. Les opérateurs contenus dans la même ligne ont une priorité équivalente et sont évalués de gauche à droite sauf contrainte due à la présence de parenthèses :
IS
AS
DISTINCT
:
^
/, *
+, -
EXISTING
<>, >=, =, <=, >, <
NOT
AND
XOR
OR
Pour plus d'informations sur les opérateurs dans la syntaxe MDX, consultez Référence des opérateurs MDX (MDX).
Détermination de résultats
Lorsque vous combinez des expressions simples pour constituer une expression complexe, les règles des opérateurs combinées à celles de priorité des types de données déterminent le type de données de la valeur obtenue.
Si le résultat est un caractère ou une valeur Unicode, les règles des opérateurs combinées à celles de la priorité de classement déterminent le classement du résultat. Pour plus d'informations sur le classements, consultez Langages et classements (Analysis Services - Données multidimensionnelles).
Il existe également des règles pour déterminer la précision, l’échelle et la longueur du résultat basées sur la précision, l’échelle et la longueur d’expressions simples.
Conversion de types de données
La syntaxe MDX convertit un objet en un autre type lorsqu'il est utilisé dans une expression qui exige un type différent. Le tableau suivant définit les règles de conversion de chaque objet.
Type d'origine |
Type exigé |
Conversion |
---|---|---|
Niveau |
Ensemble |
<niveau>.membres |
Hiérarchie |
Membre |
<hiérarchie>.membrepardéfaut |
Membre |
Tuple |
(<Membre>) |
Tuple |
Membre |
<tuple>.élément(0) |
Tuple |
Scalaire |
<tuple>.valeur |