Concepts clés dans MDX (MDX)

Les expressions MDX (Multidimensional Expressions) permettent d'interroger des données multidimensionnelles ou de créer des expressions MDX à utiliser dans un cube. Toutefois, vous devez au préalable comprendre les concepts et la terminologie liés aux dimensions Microsoft SQL Server Analysis Services. La section suivante offre une description rapide des concepts et de la terminologie de base de la modélisation dimensionnelle dont vous aurez besoin. Les sections qui suivent illustrent les modes d'application de ces concepts.

Concepts et termes de la modélisation dimensionnelle

Un cube Microsoft SQL Server Analysis Services est organisé selon des mesures, des dimensions et des attributs de dimension. Le tableau ci-dessous décrit les termes et les concepts de la modélisation dimensionnelle que vous devez comprendre pour manipuler le langage des expressions MDX.

  • Membre (All)
    Le membre (All) désigne la valeur calculée de tous les membres dans une hiérarchie d'attribut ou une hiérarchie définie par l'utilisateur.

  • Hiérarchie d'attribut
    Une hiérarchie d'attribut est une hiérarchie de membres d'attribut composée des niveaux suivants :

    • un niveau feuille accueillant chaque membre d'attribut distinct (chaque membre du niveau feuille est également connu sous le terme de membre feuille) ;

    • des niveaux intermédiaires si la hiérarchie d'attribut est une hiérarchie parent-enfant ;

    • un niveau (All) facultatif (IsAggregatable=True) contenant la valeur agrégée des membres feuille de la hiérarchie d'attribut (pour désigner le membre du niveau (All), on parle également de « membre (All) »).

    Par défaut, une hiérarchie d'attribut est définie pour chaque attribut de dimension (AttributeHierarchyEnabled=True). Les hiérarchies d'attribut sont visibles par défaut (AttributeHierarchyVisible=True).

  • Relation d'attribut
    Une relation d'attribut désigne une relation un-à-plusieurs entre des attributs (par exemple, une relation entre un attribut de dimension d'état et de ville).

  • Hiérarchie équilibrée
    Une hiérarchie équilibrée est une hiérarchie dans laquelle il existe le même nombre de niveaux entre le niveau supérieur et n'importe quel membre feuille.

  • Membre calculé
    Un membre calculé est un membre de dimension défini et calculé lors de requêtes. Il peut être défini dans une requête de l'utilisateur ou dans le script de calcul MDX et stocké sur le serveur. Un membre calculé correspond aux lignes dans la table de dimension de la dimension dans laquelle il est défini.

  • Cellule
    Dans un cube, une cellule désigne l'espace existant à l'intersection d'un membre du membre de dimension de mesures et d'un membre de chaque hiérarchie d'attribut dans un cube.

    • Un membre de la dimension de mesures peut être un membre feuille (fait individuel) ou un membre agrégé (par exemple, les ventes agrégées d'une année donnée).

    • Un membre provenant d'une dimension peut être un membre feuille, un membre de données, un membre parent ou un membre (All).

  • Membre enfant
    Un membre enfant apparaît dans une hiérarchie sous le niveau supérieur.

  • Dimension de cube
    Une dimension de cube est une instance d'une dimension de base de données à l'intérieur d'un cube.

  • Espace du cube
    L'espace du cube est le produit des membres des hiérarchies d'attribut d'un cube associés aux mesures du cube.

  • Membre de données
    Un membre de données est un membre enfant associé à un membre parent dans une hiérarchie parent-enfant. Un membre de données abrite les valeurs de données de son membre parent, plutôt que la valeur agrégée des enfants du parent.

  • Dimension de base de données
    Une dimension de base de données est une collection d'attributs de dimension liés à un attribut de clé lui-même associé à des faits dans la dimension de mesures.

  • Attribut de dimension
    Un attribut de dimension est lié à une ou plusieurs colonnes d'une table de dimension et contient des membres. Un attribut de dimension peut contenir des noms de clients, de mois et de produits.

  • Attribut de granularité
    Attribut d'une dimension de cube qui relie une dimension aux faits d'un groupe de mesures dans la dimension de mesures. Si l'attribut de granularité et l'attribut clé sont différents, les attributs non-clés doivent alors être liés, directement ou indirectement, à l'attribut de granularité. Dans un cube, l'attribut de granularité définit la granularité d'une dimension.

  • Attribut de clé
    L'attribut de clé d'une dimension de base de données est l'attribut auquel tous les attributs non-clés de la dimension sont liés (directement ou indirectement). L'attribut de clé est souvent aussi l'attribut de granularité.

  • Membre feuille
    Un membre feuille appartient à une hiérarchie qui n'a pas d'enfants.

  • Mesure
    Une mesure est une valeur extraite d'une table de faits. On parle aussi de fait. Une valeur dans une dimension de mesures est également désignée par le terme générique membre. Les mesures sont généralement des valeurs numériques mais peuvent également être des valeurs de chaîne.

  • Groupe de mesures
    Un groupe de mesures est une collection de mesures associées dans un cube SQL Server Analysis Services (en règle générale, il s'agit de mesures issues de la même table de faits). Dans SQL Server Analysis Services, un cube peut contenir plusieurs groupes de mesures.

  • Dimension de mesures
    Une dimension de mesures est la dimension qui accueille toutes les mesures figurant dans un cube. C'est un type spécial de dimension dans lequel les membres sont généralement agrégés (traditionnellement par somme ou par compte) sur la base du membre actuel de chaque attribut de dimension pour lequel une mesure spécifiée existe.

  • Membre
    Un membre désigne la valeur d'un attribut de dimension, notamment la dimension de mesures. Au sein d'une hiérarchie, un membre peut être un membre feuille, un membre parent, un membre de données ou un membre (All).

  • Propriété de membre
    Une propriété de membre désigne la propriété d'un membre d'attribut. Il peut s'agir, par exemple, du sexe d'un client ou de la couleur d'un produit.

  • Membre parent
    Un membre parent s'inscrit dans une hiérarchie parent-enfant ; il contient la valeur agrégée de ses enfants.

  • Hiérarchie parent-enfant
    Une hiérarchie parent-enfant est un type spécial de hiérarchie d'attribut dans laquelle un attribut au sein de la dimension prend le type parent. Une hiérarchie parent-enfant est une hiérarchie déséquilibrée de membres parents et enfants. Elle se compose des niveaux suivants :

    • Niveaux enfants abritant les enfants des membres parents. Les enfants d'un parent incluent les membres d'attribut agrégés dans le membre parent, notamment les membres de données.

    • Niveaux intermédiaires accueillant les membres parents.

    • Niveau (All) facultatif (IsAggregatable=True) contenant la valeur agrégée des membres feuille des hiérarchies parent-enfant (pour désigner le membre du niveau (All), on parle également de « membre (All) »).

    • Une seule hiérarchie parent-enfant peut exister par dimension et doit être associée à l'attribut clé.

  • Hiérarchie déséquilibrée
    Voir hiérarchie déséquilibrée.

  • Sous-cube
    Un sous-cube est le sous-ensemble d'un cube qui représente une vue filtrée du cube. Les sous-cubes peuvent être définis dans une instruction Scope à l'intérieur du script de calcul MDX, dans une clause de sous-sélection au sein d'une requête MDX ou en tant que cube de session.

  • Sous-cube avec sous-sélection
    Un sous-cube défini à l'aide d'une clause de sous-sélection dans une requête MDX inclut tous les membres existants dans la définition du sous-cube avec les conséquences suivantes :

    • En incluant un membre quel qu'il soit, vous incluez ses ascendants et ses descendants.

    • En incluant chaque membre provenant d'un niveau d'une hiérarchie définie par l'utilisateur, vous incluez tous les membres de cette hiérarchie mais pouvez exclure les membres d'autres hiérarchies qui n'existent pas avec les membres du niveau concerné (par exemple, une ville qui ne contient aucun client).

    • Tous les membres (All) du cube existent déjà dans des sous-cubes créés à partir du cube.

    • Toutes les valeurs, une fois agrégées dans le sous-cube, reflèteront uniquement l'espace du nouveau cube et non l'espace du cube extérieur duquel ce cube est dérivé.

  • Hiérarchie déséquilibrée
    Une hiérarchie déséquilibrée est une hiérarchie dans laquelle de nombreux niveaux différents interviennent entre le niveau supérieur et les membres feuille. Une hiérarchie parent-enfant est un exemple de hiérarchie déséquilibrée. On utilise également le terme de hiérarchie irrégulière pour désigner une hiérarchie déséquilibrée.

  • Hiérarchie définie par l'utilisateur
    Une hiérarchie définie par l'utilisateur est une hiérarchie équilibrée de hiérarchies d'attribut utilisée pour faciliter la navigation des utilisateurs dans les données du cube. Les hiérarchies définies par l'utilisateur ne s'ajoutent pas à l'espace du cube. Les niveaux d'une hiérarchie définie par l'utilisateur peuvent être masqués dans certaines circonstances et apparaître déséquilibrés.