Partager via


Créer des mesures et des groupes de mesures dans des modèles multidimensionnels

Une mesure est une agrégation de valeurs de données numériques, telles que somme, nombre, minimum, maximum, moyenne ou expression MDX personnalisée que vous créez. Un groupe de mesures est un conteneur pour une ou plusieurs mesures. Toutes les mesures existent dans un groupe de mesures, même s’il n’y a qu’une seule mesure. Un cube doit avoir au moins une mesure et un groupe de mesures.

Cette rubrique contient les sections suivantes :

Approches de création de mesures

Les mesures peuvent être un élément statique du cube, créé au moment du design, toujours présent chaque fois que le cube est accessible. Toutefois, vous pouvez également définir une mesure en tant que membre calculé à l’aide d’un MDX pour fournir une valeur calculée pour une mesure basée sur d’autres mesures dans le cube. Un membre calculé peut être limité à la session ou à l’utilisateur.

Pour créer une mesure ou un groupe de mesures, utilisez l’une des approches suivantes :

Assistant Cube Exécutez l’Assistant Cube dans SQL Server Data Tools (SSDT) pour créer un cube.

Dans l’Explorateur de solutions, cliquez avec le bouton droit sur Cubes et choisissez Nouveau cube. Consultez la modélisation multidimensionnelle (didacticiel Adventure Works) si vous avez besoin d’aide pour effectuer ces étapes.

Lorsque vous créez un cube basé sur des tables d’un entrepôt de données existant, les définitions des mesures et du groupe de mesures se matérialisent dans le cadre du processus de création de cube. Dans l’Assistant, vous allez choisir les faits et les tables factuelles à utiliser en tant que base des objets de mesure et de groupe de mesures dans votre cube.
Boîte de dialogue Nouvelle mesure En supposant que le cube existe déjà dans SQL Server Data Tools (SSDT), double-cliquez sur le nom du cube dans l’Explorateur de solutions pour l’ouvrir dans le Concepteur de cube. Dans le volet Mesures, cliquez avec le bouton droit sur le nœud supérieur pour créer un groupe de mesures ou de nouvelles mesures en spécifiant une table source, une colonne et un type d’agrégation. Cette approche nécessite que vous choisissiez la méthode d’agrégation dans une liste fixe de fonctions prédéfinies. Consultez Utiliser les fonctions d’agrégation pour une discussion sur les agrégations les plus couramment utilisées.
Membre calculé Les membres calculés ajoutent une flexibilité et une fonctionnalité d’analyse à un cube dans Analysis Services, car vous pouvez contrôler quand et comment ils sont créés. Parfois, vous n’avez besoin que d’une mesure temporairement, pendant la durée d’une session utilisateur ou dans Management Studio dans le cadre d’une enquête.

Dans SQL Server Data Tools (SSDT), ouvrez l’onglet Calculs pour créer un membre calculé.

Choisissez cette approche lorsque vous basez une mesure sur une expression MDX. Pour plus d’informations, consultez les rubriques suivantes : Création de mesures dans MDX, calculs, calculs dans les modèles multidimensionnels et principes de base des scripts MDX (Analysis Services).
MDX ou XMLA Dans SQL Server Management Studio, vous pouvez exécuter MDX ou XMLA pour modifier une base de données afin d’inclure une nouvelle mesure calculée. Cette approche est utile pour le test ad hoc des données, une fois la solution déployée sur un serveur. Consultez Document et Script d'une base de données des Services d’analyse.

Composants d’une mesure

Une mesure est un objet avec des propriétés. En plus de son nom, une mesure doit avoir un type d’agrégation et une colonne source ou une expression utilisée pour charger la mesure avec des données. Vous pouvez modifier la définition de mesure en définissant ses propriétés.

source La plupart des mesures proviennent de colonnes numériques dans des tables de faits dans un entrepôt de données externe, telles que la colonne Sales Amount dans les tables Internet Sales et Reseller Sales dans l’entrepôt de données AdventureWorks, mais vous pouvez également créer des mesures entièrement basées sur les calculs que vous définissez.

