IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Designer Discussion :

Modélisation d'une table de faits et d'un univers


Sujet :

Designer

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 54
    Points
    54
    Par défaut Modélisation d'une table de faits et d'un univers
    Bonjour,

    Je constitue actuellement une table de faits composée uniquement d'IDs (pour pouvoir, à terme, se balader dans les hierarchies) et de 2 ou 3 indicateurs.

    Comment dois-je "imaginer" mon univers BO?
    Ma table de faits reliée à l'ensemble de mes tables d'axe d'analyse?

    Merci.

    pressdell.

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    Citation Envoyé par pressdell Voir le message
    Comment dois-je "imaginer" mon univers BO?
    Ma table de faits reliée à l'ensemble de mes tables d'axe d'analyse?
    Yep. C'est le cas le plus le plus simple, appelé schéma en étoile (si chacun de tes axes n'est représenté que par une seule table) ou en flocon (si les axes peuvent être multi-tables).

  3. #3
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 54
    Points
    54
    Par défaut
    Merci pour l'aide

  4. #4
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 54
    Points
    54
    Par défaut
    Bonjour,

    Je réouvre ce post pour ajouter deux nouvelles questions (J'ai préparé un petit exemple cette fois ci).

    Imaginons une table de faits (TDF) composée d'une clé primaire (CLE), d'une date (DATE), d'un champ propriété (VALEUR), d'un champ produit (PRODUIT) et d'un montant (PRIX).

    Imaginons 2 tables d'axe : CALENDRIER et PRODUIT.

    Je souhaite créer à partir de la table de faits TDF trois tables agrégées, à savoir : AG_ANNEE, AG_MOIS et AG_PRODUIT.

    Dans un premier temps, j'ai ajouté dans la table de faits deux colonnes (Année et Mois) créées à partir du champ DATE.

    On a donc TDF : CLE, DATE, ANNEE, MOIS, VALEUR, PRODUIT.

    Dans un second temps, j'alimente mes tables d'agrégats :
    Pour alimenter la table AG_ANNEE, j'agrège la table TDF sur ANNEE/VALEUR et je calcul un indicateur basé sur la somme du champ PRIX.
    AG_ANNEE : ANNEE, VALEUR, INDICATEUR.

    Pour alimenter la table AG_MOIS, j'agrège la table TDF sur MOIS/VALEUR et je calcul un indicateur basé sur la somme du champ PRIX.
    AG_MOIS : MOIS, VALEUR, INDICATEUR.

    Pour alimenter la table AG_PRODUIT, j'agrège la table TDF sur VALEUR/PRODUIT et je calcul un indicateur basé sur la somme du champ PRIX.
    AG_PRODUIT : VALEUR, PRODUIT, INDICATEUR.

    D'un point de vue purement technique (j'ai pris un exemple au pif, aucune logique fonctionnelle dans le calcul des sommes), cela est-il correct?

    Deuxième question :
    Dans mon univers BO, j'ai relié la table de faits TDF avec les tables d'axes CALENDRIER et PRODUIT.

    Quid de mes tables d'agrégats? dois-je les relier ou non à ma table de faits?
    J'ai regardé à gauche, à droite et je trouve les deux cas (relié, pas relié) :
    http://www.developpez.net/forums/d46...gee-3-niveaux/
    Dans ce post, dai.kaioh utilise ses tables d'agrégats pour la navigation (je comprends pas trop ce principe...). S'il s'agit de l'utilisation du AggregateAware, OK.

    Merci d'avance pour vos éclaircissements.

    pressdell.

  5. #5
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    Que représente VALEUR ? une troisième dimension ? un autre indicateur ?

  6. #6
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 54
    Points
    54
    Par défaut
    Bonjour Antoun,

    VALEUR représente une valeur sur laquelle on pourrait, par exemple, filtrer les lignes.

    Merci de ton aide.

  7. #7
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Bonjour;
    J'ai l'habitude de construire mes tables Agrégées mensuellement en les dotant de Année et AnnéeMois de façon à créer des jointures sur AnnéeMois et non sur Mois, voire un raccourci jointure sur une table Année.
    Les objets Année, AnnéeMois, Semestre, Quadrimestre, Trimestre, MoisNum, MoisNom ... sont alors définis sur la table Annéémois

  8. #8
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    Citation Envoyé par pressdell Voir le message
    VALEUR représente une valeur sur laquelle on pourrait, par exemple, filtrer les lignes.
    En termes de modélisation, cela veut donc dire que VALEUR est une "dimension dégradée", càd logiquement une dimension, même si elle n'est pas implémentée par une table.

    Pour tes trois tables d'agrégats, elles ne sont pas hiérarchisables, du coup tu ne pourras pas faire d'aggregate aware dessus. Tu peux par exemple faire PRODUIT/MOIS-ANNEE/VALEUR, PRODUIT/ANNEE/VALEUR et PRODUIT/VALEUR (ce qui veut dire que tu ajoutes les différentes années ?).

  9. #9
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 54
    Points
    54
    Par défaut
    J'ai l'habitude de construire mes tables Agrégées mensuellement en les dotant de Année et AnnéeMois
    Pour tes trois tables d'agrégats, elles ne sont pas hiérarchisables, du coup tu ne pourras pas faire d'aggregate aware dessus.
    Désolé, j'avais mal défini mes tables mais la structure de la table AG_MOIS est bien la suivante : ANNEE, MOIS, VALEUR, INDICATEUR

    L'aggregate_aware ne pourra donc se faire que sur les tables AG_ANNEE et AG_MOIS.

    En termes de modélisation, cela veut donc dire que VALEUR est une "dimension dégradée", càd logiquement une dimension, même si elle n'est pas implémentée par une table.
    C'est exactement ça, mais je ne connaissais pas le terme

    Dans l'univers BO, je peux relier la table TDF avec les tables d'axes CALENDRIER et PRODUIT, mais dois-je laisser dans un coin les tables d'agrégat? Je ne vois pas trop dans quels cas nous devrions les relier à la table de faits ou aux tables d'axe...

    Merci de vos réponses et des précisions que vous m'apportez.

    pressdell.

  10. #10
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    Citation Envoyé par pressdell Voir le message
    Dans l'univers BO, je peux relier la table TDF avec les tables d'axes CALENDRIER et PRODUIT, mais dois-je laisser dans un coin les tables d'agrégat? Je ne vois pas trop dans quels cas nous devrions les relier à la table de faits ou aux tables d'axe...
    Normalement, il te faut un contexte centré sur la table de faits, un contexte pour chaque table d'agrégats, des @aggregate_aware pour arbitrer le tout, et des incompatibilités (tu peux en demander l'auto-détection) pour guider le choix du contexte.

    (oui, rien que ça !)

  11. #11
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 54
    Points
    54
    Par défaut
    Bonjour,

    Normalement, il te faut un contexte centré sur la table de faits, un contexte pour chaque table d'agrégats
    Pourquoi des contextes à ce niveau? Concernant l'aggregate aware, je suis d'accord, mais je n'ai pas de boucle dans ma modélisation.

  12. #12
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    Citation Envoyé par pressdell Voir le message
    Bonjour,
    Pourquoi des contextes à ce niveau? Concernant l'aggregate aware, je suis d'accord, mais je n'ai pas de boucle dans ma modélisation.
    Quand tu auras jointuré tes tables d'agrégats sur les dimensions, tu en auras
    (en particulier AG_PRODUIT avec PRODUITS).

  13. #13
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 54
    Points
    54
    Par défaut
    Merci Antoun

    Je laisse ce sujet ouvert quelques jours encore...
    Je ferai un petit retour d'ici peu

    pressdell.

  14. #14
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 79
    Points : 54
    Points
    54
    Par défaut
    Bonjour,

    Je ré-ouvre ce post pour ajouter de nouveaux éléments...
    Ci-dessous un rapide aperçu de l'univers en question :


    Concernant les contextes :
    Effectivement j'en ai un certain nombre comme annoncé par Antoun
    On peut en compter 7 si je ne dis pas de bêtises...et l'auto détection a fait son travail.

    Afin d'éviter d'avoir un nombre de boucles/contextes à gérer, peut-on déconnecter les tables AG_ANNEE, AG_MOIS et AG_PRODUIT (tables agrégées) des tables d'axes CALENDRIER et PRODUIT?

    Encore merci pour vos éclaircissements.
    pressdell.

Discussions similaires

  1. problème avec une table de faits
    Par mikedavem dans le forum Conception/Modélisation
    Réponses: 1
    Dernier message: 29/04/2008, 06h37
  2. Réponses: 2
    Dernier message: 03/02/2008, 23h31
  3. Réponses: 4
    Dernier message: 15/11/2007, 11h43
  4. Chargement d'une table de faits
    Par JoeLF dans le forum Oracle
    Réponses: 3
    Dernier message: 22/10/2007, 11h26
  5. création d'une table de fait sous sql server 2005
    Par kev0631 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 19/07/2007, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo