Définition de la granularité des dimensions dans un groupe de mesures
Les utilisateurs peuvent souhaiter dimensionner des données de faits avec des granularités ou spécificités différentes pour diverses raisons. Prenons l'exemple d'un scénario dans lequel les données de ventes des revendeurs ou des ventes Internet sont enregistrées quotidiennement tandis que les données relatives aux quotas de ventes n'existent qu'au niveau du mois ou du trimestre. Dans un scénario de ce type, les utilisateurs souhaiteront que la dimension de temps ait une granularité ou un niveau de détail différent pour chaque table de faits. Bien que vous puissiez définir une nouvelle dimension de base de données en tant que dimension de temps avec ce grain différent, il existe un moyen plus facile avec Analysis Services.
Par défaut dans Analysis Services, lorsqu’une dimension est utilisée dans un groupe de mesures, le grain des données au sein de cette dimension est basé sur l’attribut clé de la dimension. Par exemple, lorsqu'une dimension de temps est incluse dans un groupe de mesures et que le niveau de granularité par défaut de la dimension de temps est le jour, le niveau de granularité par défaut de cette dimension dans le groupe de mesures est le jour. Ce niveau de granularité convient dans la plupart des cas, par exemple pour les groupes de mesures Internet Sales et Reseller Sales du présent didacticiel. Cependant, lorsqu'une dimension de ce type est incluse dans d'autres types de groupes de mesures, tels que les groupes de mesures des quotas de ventes ou du budget, une granularité de niveau mensuel ou trimestriel est généralement plus appropriée.
Pour spécifier une granularité de dimension de cube différente de la granularité par défaut, vous devez modifier l’attribut de granularité de la dimension de cube utilisé dans le groupe de mesures particulier à partir de l’onglet Utilisation de la dimension du Concepteur de cube. Lorsque vous remplacez la granularité d'une dimension dans un groupe de mesures spécifique par un attribut qui n'est pas l'attribut de clé de cette dimension, vous devez vous assurer que tous les autres attributs du groupe de mesures sont directement ou indirectement associés au nouvel attribut de granularité. Pour cela, vous devez spécifier les relations entre tous les autres attributs et l'attribut qui est défini comme l'attribut de granularité dans le groupe de mesures. Dans ce cas, définissez des relations d'attribut supplémentaires au lieu de déplacer les relations d'attribut. L'attribut défini comme l'attribut de granularité devient l'attribut de clé dans le groupe de mesures pour les attributs restants dans la dimension. Si vous ne spécifiez pas correctement les relations d’attributs, Analysis Services ne pourra pas agréger correctement les valeurs, comme vous le verrez dans les tâches de cette rubrique.
Pour plus d’informations, consultez Relations de dimensionet Définir une relation régulière et des propriétés de relation régulière.
Au cours des tâches de cette rubrique, vous allez ajouter un groupe de mesures Sales Quotas et définir la granularité de la dimension Date de ce groupe de mesures sur un niveau mensuel. Vous définissez ensuite des relations d’attributs entre l’attribut month et d’autres attributs de dimension pour vous assurer qu’Analysis Services agrège correctement les valeurs.
Ajout de tables et définition du groupe de mesures Sales Quotas
Basculez vers la vue de source de données Adventure Works DW 2012 .
Cliquez avec le bouton droit n’importe où dans le volet Organisateur de diagramme , cliquez sur Nouveau diagramme, puis nommez le diagramme
Sales Quotas
.Faites glisser les tables Employee, Sales Territory et
Date
du volet Tables vers le volet Diagramme .Ajoutez la table FactSalesQuota au volet Schéma en cliquant avec le bouton droit dans le volet Schéma et en sélectionnant Ajouter/supprimer des tables.
Notez que la table SalesTerritory est liée à la table FactSalesQuota par le biais de la table Employee .
Passez en revue les colonnes dans la table FactSalesQuota puis explorez les données de cette table.
Notez que le niveau de granularité des données de cette table est le trimestre calendaire, qui est le niveau de détail le plus bas dans la table FactSalesQuota.
Dans la vue de source de données Designer, remplacez la propriété FriendlyName de la table FactSalesQuota par
SalesQuotas
.Basculez vers le cube du didacticiel Analysis Services, puis cliquez sur l’onglet Structure du cube .
Cliquez avec le bouton droit n’importe où dans le volet Mesures , cliquez sur Nouveau groupe de mesures, cliquez
SalesQuotas
dans la boîte de dialogue Nouveau groupe de mesures , puis cliquez sur OK.Le
Sales Quotas
groupe de mesures apparaît dans le volet Mesures . Dans le volet Dimensions , notez qu’une nouvelleDate
dimension de cube est également définie, en fonction de la dimension de baseDate
de données. Une nouvelle dimension de cube liée à l’heure est définie, car Analysis Services ne sait pas quelles dimensions de cube liées au temps existantes doivent être liées à la colonne DateKey de la table de faits FactSalesQuota qui sous-tend le groupe de mesures Sales Quotas. Vous allez modifier cela ultérieurement, au cours d'une autre tâche de cette rubrique.Développez le groupe de
Sales Quotas
mesures.Dans le volet Mesures , sélectionnez Sales Amount Quotaet affectez à la propriété FormatString la valeur Currency dans la fenêtre des propriétés.
Sélectionnez la mesure Nombre de quotas de ventes, puis tapez
#,#
comme valeur de la propriété FormatString dans le Fenêtre Propriétés.Supprimez la mesure Calendar Quarter du groupe de
Sales Quotas
mesures.Analysis Services a détecté la colonne qui sous-tend la mesure Calendar Quarter en tant que colonne qui contient des mesures. Toutefois, cette colonne et la colonne CalendarYear contiennent les valeurs que vous allez utiliser plus tard dans cette rubrique pour lier le groupe de mesures Sales Quotas à la dimension Date.
Dans le volet Mesures , cliquez avec le bouton droit sur le
Sales Quotas
groupe de mesures, puis cliquez sur Nouvelle mesure.La boîte de dialogue Nouvelle mesure s’affiche et présente les colonnes sources disponibles pour une mesure avec le type d’utilisation Sum.
Dans la boîte de dialogue Nouvelle mesure , sélectionnez Nombre distinct dans la liste Utilisation , vérifiez que
SalesQuotas
est sélectionné dans la liste Table source , sélectionnez EmployeeKey dans la liste Colonne source , puis cliquez sur OK.Notez que la mesure est créée dans un nouveau groupe de mesures appelé Sales Quotas 1. Les mesures de comptage distinctes dans SQL Server sont créées dans leurs propres groupes de mesures pour optimiser les performances de traitement.
Remplacez la valeur de la propriété Name de la mesure Employee Key Distinct Count par
Sales Person Count
, puis tapez#,#
comme valeur pour la propriété FormatString .
Exploration des mesures du groupe de mesures Sales Quota sur la base de la dimension Date
Dans le menu Générer , cliquez sur Déployer Analysis Services Tutorial.
Une fois le déploiement terminé, cliquez sur l’onglet Navigateur dans cube Designer pour le cube du didacticiel Analysis Services, puis cliquez sur le bouton Reconnecter.
Cliquez sur le raccourci Excel, puis sur Activer.
Dans la liste des champs de tableau croisé dynamique, développez le
Sales Quotas
groupe de mesures, puis faites glisser la mesure Sales Amount Quota vers la zone Valeurs.Développez la dimension Sales Territory , puis faites glisser la hiérarchie définie par l’utilisateur Sales Territories vers Étiquettes de ligne.
Notez que la dimension de cube Sales Territory n'est pas liée, directement ou indirectement, à la table Fact Sales Quota, comme le montre l'illustration suivante.
Au cours des prochaines étapes de la présente rubrique, vous allez définir une relation de dimension de référence entre cette dimension et cette table de faits.
Déplacez la hiérarchie utilisateur Sales Territories de la zone Étiquettes de ligne vers la zone Étiquettes de colonne.
Dans la liste des champs de tableau croisé dynamique, sélectionnez la hiérarchie définie par l’utilisateur Sales Territories , puis cliquez sur la flèche vers le bas située à droite.
Dans le filtre, cliquez sur la case à cocher Sélectionner tout pour effacer toutes les sélections, puis choisissez uniquement North America.
Dans la liste des champs de tableau croisé dynamique, développez
Date
.Faites glisser la hiérarchie utilisateur Date.Fiscal Date vers Étiquettes de ligne.
Dans le tableau croisé dynamique, cliquez sur la flèche vers le bas en regard de la zone Étiquettes de ligne. Effacez toutes les années à l’exception de FY 2008.
Notez que seul le membre de juillet 2007 du niveau Mois apparaît, au lieu des membres de juillet 2007, août 2007 et septembre 2007 du niveau Mois, et que seul le membre
Date
du niveau du 1er juillet 2007 apparaît, au lieu des 31 jours. Ce comportement se produit parce que le grain des données de la table de faits se trouve au niveau du trimestre et le grain de laDate
dimension est le niveau quotidien. Vous allez modifier cela ultérieurement, au cours de la tâche suivante de cette rubrique.Notez également que la valeur Sales Amount Quota des niveaux Month et Day est la même pour le niveau Quarter, $13,733,000.00. Cela est dû au fait que le niveau le plus bas des données dans le groupe de mesures est le niveau trimestriel :Quarter. Vous modifierez ce comportement au cours de la leçon 6.
L’illustration suivante montre les valeurs de la mesure Sales Amount Quota.
Définition des propriétés d'utilisation des dimensions pour le groupe de mesures Sales Quotas
Ouvrez le Concepteur de dimensions pour la dimension Employee , cliquez avec le bouton droit sur SalesTerritoryKey dans le volet Vue de source de données , puis cliquez sur Nouvel attribut de colonne.
Dans le volet Attributs , sélectionnez SalesTerritoryKeypuis, dans la fenêtre Propriétés, affectez à la propriété AttributeHierarchyVisible la valeur False , à la propriété AttributeHierarchyOptimizedState la valeur NotOptimizedet à la propriété AttributeHierarchyOrdered la valeur False.
Cet attribut est requis pour lier la dimension Sales Territory aux
Sales Quotas
groupes de mesures et Sales Quotas 1 en tant que dimension référencée.Dans Cube Designer pour le cube du didacticiel Analysis Services, cliquez sur l’onglet Utilisation de la dimension, puis passez en revue l’utilisation de la dimension dans les
Sales Quotas
groupes de mesures et Sales Quotas 1.Notez que les dimensions Employee et
Date
cube sont liées aux groupes de mesures Sales Quotaset Sales Quotas 1 par le biais de relations régulières. Notez également que la dimension de cube Sales Territory n’est liée à aucun de ces groupes de mesures.Cliquez sur la cellule à l’intersection de la dimension Sales Territory et du
Sales Quotas
groupe de mesures, puis cliquez sur le bouton Parcourir (...). La boîte de dialogue Définir une relation s’ouvre.Dans la liste Sélectionnez un type de relation , sélectionnez Référence.
Dans la liste Dimension intermédiaire , sélectionnez Employee.
Dans la liste Attribut de dimension de référence , sélectionnez Sales Territory Region.
Dans la liste Attribut de dimension intermédiaire , sélectionnez Sales Territory Key. (La colonne clé de l'attribut Sales Territory Region est la colonne SalesTerritoryKey.)
Vérifiez que la case Matérialiser est cochée.
Cliquez sur OK.
Cliquez sur la cellule à l’intersection de la dimension Sales Territory et du groupe de mesures Sales Quotas 1 , puis cliquez sur le bouton Parcourir (...). La boîte de dialogue Définir une relation s’ouvre.
Dans la liste Sélectionnez un type de relation , sélectionnez Référence.
Dans la liste Dimension intermédiaire , sélectionnez Employee.
Dans la liste Attribut de dimension de référence , sélectionnez Sales Territory Region.
Dans la liste Attribut de dimension intermédiaire , sélectionnez Sales Territory Key. (La colonne clé de l'attribut Sales Territory Region est la colonne SalesTerritoryKey.)
Vérifiez que la case Matérialiser est cochée.
Cliquez sur OK.
Supprimez la dimension du
Date
cube.Au lieu d’avoir quatre dimensions de cube liées au temps, vous utiliserez la dimension de cube Date de commande dans le
Sales Quotas
groupe de mesures comme date par rapport à laquelle les quotas de ventes seront dimensionnés. Vous allez également utiliser cette dimension de cube comme dimension de date principale dans le cube.Dans la liste Dimensions , renommez la dimension du cube Order Date en
Date
.Le changement de nom de la dimension de cube Order Date permet aux
Date
utilisateurs de comprendre plus facilement son rôle en tant que dimension de date principale dans ce cube.Cliquez sur le bouton Parcourir (...) dans la cellule à l’intersection du groupe de
Sales Quotas
mesures et de laDate
dimension.Dans la boîte de dialogue Définir une relation , sélectionnez Normal dans la liste Sélectionnez un type de relation .
Dans la liste Attribut de granularité , sélectionnez Calendar Quarter.
Un message d'avertissement apparaît. Il vous signale qu'étant donné que vous avez sélectionné un attribut non-clé comme attribut de granularité, vous devez vous assurer que tous les autres attributs sont directement ou indirectement liés à l'attribut de granularité en les déclarant comme propriétés de membre.
Dans la zone Relation de la boîte de dialogue Définir une relation , liez les colonnes de dimension CalendarYear et CalendarQuarter de la table sous-jacente de la dimension de cube Date aux colonnes CalendarYear et CalendarQuarter de la table sous-jacente du groupe de mesures Sales Quota, puis cliquez sur OK.
Notes
La dimension Calendar Quarter est définie comme attribut de granularité pour la dimension du cube Date dans le groupe de mesures Sales Quotas, mais l'attribut Date continue d'être l'attribut de granularité pour les groupes de mesures Internet Sales et Reseller Sales.
Répétez les opérations des quatre étapes précédentes pour le groupe de mesures Sales Quotas 1 .
Définition des relations d'attributs entre l'attribut Calendar Quarter et les attributs des autres dimensions dans la dimension Date
Basculez vers Dimension Designer pour la
Date
dimension, puis cliquez sur l’onglet Relations d’attributs.Notez que bien que l’année civile soit liée au trimestre civil via l’attribut Calendrier Semestre , les attributs de calendrier fiscal ne sont liés qu’entre eux ; ils ne sont pas liés à l’attribut Calendar Quarter et ne s’agrègent donc pas correctement dans le groupe de
Sales Quotas
mesures.Dans le diagramme, cliquez avec le bouton droit sur l’attribut Calendar Semester , puis sélectionnez Nouvelle relation d’attribut.
Dans la boîte de dialogue Créer une relation d’attribut , l’Attribut source est Calendar Semester. Affectez la valeur Fiscal Quarter à Attribut associé.
Cliquez sur OK.
Notez qu’un message d’avertissement s’affiche indiquant que la
Date
dimension contient une ou plusieurs relations d’attributs redondantes qui peuvent empêcher l’agrégation des données lorsqu’un attribut non clé est utilisé comme attribut de granularité.Supprimez la relation d’attribut entre l’attribut Month Name et l’attribut Fiscal Quarter .
Dans le menu Fichier , cliquez sur Enregistrer tout.
Exploration des mesures du groupe de mesures Sales Quota sur la base de la dimension Date
Dans le menu Générer , cliquez sur Déployer Analysis Services Tutorial.
Une fois le déploiement terminé, cliquez sur l’onglet Navigateur dans cube Designer pour le cube du didacticiel Analysis Services, puis cliquez sur Se reconnecter.
Cliquez sur le raccourci Excel, puis sur Activer.
Faites glisser la mesure Sales Amount Quota vers la zone Valeurs.
Faites glisser la hiérarchie utilisateur Sales Territories vers la zone Étiquettes de colonnes, puis filtrez sur North America.
Faites glisser la hiérarchie utilisateur Date.Fiscal Date vers la zone Étiquettes de ligne, cliquez sur la flèche vers le bas en regard de Étiquettes de ligne dans le tableau croisé dynamique, puis décochez toutes les cases sauf la case FY 2008pour afficher uniquement l’année fiscale 2008.
Cliquez sur OK.
Développez FY 2008, H1 FY 2008, puis Q1 FY 2008.
L’image suivante montre un tableau croisé dynamique pour le cube du didacticiel Analysis Services, avec le groupe de mesures Sales Quota dimensionné correctement.
Notez également que chaque membre du niveau fiscal trimestriel a la même valeur qu'au niveau trimestriel. Par exemple, avec Q1 FY 2008 , le quota de 9 180 000,00 $ pour Q1 FY 2008 correspond également à la valeur de chacun de ses membres. Ce résultat est obtenu car le niveau de granularité des données de la table de faits est le trimestre et celui de la dimension Date est également le trimestre. Dans la leçon 6, vous allez découvrir comment allouer la valeur du niveau trimestriel proportionnellement à chaque mois.
Leçon suivante
Leçon 6 : Définition de calculs
Voir aussi
Relations de dimension
Définir une relation régulière et des propriétés de relation régulière
Utiliser des diagrammes dans un concepteur de vues de sources de données (Analysis Services)