Mesures et groupes de mesures
Une mesure représente une colonne qui contient des données, généralement numériques, quantifiables et agrégeables. Une mesure est mappée généralement à une colonne d'une table de faits.
Vous pouvez aussi utiliser une expression de mesure pour définir la valeur d'une mesure en fonction d'une colonne d'une table de faits modifiée par une expression MDX (Multidimensional Expressions). Une expression de mesure permet de pondérer les valeurs de mesure ; par exemple, une conversion monétaire permet de pondérer une mesure de ventes par un taux de change.
Les colonnes d'attribut de tables de dimension peuvent être utilisées pour définir des mesures, mais de telles mesures ont généralement un comportement d'agrégation de type semi-additif ou non additif. Pour plus d'informations sur le comportement semi-additif, consultez Définition du comportement semi-additif.
Vous pouvez aussi définir une mesure en tant que membre calculé en utilisant une expression MDX (Multidimensional Expressions) pour fournir une valeur calculée pour une mesure à partir d'autres mesures du cube. Les membres calculés ajoutent de la souplesse et des possibilités d'analyse à un cube dans Analysis Services. Pour plus d'informations sur les calculs, consultez Calculs et Définition de calculs.
Groupes de mesures
Un objet MeasureGroup simple est composé d'informations de base, de mesures, de dimensions et de partitions. Les informations de base incluent le nom du groupe de mesures, le type de mesure, le mode de stockage, le mode de traitement et d'autres informations. Les mesures sont le jeu effectif de mesures qui compose le groupe de mesures. Chaque mesure inclut une définition de la fonction d'agrégation, de l'attribut de mise en forme, de la source d'élément de données, et d'autres éléments. Les dimensions sont un sous-ensemble de dimensions du cube utilisé pour créer le groupe de mesures traité. Les partitions sont la collection de fractionnements physiques du groupe de mesures traité.
Dans un cube, les mesures sont groupées par leurs tables de faits sous-jacentes en groupes de mesures. Les groupes de mesures sont utilisés pour associer des dimensions à des mesures. Les groupes de mesures sont aussi utilisés pour les mesures dont le comportement d'agrégation est de type compte distinct. En effet, le fait de placer chaque mesure de compte distinct dans son propre groupe de mesures optimise le traitement des agrégations.
Le diagramme suivant représente la table de faits FactSalesQuota et les deux tables de dimension qui lui sont associées, DimTime et DimEmployee.
La table de faits FactSalesQuota définit le groupe de mesures Sales Quotas du cube Adventure Works, et les tables de dimension DimTime et DimEmployee définissent les dimensions Time et Employee dans l'exemple de projet Analysis Services Adventure Works DW.
La table de faits contient deux types fondamentaux de colonnes : les colonnes d'attribut et les colonnes de mesure. Les colonnes d'attribut sont utilisées pour créer des relations de clé étrangères avec des tables de dimension, ce qui permet d'organiser les données quantifiables des colonnes de mesure par les données contenues dans les tables de dimension. Les colonnes d'attribut sont également utilisées pour définir la granularité d'une table de faits et de son groupe de mesures. Les colonnes de mesure définissent les mesures composant un groupe de mesures. Dans la table de faits FactSalesQuota, la colonne SalesAmountQuota est utilisée pour définir la mesure Sales Amount Quota. Cette mesure, qui fait partie du groupe de mesures Sales Quotas, est organisée selon les dimensions Time et Employee.
Granularité
La granularité fait référence au niveau de détail autorisé par une table de faits. Par exemple, la table de faits FactSalesQuota a une relation de clé étrangère avec la table DimEmployee, sur la colonne de clé primaire EmployeeKey. En d'autres termes, chaque enregistrement de la table FactSalesQuota est lié à un seul employé ; par conséquent, la granularité du groupe de mesures, du point de vue de la dimension Employee, est au niveau de l'employé individuel.
Il n'est jamais possible de définir la granularité d'un groupe de mesures plus fine que le niveau le plus bas de la dimension, du point de vue du groupe de mesures, mais vous pouvez définir une granularité plus grossière à l'aide d'attributs supplémentaires. Par exemple, la table de faits FactSalesQuota utilise trois colonnes, TimeKey, CalendarYear et CalendarQuarter pour définir la granularité de la relation avec la table DimTime. Par conséquent, la granularité du groupe de mesures, du point de vue de la dimension Time, est par trimestre de calendrier (et non par jour, le niveau le plus bas de la dimension Time).
Vous pouvez spécifier la granularité d'un groupe de mesures par rapport à une dimension spécifique à l'aide de l'onglet Utilisation de la dimension du Concepteur de cube. Pour plus d'informations sur les relations de dimension, consultez Relations de dimension.
Fonctions d'agrégation
Lorsqu'une dimension est utilisée pour organiser des mesures dans un groupe de mesures, la mesure est résumée en fonction des hiérarchies contenues dans cette dimension. Le comportement de sommation dépend de la fonction d'agrégation spécifiée pour la mesure. Par exemple, la dimension Employé a une hiérarchie nommée Département de l'employé, dont la structure en niveaux présente un aspect similaire au diagramme suivant :
Chaque enregistrement de la table de faits FactSalesQuota est directement lié à un enregistrement unique de la table de dimension DimEmployee par une relation de clé étrangère avec la colonne EmployeeKey. De ce fait, chaque valeur de la mesure Sales Amount Quota se rapporte à un seul membre feuille du niveau Full Name de la hiérarchie Employee Department et peut être chargée directement à partir de la table de faits. Cependant, la valeur de la mesure Quota sur le montant des ventes pour les membres des niveaux au-dessus de Nom complet ne peut pas être chargée directement parce que chaque membre représente plusieurs enregistrements. En d'autres termes, un seul membre du niveau Title peut être associé à plusieurs employés, et donc à plusieurs membres du niveau Full Name. Les valeurs de mesure pour ces membres non-feuilles ne sont pas chargées directement à partir de la source de données, mais sont agrégées à partir des membres qui se trouvent plus bas dans la hiérarchie.
Les mesures ne sont pas toutes dérivées directement d'une valeur stockée dans une colonne de la table de faits. Par exemple, la mesure Sales Person Count définie dans le groupe de mesures Sales Quota du cube Adventure Works dans l'exemple de projetAnalysis Services AdventureWorks DW est en réalité basée sur le nombre de valeurs uniques (ou compte distinct) dans la colonne EmployeeKey de la table de faits FactSalesQuota.
Le comportement d'agrégation de chaque mesure est déterminé par la fonction d'agrégation associée à la mesure. Pour plus d'informations sur les fonctions d'agrégation, consultez Définition du comportement semi-additif.