Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour à tous,
Je voudrai effectuer des operations entre deux champs qui viennent de sources differents. J'aimerai savoir si c'est possible et si oui
la meilleure façon de procéder.
Je précisse que je suis debutant lol, merci
Bonjour Philippe,
Si tu as 2 sources différentes, tu fais une table temporaire qui joint les 2 (exemple : un left join).
Ensuite tu fais tes calculs dans une table finale.
Exemple :
TABLE_TEMP :
LOAD *
FROM CHEMIN VERS TON FICHIER 1;
left join
LOAD *
FROM CHEMIN VERS TON FICHIER 2;
TABLE :
Load *,
PREMIER CALCUL as TON_PREMIER_CALCUL
RESIDENT TABLE_TEMP;
drop table TABLE_TEMP;
Kevin
Et pour info, tu n'es peut-être pas obligé de faire une jointure.
Mais dans ce cas il te faut UNE clé primaire qui fasse liaison entre tes 2 tables. Pas plus sinon tu auras des clés synthétiques.
Kevin
Bonjour Kevin,
Merci pour ta réponse, je vais regarder le document et reviens vers toi si j'ai une question si tu le permets
Philippe
Philippe,
Le fait que la source soit différente n'est pas important.
Ce qui est important est de faire la jointure entre les 2 données pour que tu puisses faire ton calcul sur les mêmes bases.
Philippe,
As-tu réussi ?
Bonjour Laurent,
Merci de prendre des nouvelles mais je suis fort occupé en ce moment mais j'espère regarder jeudi
je te tiens au courant
merci
Bonjour Laurent,
Je reviens vers toi désolé pour le délai mais j'avais d'autres points à terminer.
concernant mes deux sources, je n'ai pas de clé primaire commune je te montre le script :
LOAD RowNo(),
// RRFDAT,
Date(Date#(RRFDAT, 'YYYYMMDD')) as RRFDAT,
Month(Date(Date#(RRFDAT, 'YYYYMMDD'))) as MOIS,
RRFLIN as Line,
RRMNTT,
RRRPIT,
RRTIME;
SQL SELECT RRFDAT,
RRFLIN,
RRMNTT,
RRRPIT,
RRTIME
FROM NGKCE.EQDLIB.PRRSLTP1
where RRFDAT >= '20170401';
pour ma deuxième source :
LOAD
Date("Jobexec_date") as RRFDAT2,
Month(Date("Jobexec_date")) as RRF_MONTH2,
MO_group_key as line,
"Job_type",
"Jobexec_date",
"Jobstatus#",
"MO_name",
"Start_date",
"Stop_time",
"WO_Key",
"MO_code_key",
"MO_group_key",
"WO_name";
SQL SELECT "Job_type",
"Jobexec_date",
"Jobstatus#",
"MO_name",
"Start_date",
"Stop_time",
"WO_Key",
"MO_code_key",
"MO_group_key",
"WO_name"
FROM API3.PUB."Work_history"
WHERE "MO_group_key" in ('LIGNE 2','LIGNE 4','LIGNE 5') and (Work_history.Jobexec_date>= '2017-04-01') and (Work_history.Jobexec_date<= '2018-03-31') and "Stop_time" > '0.01' and "Job_type" = 'U' ;
eventuellement dans la première source la clé 'RRDAT' est une date et dans la deuxième le 'jobexec_date' est aussi une date ,
dans ce cas peût-on faire la junction avec ce champs ?
première source deuxième source
mon calcul est ( sum (RRTIME) - sum (RRMNTT)) / (count (wo_key)+1)
je vais bien sur regarder de mon côté si tu sais me guider un peu, ce serai sympa
Philippe
Salut Kevin,
Pour info, il faut également un ou plusieurs champs en commun dans tes tables pour faire un jointure correcte. Sinon, tu auras chaque ligne de ta 2eme table associée à chaque ligne de ta 1ère table ce qui n'est en général pas souhaité