Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > ETL
ETL Le Forum d'entraide ETL (Extract Transform Load) et Datawarehouse : DataStage, SunOpsis, Data Integrator, Informatica, OWB, Data Manager, Talend Open Studio,...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 31/01/2011, 10h58   #1
Invité de passage
 
Inscription : janvier 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 3
Points : 1
Points : 1
Par défaut Bo Data Integrator : Génération de ligne

Bonjour

J'explique ma problématique.
J'ai une table de BD de prévision d'achat avec des périodicités hebdomadaire avec les champs suivants, chaque enregistrement correspondant à la quantité hebdomadaire entre la semaine "start date" et la semaine "end date"

Trans_id | Item_ID | Start date | End date | quantity |supplier_id
1 | 1 | 201101 | 201106 | 50 |1
2 | 3 | 201103 | 201104 | 250 |2
3 | 1 | 201103 | 201104 | 50 |3

J'aurai besoin à partir de cette table de générer une table avec les champs suivant en agrégeant les données à la semaine.

week | item_id | quantity
201101 | 1 |50
201102 | 1 |50
201103 | 1 |100
201103 | 3 |250
201104 | 1 |50
....


Mais je ne vois pas comment à partir d'une date de début et une date de fin, on pourrait générer X lignes correspondant à chaque semaine entre ces deux dates. (j'ai à disposition une table calendar faisant le lien entre date et numéro de semaine).
keul26730 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 12h25   #2
Invité de passage
 
Stéphanie Coudert
Inscription : janvier 2011
Messages : 1
Détails du profil
Informations personnelles :
Nom : Stéphanie Coudert

Informations forums :
Inscription : janvier 2011
Messages : 1
Points : 1
Points : 1
Par défaut Query simple avec ta table calendrier

Bonne idée. Admettons que tu ai ceci dans ta table calendrier:
Week_id | Week_number
1 | 201101
2 | 201102
3 | 201103
4 | 201104
5 | 201106
6 | 201107

Tu peux donc faire un jointure entre ta table achat et ta table calendrier (ou vue "semaine") de cette manière :
SELECT
semaine.week_number,
achat.quantity,
achat.supplier_id
FROM
semaine,
achat
WHERE
semaine.week_number >= Start date
and semaine.week_number <= End date
=> Tu peux faire l'équivalent de ce select avec un simple query sur semaine et achat

Tu obtiendras ceci :
201101 | 50 |1
201102 | 50 |1
201103 | 50 |1
201104 | 50 |1
201105 | 50 |1
201106 | 50 |1
201103 | 250 |2
201104 | 250 |2
201103 | 50 |3
201104 | 50 |3

Si tu veux sommer les quantité par week_number et supplier_id, tu ajoutes dans le query :
- ces deux champs dans le group by
- un somme(quantity) au lieu de quantity dans le mapping

C'est bien ce que tu cherches?
SCOU75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2011, 15h26   #3
Invité de passage
 
Inscription : janvier 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 3
Points : 1
Points : 1
C'est exactement ça, il faut que je peaufine. Mais à première vue, ça a l'air de fonctionner. En fait, il faut partir de ma table calendrier, c'est plus simple.
J'avais pas la bonne approche.

Merci beaucoup
keul26730 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 06h38.


 
 
 
 
Partenaires

Hébergement Web