|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Mariam Statisticienne-Consultante BI Inscription : avril 2008 Messages : 127 ![]() |
Bonjour,
J'ai un peu de mal à transformer des jointures du Type RIGHT JOIN ou LEFT JOIN de Access en SAS à travers des Merge ...if... Exemple: 3 tables: T1 T2 T3 variables communes num version Access ((T1 RIGHT JOIN T2 on num ) LEFT JOIN T3 on num) version sas data T_temporaire merge T1 (in=a) |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2006 Messages : 1 973 ![]() |
Bonjour,
A l'aide de la PROC SQL tu peux executer ton code SQL sur SAS. Fafabzh |
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() ![]() |
Bonjour,
SAS reconnaît la norme SQL ANSI Code :
Cordialement. |
||
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() Mariam Statisticienne-Consultante BI Inscription : avril 2008 Messages : 127 ![]() |
Merci,
En fait je crois que ce message n'était pas entier oups mais je commence à saisir ce que vous dites! |
|
|
00
|
|
|
#5 | ||||||
|
Membre chevronné
![]() ![]() |
Bonjour,
Par défaut SAS fait une jointure EXTERNE (tout A, tout B et le commun des deux). Pour faire une jointure, il faut une clé de jointure ;-) l'option in= met un flag virtuel sur la table (0 ou 1) 0 si la clé n'est pas présente et 1 si la clé est présente. Jointure à gauche : je prend toute la table_a et ce qui est commun entre a et b Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() ![]() |
ton code marche si tu le mets dans une proc sql?
|
|
|
00
|
|
|
#7 | ||
|
Membre régulier
![]() Mariam Statisticienne-Consultante BI Inscription : avril 2008 Messages : 127 ![]() |
Je suis bien d'accord avec la solution de steelspirit sauf qu'avec SAS et ACCESS au final j'ai pas le même nombre de ligne.
Pour la proc SQL ca marche pour 1 jointure, peut on faire 2 à la suite. J'ai un peu de mal à transformer des jointures du Type RIGHT JOIN ou LEFT JOIN de Access en SAS à travers des Merge ...if... Exemple: 3 tables: T1 T2 T3, variable commune: num version Access ((T1 RIGHT JOIN T2 on num ) LEFT JOIN T3 on num) version sas souhaité Code :
|
||
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() ![]() |
"a righth join b" veut dire que tu gardes les élèments qui se trouve dans la table b.
equivalent en merge data fus; merge a(in=e) b(in=u); by toto; if u; run; Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com