Datawarehouse-CA par catégorie d'âge

Fermé
langacec08 - 9 janv. 2012 à 11:38
 langacec08 - 9 janv. 2012 à 15:54
Bonjour,
Bonjour tout le monde,

Je suis débutante dans la conception des datawarehouses, et j'ai été confronter à un problème lors d'un projet.

Mon MCD est le suivant :

Table CLient
Id_client
Nom_client
Téléphone
Mail

Table CatégorieAge
NomCategorie
IntervalCategorie

Table ClientCatégorieAge
Id_client
Nom_categorie
DateDebut
DateFin
[dateDebut et dateFin sert à connaitre la période dans laquelle le client appartenait dans tel ou tel catégorie]

TableVente
Id_vente
Id_client
Id_article
Nbr_article
Date_vente

Pour la conception de mon datawarehouse, j' ai une dimension client (que je vais remplir depuis la table client), une dimension Article (de la table article), une dimension temps. et une table de fait vente (qui contient comme mesure Chiffre d'affaire). Ainsi je peux connaitre le chiffre d'affaire réalisé par client, par article.

Mais je veux aussi qu'il soit possible que mon utilisateur puisse connaitre le CA par catégorie d'age, je suis bloqué la dessus et je sollicite votre aide, merci beaucoup

5 réponses

ScorpionViolet Messages postés 1289 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 2 octobre 2012 169
9 janv. 2012 à 12:11
Bonjour,
Dans la compréhension que j'ai de votre problème, je pense qu'il vous simplement dans la requête SQL(+MDX?) du calcul du CA rajouter un WHERE sur Nom_categorie , non ?
puisque j'imagine que Nom_categorie doit contenir des tranches d'âge de type "0 à 25" "25 à 36"
0
Merci pour votre réaction, en fait c'est un datawarehouse, mon chiffre d'affaire ne va être calculé avec une requête SQL mais va être chargé avec un ETL.
0
ScorpionViolet Messages postés 1289 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 2 octobre 2012 169
9 janv. 2012 à 12:26
OK, vous allez importer un ou plusieurs fichiers plats (CSV, TXT, etc...) avec votre ETL par exemple Datastage d'IBM et les transférer vers Oracle, SQLserver ou autre. Là il y a bien du SQL. Mais vous devez pouvoir faire un tri depuis l'ETL il me semble puisqu'on peu transformer les données avant de les charger.
0
D'accord, mais je m'excuse j'arrive pas à saisir votre réponse. Je vous donne la conception de mon Datawarehouse, il est constitué de :

DimClient
Id_client
NomClient
Tele
Mail

DimTemps
Temps_Pk
Jour
Mois
Année

DimArticle
Id_article
NomArticle
Prix

FactVente
Temps_PK
Id_client
Id_article

CA

Donc d'après cette conception, il est possible de connaitre le chiffre d'affaire par article, par client, par période. Moi je ne sais pas comment ajouter une dimension DimCatégorieAge pour pouvoir connaitre le chiffre d'affaire par Catégorie d'âge.

Je m'excuse je suis débutante...et tout ceci reste un peu flou pour moi.
0
ScorpionViolet Messages postés 1289 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 2 octobre 2012 169
9 janv. 2012 à 12:49
ok on va faire étape par étape
Pour la conception de mon datawarehouse, j' ai une dimension client (que je vais remplir depuis la table client) comment renseignez vous cette table client ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
D'accord merci beaucoup, donc depuis ma base de données relationnelles, je vais charger tous les données qui existent dans la table Client dans ma DimClient,et on a l'Id_client de la table CLient est le même que celui dans la table DimClient. Donc si jamais mon utilisateur veut voir le chiffre d'affaire réalisé par un client (avec du SSAS), il va déplacer la Dimclient et la mesure CA et il va obtenir les résultats..c'est ça??
0
ScorpionViolet Messages postés 1289 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 2 octobre 2012 169
Modifié par ScorpionViolet le 9/01/2012 à 14:31
C'est une méthode, ce chiffre est calculé en fonction de ce qui est entré dans vos champs client. L'ETL est censé gérer ce genre de calcul (Extract Transform Load) avant de charger (Load) les données.
L'utilisateur n'aura accès qu'a de la visualisation de données donc pas une table directement.
0
oui justement, c'est ça...et après comment faire avec la catégorie d'âge qui est lié avec la table client et non avec vente??..merci pour votre collaboration
0
ScorpionViolet Messages postés 1289 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 2 octobre 2012 169
9 janv. 2012 à 15:02
Pourquoi avez vous séparé l'âge de DimClient ?
0
c'est pour garder l'historique, en fait j'ai besoin de connaitre l'age du client au moment ou il a acheté l'article...l'age est variable si je le met dans client il va varié au fil des années et moi ce qui m'intérsse le plus ce n'est pas l'age du client mais l'age qu'il avait quand il a acheté tel ou tel produit...c'est pour ça que j'ai ajouté les 2 attributs "dateDebut" et "dateFin".
0
ScorpionViolet Messages postés 1289 Date d'inscription samedi 3 décembre 2011 Statut Membre Dernière intervention 2 octobre 2012 169
Modifié par ScorpionViolet le 9/01/2012 à 15:16
Vous pouvez calculer l'âge à un temps T à chaque nouvel achat, un DWH est par définition selon le créateur du concept William Innon : "Un Data WareHouse est une collection de données thématiques, intégrées, non volatiles, et historisées pour la prise de décisions". Si vous étudiez attentivement cette définition vous comprennez que rien n'est supprimé et tout est renseigné à une date précise.
Je vois pas l'intérêt de "dateDebut" et "dateFin". Combien de temps sépare ces 2 dates ? le début de l'achat et sa fin (?) fin de quoi ? de son statut de client ?
0