Bonjour le forum,
Je vous ai présenté mon problème dans la pièce jointe ci dessous pour plus de clareté.
En résumé il s'agit de réaliser des jointures avec certaines conditions.
Merci
Bonjour le forum,
Je vous ai présenté mon problème dans la pièce jointe ci dessous pour plus de clareté.
En résumé il s'agit de réaliser des jointures avec certaines conditions.
Merci
Bjr,
Voici une réponse fait à la va-vite.
Il reste qu'à ajuster les formats de date à la fin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 data MAJ ; informat date_MAJ DDMMYY9. ; format date_MAJ DDMMYY9. ; input ID date_MAJ $ ; cards ; 1 06/06/2012 1 07/06/2012 4 20/06/2012 4 07/06/2012 ; run ; data note ; informat date_note DDMMYY9. ; format date_note DDMMYY9. ; input ID date_note $ note; cards ; 1 06/06/2012 15 1 07/06/2012 16 4 20/06/2012 19 4 07/06/2012 20 ; run ; /* On prend la date max */ proc sql ; create table MAJ_bis as select ID , Max(date_MAJ) As date_MAJ_bis from MAJ group by ID order by ID ; quit ; /* on fait la jointure et on élimine les dates supérieures */ proc sql ; create table jointure as Select note.ID , date_MAJ_bis , max(date_note) as dat from MAJ_bis INNER JOIN note ON ( MAJ_bis.ID = note.ID and date_note <= date_Maj_bis ) group by note.ID , date_MAJ_bis ; quit ; /* on rajoute les notes */ proc sql ; create table final as Select jointure.ID , jointure.date_MAJ_bis , jointure.dat , note.note from jointure Inner join Note On ( jointure.ID = Note.ID AND Jointure.dat = note.date_note); quit ;![]()
Cdt
Rom
merci,
Cependant mes dates de la table : MAJ ne sont pas égalent aux dates de la table : note
Euh , je pense que c'est normal , je suis parti du postulat que la table note a pour clés primaires ID et date_note , tandis que la table MAJ a pour clés primaires date_maj et ID.
Les dates de notes doivent êtres les plus proches ( en inférieur ) aux date_maj ... du coup je ne comprends pas trop ta dernière affirmation
bonjour,
Cette solution fonctionne parfaitement.
maintenant que j'ai réussi à obtenir mon fichier regroupé, je n'arrive pas à selectionner la ligne voulue.
Ma clé correspond à l'ID + date MAJ + heure
Pour une même clé je voudrai juste la dernière valeur de DATE NOTE (déjà trié)
Est il possible de réaliser cette étape sans concaténer mes 3 valeurs ?
Merci
Partager