|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 6 ![]() |
Bonjour,
J'ai un projet à réaliser. Je dois créer un data mart à partir de 2 ensembles de données, mais mon problème c'est que je ne vois pas du tout comment m'y prendre. Voici les 2 buts du projet : - LuxShop decided to analyse and evaluate their customers and be- haviours in order to improve customer service and satisfaction. - Another goal is to decrease the marketing costs by a more targeted (and intelligent) policy. Les 2 ensembles de données correspondent pour le premier(PData) aux données clients et pour le deuxième(TData) les transactions des clients. Le tout au format .txt. Je dois donc créer un Data Mart tenant compte de ces 2 ensembles. Si besoin est, je peux upload les 2 ensembles de données. Il est question de nettoyer et préparer les données. Je suis perdu. |
|
|
00
|
|
|
#2 |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 949 ![]() |
C'est dans quel cadre ?
Des pistes / mots-clé ( si ça te parle ) : ETL ODS Google est ton ami
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 6 ![]() |
Dans le cadre d'un cour!
|
|
|
00
|
|
|
#4 |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 949 ![]() |
Dans ce cas regardes ton cours
Normalement tu dois passer par le classique Staging Area -> ODS -> Dataware ( -> ou Datamart ) Les outils : un ETL |
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 6 ![]() |
Merci mais ce que je voulais c'est y voir plus clair sur la manière de m'y prendre pour créer mon data mart.
Mon cour est trop général et ne répond pas à ce qui est attendu lors du projet. Il me faut donc trouver un tutoriel ou quelque chose du genre. Si je comprends bien mon data mart peut être créé à partir de QlikView. |
|
|
00
|
|
|
#6 |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 949 ![]() |
Je te dis ça car à mon avis on attend de toi une certaine démarche. Comme il en existe plusieurs il faut d'abord savoir ce que tu as vu en cours avant de t'orienter vers des tutos
A ma connaissance QlikView ne nettoie pas les données et ne construit pas de datamart ... Il simule un cube grosso modo ... Pourquoi tu parles de Qlikview ? |
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 6 ![]() |
J'ai 2 fichiers txt, donc j'essaie de trouver un moyen de les nettoyer.
Pour la préparation des données j'ai vu : Data cleaning Data integration Data transformation Data reduction Data discretization |
|
|
00
|
|
|
#8 |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 949 ![]() |
Ok
Normalement on passe par un ETL pour ces opérations En source on a les fichiers et en destination la base de données. Dans ton cas à ce que j'ai compris tu pourrais charger directement dans un "datamart", mais pour les puristes on chargerait d'abord dans une SA puis un ODS. Le nettoyage consiste à supprimer et corriger les données source. Dans ton cas il faudrait voir si chaque transaction (TData ) a un client connu dans ( PData ).Si ce n'est pas le cas tu devrais les passer en "rejet", dans une log ou une table pour analyse Tu peux aussi vérfier la cohérence des données par rapport aux spécifs. Par exemple si tu as des transactions de type 1, 2 ou 3 si tu trouves 4 dans le fichier tu peux "forcer" en 0 qui serait un type "inconnu". Je te conseille Talend en ETL, tu as pas mal de tutos sur leur site et une communauté hyperactive |
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 6 ![]() |
Ca m'a l'air vraiment compliqué d'apprendre à utiliser Talend pour un projet que je dois terminer en 3 semaines.
|
|
|
00
|
|
|
#10 |
![]() ![]() Consultant en Business Intelligence Inscription : juillet 2008 Messages : 949 ![]() |
Non, ce n'est vraiment pas compliqué, tu as des tutos sur developpez et ailleurs.
Après tout dépend des outils que tu peux utiliser et avec lesquels tu es à l'aise ... |
|
00
|
|
|
#11 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Pour un projet de cours, et si tu es au niveau 0 en ETL, tu n'as qu'à charger tes fichiers directement dans des tables de BDD (laquelle d'ailleurs? Oracle ? SQL Server ? MySQL?) sans contrainte.
Et ensuite tu fais tout en SQL et PL/SQL avec des scripts que tu numérotes de 1 à n, pour chaque étape. Globalement il faudrait effectivement regarder tes données là. Il y a deux solutions: - tu as un identifiant correct pour joindre tes 2 ensembles: cad que tes transactions clients sont identifiées par un code client, que tu retrouves dans les données clients. Là c'est très facile: il suffit de charger les 2 ensembles dans 1 table chacun puis de faire une jointure sur le code client. Et ensuite générer un beau modèle en étoile à partir de ça, et ça sera ça la principale difficulté. Tu peux le faire tout en SQL et PL/SQL. - tu n'as pas d'identifiant correct pour joindre tes 2 ensembles: cad que, par exemple, certaines transactions sont identifiées par un nom de client "bob dylan" et d'autres par un autre nom de client "dylan bob", mais en fait elles se rapportent TOUTES LES DEUX au même client des données clients "Mr Bob Dylan". Là ce qu'on attends sûrement de toi c'est d'écrire des règles de nettoyage des données pour arriver à les faire correspondre. Du genre "j'inverse le nom et le prénom, je vire le Mr, etc.". Et là je peux te dire que tu n'es pas arrivé et que c'est très difficile. Sans compter qu'une fois cette partie là finie tu devras encore faire le modèle en étoile. Sur cette partie, et uniquement sur cette partie, Qlikview peut pas mal t'aider car il a beaucoup de fonctions simples et il est assez facile à prendre en main. Mais je pense que le but de l'exercice n'est pas d'utiliser Qlikview.
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : décembre 2010 Messages : 6 ![]() |
Voici un exemple de ce que j'ai dans Tdata :
CustomerID Date ArticleGroupID ArticleID Units PricePerUnit 19 10/01/10 2848 339445 3 1.29 27 10/01/10 2848 26599 1 3.69 51 10/01/10 3286 333457 1 1.79 61 10/01/10 3099 79961 2 1.99 66 10/01/10 3286 121743 1 1.79 et dans Pdata: Number Gender GivenName MiddleInitial Surname StreetAddress City State ZipCode Country EmailAddress TelephoneNumber MothersMaiden Birthday CCType CCNumber CVV2 CCExpires NationalID 1 female Caitlin J Stevens 89 Ilmalankuja PORI 28360 FI Caitlin.J@pookmail.com 040 083 1760 Haynes 8/20/1950 Visa 4556********* 298 6/2011 2 female Isabelle W Bruce 42 Kanslerinrinne VALKEAKOSKI 37630 FI Isabelle.W@pookmail.com 050 376 6541 Shah 3/22/1976 Visa 44855********** 566 2/2009 3 male Patrick S Clark 2 Pietarinkuja KITINOJA 61470 FI Patrick.S@dodgit.com 040 435 9288 Butler 9/17/1954 MasterCard 559********** 497 7/2010 4 female Demi P Lucas 93 Pesolantie ALAVIESKA 85200 FI Demi.P@spambob.com 042 196 6965 Harper 10/28/1971 Visa 4539********** 625 8/2011 5 female Abby B Barber 85 Martinpolku KUUSANKOSKI 45700 FI Abby@trashymail.com 050 883 4221 French 4/11/1971 MasterCard 5128********* 536 1/2009 6 female Hannah J Burrows 45 Martinpolku KEITELENPOHJA 44740 FI Hannah.J@pookmail.com 050 783 6151 Clarke 8/4/1979 MasterCard 5169********* 071 11/2009 7 male Kyle T Murray 90 Virastotie KUUSANKOSKI 45730 FI Kyle@spambob.com 041 338 8992 Lucas 2/2/1954 MasterCard 558*********** 971 6/2009 8 female Ella R Bartlett 85 Keskitie PAUKARLAHTI 71460 FI Ella.R@spambob.com 040 087 0733 Storey 5/19/1956 MasterCard 5478********** 867 5/2008 9 male Aidan M Clements 88 Kauhaj‰rventie MUSTAMAA 62280 FI Aidan.M@pookmail.com 040 266 3720 Sims 5/4/1972 MasterCard 5216********** 140 10/2007 10 male Robert E Poole 82 Kankaanp‰‰ntie KEMINMAA 94400 FI Robert.E@dodgit.com 042 586 5050 Norman 4/15/1979 Visa 4485********** 892 4/2009 information additionnelles: Lieu : Helsinki, Finland. Transactions Data from October 1, 2010 - October 31, 2010. Please note that each ArticleID belongs to an ArticleGroupID Units = number of bought articles PricePerUni = price for 1 article En gros si je comprends bien, non seulement je dois nettoyer les données mais je dois déterminer ce qu'il devra rester dans mon fichier de sortie(data mart) qui est en quelque sorte une fusion de mes 2 data sets. Que devrais je garder comme champs ? |
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Inscription : mai 2004 Messages : 1 812 ![]() |
Mhmmm vu tes données je dirais que le CustomerID de Tdata doit correspondre au Number de Pdata.
Ce que je ferais: - 1 table Tdata qui contient tous les champs qu'il faut pour contenir l'ensemble de ton fichier Tdata avec un index sur CustomerID - 1 table Pdata qui contient tous les champs qu'il faut pour contenir l'ensemble de ton fichier Pdata avec un index sur Number Ca te fera ta base de données brutes. Ensuite il faut réfléchir en dimensions: - 1 dimension client - 1 dimension Article -> GroupArticle - 1 dimension temps Donc, à ta place, Je ferais: - une table CLIENT qui serait la copie conforme de Pdata. - une table VENTE qui contiendra juste CustomerID, Date, ArticleID, Units de Tdata - une table ARTICLE qui contiendra l'ensemble des ArticleID, PricePerUnit, ArticleGroupID et c'est bon. A savoir qu'on peut aussi étendre la logique très loin en décomposant la table CLIENT en n dimensions (pays, ville, sexe, etc.), ce qui te fera un modèle en flocon plutôt qu'en étoile. A savoir aussi que pour des raisons pragmatiques on peut dans certains cas faire redescendre des attributs du client (pays, ville, sexe, etc.) dans la table de faits, pour avoir: - un modèle en étoile et pas en flocon - une indexation directe sur la table de faits Mais bon je ne sais pas ce qu'en diront tes professeurs...
__________________
Il vaut mieux monopoliser son intelligence sur des bêtises que sa bêtise sur des choses intelligentes. Mon combat pour les droits des consommateurs face aux abus des grandes marques. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com