Bonjour à tous et bonne rentrée,
Je suis bloqué pour réaliser une création de table avec un DATA MERGE donc je suis passé en SQL.
Mais peut être vous avez une solution que je ne connais pas, merci d'avance.
Voici mes sources :
Les tables pour le test à créer
Les scripts utilisés dans mon test
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 data first_many; input IDA1 a1 dt ddmmyy10. x1 $ y1 $; format dt ddmmyy10.; datalines; 1 51 11/02/1980 A B 2 52 31/10/1975 F Q 3 59 17/05/1970 E R 4 53 24/02/1956 C D 5 57 31/12/1974 B C 6 55 06/06/1982 D G 7 63 11/02/1980 C D ; run; data second_many; input b2 dt ddmmyy10. x2 $ y2 $; format dt ddmmyy10.; datalines; 101 31/12/1974 B D 102 31/12/1974 B F 103 11/02/1980 A B 104 11/02/1980 A Z 105 17/05/1970 E F 106 06/06/1982 D Q 107 06/06/1982 D F 108 06/06/1982 D R ; run;
j'adore votre forum et je progresse souvent grâce à vous tous, merci encore.
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 PROC SORT DATA=first_many; BY dt; RUN; PROC SORT DATA=second_many; BY dt; RUN; DATA test_merge_fm; MERGE first_many (in = fm) second_many (in = sm); BY dt; if fm; RUN; PROC SQL; CREATE TABLE test_sql_leftjoin AS Select first_many.*, second_many.* FROM first_many LEFT JOIN second_many ON first_many.dt = second_many.dt ORDER BY IDA1; QUIT;
Partager