Définition d'une relation de faits
Les utilisateurs souhaitent parfois pouvoir dimensionner des mesures par élément de données se trouvant dans la table de faits ou exécuter des requêtes sur la table de faits pour obtenir des informations spécifiques connexes supplémentaires, telles que des numéros de factures ou de bons de commande associés à des ventes spécifiques. Lorsque vous définissez une dimension basée sur un élément de table de faits de ce type, la dimension est appelée dimension de fait. Les dimensions de fait sont aussi appelées dimensions dégénérées. Les dimensions de fait servent à regrouper des lignes connexes de la table de faits, par exemple toutes les lignes concernant un numéro de facture particulier. Bien qu'il soit possible de stocker cette information dans une table de dimensions distincte dans la base de données relationnelles, la création d'une table de dimensions distincte pour cette information n'offre aucun avantage, car la table de dimensions augmente à la même vitesse que la table de faits et le seul résultat obtenu est la duplication des données et une plus grande complexité, ce qui est inutile.
Dans Microsoft SQL Server 2005 Analysis Services (SSAS), vous pouvez déterminer s'il est nécessaire de dupliquer les données des dimensions de fait dans la structure de dimensions MOLAP pour augmenter les performances des requêtes ou bien, s'il est nécessaire de définir les dimensions de fait en tant que dimensions ROLAP pour gagner de l'espace de stockage au dépend des performances des requêtes. Lorsque vous stockez une dimension avec le mode de stockage MOLAP, tous les membres de dimension sont stockés dans l'instance de Analysis Services dans une structure MOLAP avec un taux de compression élevé et sont aussi stockés dans les partitions du groupe de mesures. Lorsque vous stockez une dimension avec un mode de stockage ROLAP, seule la définition de la dimension est stockée dans la structure MOLAP ; les requêtes sont exécutées sur les membres de la dimension à partir de la table de faits relationnelle sous-jacente. Le mode de stockage approprié se choisit en fonction de la fréquence à laquelle les requêtes sont exécutées sur la dimension de fait, du nombre de lignes retournées par une requête classique, de la performance de la requête et enfin, du coût de traitement. Pour définir une dimension ROLAP, il n'est pas nécessaire que tous les cubes qui utilisent la dimension soient également stockés avec le mode de stockage ROLAP. C'est différent avec SQL Server 2000 Analysis Services.
Lorsque vous définissez une dimension de fait, vous pouvez définir la relation entre cette dimension et le groupe de mesures comme étant une relation de faits. Les contraintes suivantes s'appliquent aux relations de faits :
- L'attribut de granularité doit correspondre à la colonne clé de la dimension, ce qui crée une relation un-à-un entre la dimension et les faits de la table de faits.
- Une dimension peut avoir une relation de faits avec un seul groupe de mesures uniquement.
Remarque : |
---|
Les dimensions de fait doivent être mises à jour de façon incrémentielle après chaque mise à jour vers le groupe de mesures auquel la relation de faits se réfère. |
Pour plus d'informations, consultez Relations de dimension et Définition d'une relation de fait et des propriétés de relation de fait.
Au cours des tâches de cette rubrique, vous allez ajouter une nouvelle dimension de cube dans la colonne CustomerPONumber de la table de faits FactInternetSales. Vous allez ensuite définir la relation entre cette nouvelle dimension de cube et le groupe de mesures Internet Sales en tant que relation de faits.
Définition de la dimension de faits Internet Sales Orders
Pour définir la dimension de faits Internet Sales Orders
Dans le Concepteur de cube du cube du didacticiel Analysis Services, cliquez sur l'onglet Structure de cube.
Cliquez avec le bouton droit n'importe où dans le volet Dimensions et choisissez Ajouter une dimension de cube.
Dans la boîte de dialogue Ajouter une dimension de cube, cliquez sur Nouvelle dimension.
L'Assistant Dimension s'ouvre.
Dans la page Assistant Dimension, cliquez sur Suivant.
Dans la page Sélectionner une vue de source de données, cliquez sur Suivant pour sélectionner les données de la dimension à partir de la vue de source de données Adventure Works DW.
Dans la page Sélectionner le type de la dimension, cliquez sur Suivant pour indiquer que la dimension sera une dimension standard.
Dans la page Sélectionner la table de dimension principale, sélectionnez dbo.FactInternetSales dans la liste Table principale.
Notez que la clé composite définie est basée sur les colonnes SalesOrderNumber et SalesOrderLineNumber qui sont des colonnes clés et que la colonne SalesOrderLineNumber est définie pour la propriété de membre Name. Notez également que vous ne pouvez pas définir de colonne pour la propriété de membre Name à partir d'une autre table que FactInternetSales.
Cliquez sur Suivant.
Dans la page Sélectionner les tables associées, vérifiez qu'aucune table n'est sélectionnée, puis cliquez sur Suivant.
Dans la page Sélectionner les attributs de la dimension, désélectionnez tous les attributs de dimension sélectionnés et activez la case à cocher correspondant à l'attribut de dimension Customer PO Number.
Notez que vous ne pouvez pas sélectionner de clés composites en tant qu'attribut à partir de l'Assistant Dimension. Cela est dû au fait que les clés composites ont été définies en tant que clés de colonnes. Pour les ajouter comme attributs en tant que tels, vous devez les définir comme attributs après avoir défini la dimension.
Cliquez sur Terminer, remplacez le nom de la dimension par le nom Internet Sales Order Details, cliquez sur Terminer, puis sur OK pour ajouter la dimension de base de données nouvellement créée au cube du didacticiel Analysis Services en tant que dimension de cube.
Ouvrez le Concepteur de dimensions pour la dimension Internet Sales Order Details.
Dans le volet Attributs, sélectionnez Internet Sales et remplacez la propriété Name dans la fenêtre des propriétés par la propriété Item Description.
Dans la cellule de la propriété NameColumn, sélectionnez (nouveau), Produit pour la table source, puis EnglishProductName pour la colonne source dans la boîte de dialogue Liaison d'objets et cliquez sur OK.
Ajoutez l'attribut Sales Order Number à la dimension. Pour cela, faites glisser la colonne SalesOrderNumber de la table InternetSales du volet Vue de source de données vers le volet Attributs.
Remplacez la propriété Name du nouvel attribut Sales Order Number par Order Number et remplacez la propriété OrderBy par la propriété Key.
Dans le volet Hiérarchies et niveaux, créez une hiérarchie utilisateur Internet Sales Orders qui contient les niveaux Order Number et Item Description, en respectant cet ordre.
Dans le volet Attributs, sélectionnez Internet Sales Order Details et vérifiez la valeur de la propriété StorageMode dans la fenêtre des propriétés.
Notez que cette dimension est stockée par défaut en tant que dimension MOLAP. Si l'utilisation du mode de stockage ROLAP en lieu et place du mode MOLAP permet de réduire le temps de traitement et de gagner de l'espace de stockage, elle se fait toutefois au dépend des performances des requêtes. Dans le cadre de ce didacticiel, vous allez utiliser le mode de stockage MOLAP.
Définition d'une relation de faits pour la dimension de fait
Pour définir une relation de faits pour la dimension de fait
Affichez le Concepteur de cube pour le cube du didacticiel Analysis Services, puis cliquez sur l'onglet Utilisation de la dimension.
Notez que la dimension de cube Internet Sales Order Details est configurée automatiquement avec une relation de faits, comme le montre l'icône unique.
L'illustration suivante montre la dimension de cube Internet Sales Order Details avec une relation de faits.
À l'intersection du groupe de mesures Internet Sales et de la dimension Internet Sales Order Details, cliquez sur le bouton (…) dans la cellule Item Description pour vérifier les propriétés de la relation de faits.
La boîte de dialogue Définir une relation s'affiche. Notez que vous ne pouvez pas configurer les propriétés.
L'illustration suivante montre les propriétés de la relation de faits dans la boîte de dialogue Définir une relation.
Cliquez sur Annuler.
Exploration du cube en utilisant la dimension de fait
Pour explorer le cube en utilisant la dimension de fait
Dans le menu Générer, cliquez sur Déployer Analysis Services Tutorial pour déployer les modifications sur l'instance de Analysis Services et traiter la base de données.
Une fois le déploiement terminé, cliquez sur l'onglet Navigateur dans le Concepteur de cube pour le cube du didacticiel Analysis Services, puis cliquez sur Reconnexion.
Désactivez toutes les mesures et toutes les hiérarchies dans le volet Données, puis ajoutez la mesure Internet Sales-Sales Amount dans la zone de données du volet Données.
Dans le volet Métadonnées, développez Customer, Location, Customer Geography, Members, All Customers, Australia, Queensland, Brisbane, 4000, puis cliquez avec le bouton droit sur Adam Powell et choisissez Ajouter à la zone de sous-cubes.
L'application d'un filtre pour limiter les commandes retournées à un seul client permet à l'utilisateur d'explorer les données détaillées sous-jacentes dans une table de faits volumineuse sans enregistrer une diminution des performances des requêtes.
Ajoutez la hiérarchie définie par l'utilisateur Internet Sales Orders à partir de la dimension Internet Sales Order Details vers la zone de lignes du volet Données.
Notez que les bons de commande et les montants des ventes Internet correspondant au client Adam Powell apparaissent dans le volet Données.
Développez chaque numéro de commande dans la zone de lignes pour visualiser les données détaillées de chaque élément dans ces commandes.
L'illustration suivante montre le dimensionnement résultant des étapes précédentes.
Tâche suivante de la leçon
Définition d'une relation plusieurs-à-plusieurs
Voir aussi
Autres ressources
Relations de dimension
Définition d'une relation de fait et des propriétés de relation de fait