Les colonnes d’attribut des tables de dimension peuvent être utilisées pour définir des mesures, mais ces mesures sont généralement semi-semi-additives ou nonadditives en termes de comportement d’agrégation. Pour plus d’informations sur le comportement semi-additif, consultez Définir un comportement semi-additif.
agrégation Par défaut, les mesures sont additionnées le long de chaque dimension. Toutefois, la AggregateFunction propriété vous permet de modifier ce comportement. Consultez Utiliser les fonctions d’agrégation pour une liste.
Propriétés Consultez Configurer les propriétés de mesure pour obtenir des descriptions de propriétés supplémentaires.

Modélisation des mesures et des groupes de mesures sur les faits et les tables de faits

Avant d’exécuter un assistant de configuration, il est utile de comprendre les principes de modélisation derrière la définition de mesure.

Les mesures et les groupes de mesures sont les objets multidimensionnels qui représentent des faits et des tables de faits dans un entrepôt de données externe. Dans la plupart des cas, les mesures et les groupes de mesures sont basés sur des objets d’une vue de source de données, qui à leur tour sont créés à partir de l’entrepôt de données sous-jacent.

Le diagramme suivant représente la table de faits FactSalesQuota et deux tables de dimension associées, DimTime et DimEmployee. Dans l’exemple de cube Adventure Works, ces tableaux servent de base au groupe de mesures des quotas de vente, ainsi qu’aux dimensions Temps et Employé.

Table FactSalesQuota avec deux tables de dimension

La table de faits contient deux types de colonnes de base : les colonnes d’attribut et les colonnes de mesure.

  • Les colonnes d’attribut sont utilisées pour créer des relations de clé étrangère à des tables de dimension, afin que les données mesurables dans les colonnes de mesure puissent être organisées 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 son groupe de mesures.

  • Les colonnes de mesure définissent les mesures contenues par un groupe de mesures.

Lorsque vous exécutez l’Assistant Cube, les clés étrangères sont filtrées. Dans la liste des colonnes restantes à choisir, vous verrez des colonnes de mesure, ainsi que des colonnes d’attribut qui ne sont pas identifiées comme une clé étrangère. Dans l’exemple FactSalesQuote, l’Assistant propose CalendarYear et CalendarQuarter en plus de SalesAmountQuota. Seule la colonne de mesure SalesAmountQuota entraîne une mesure utilisable pour votre modèle multidimensionnel. Les autres colonnes basées sur des dates existent pour qualifier chaque montant de quota. Vous devez exclure les autres colonnes, CalendarYear et CalendarQuarter, de la liste des mesures de l’Assistant Cube (ou les supprimer du groupe de mesures plus loin dans le concepteur).

Le point à retirer de cette discussion est que toutes les colonnes proposées par l’Assistant ne sont pas nécessairement utiles en tant que mesure. Reposez-vous sur votre compréhension des données et sur leur utilisation lors du choix des colonnes à utiliser en tant que mesures. N’oubliez pas que vous pouvez cliquer avec le bouton droit sur une table dans la vue de source de données pour explorer les données, ce qui peut vous aider à identifier les colonnes à utiliser comme mesures. Pour plus d’informations , consultez Explorer les données dans une vue de source de données (Analysis Services ).

Remarque

Toutes les mesures ne sont pas 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 de l’exemple de cube Adventure Works est en fait basée sur le dénombrement des valeurs uniques (ou nombre distinct) dans la colonne EmployeeKey de la table de faits FactSalesQuota.

Granularité d’un groupe de mesures

Les groupes de mesures ont une granularité associée qui fait référence au niveau de détail pris en charge par une table de faits. La granularité est définie par le biais de la relation de clé étrangère à une dimension.

Par exemple, la table de faits FactSalesQuota a une relation de clé étrangère avec la table DimEmployee, chaque enregistrement de la table FactSalesQuota est lié à un seul employé, et par conséquent, la granularité du groupe de mesures comme indiqué dans la dimension Employee est au niveau de l’employé individuel.

La granularité d’un groupe de mesures ne peut jamais être définie plus fine que le niveau le plus bas de la dimension à partir de laquelle le groupe de mesures est consulté, mais la granularité peut être rendue 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 telle qu’elle est vue à partir de la dimension Time est par trimestre du calendrier, et non par jour, qui est 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 dimension du Concepteur de cube. Pour plus d’informations sur les relations de dimension, consultez Relations de dimension.

Voir aussi

Cubes dans les modèles multidimensionnelsMesures et groupes de mesures