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

Opérateurs d'affectation

Addition, soustraction, multiplication, division.

Opérateurs arithmétiques

Tester une condition telle que AND, OR, NOT et XOR.

Opérateurs de bits

Comparer une valeur à une autre ou à une expression

Opérateurs de comparaison

Combiner deux chaînes en une de façon permanente ou temporaire.

Opérateurs de concaténation

Combiner deux expressions d'ensemble en une de façon permanente ou temporaire.

Opérateurs de jeu

Exécute une opération sur un opérande.

Opérateurs unaires

[!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