Bonjour,
Je débute sur SAS et je dois faire une jointure entre deux tables "ménage" et "produit".
La table "ménage" contient une seule variable qui identifie les ménages (il n'y a pas de doublon).
Je souhaiterais faire une jointure à l'aide d'un merge afin d'obtenir deux tables: l'un concernant les ménages avec emprunts l'autre concernant les ménages sans emprunts.
J'ai réussi à faire ces deux tables mais je souhaiterais savoir si il était possible de le faire plus simplement.
Voici mon code:
Je vous remercie par avance pour l'aide que vous pourrez m'apporter.
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 PROC SORT DATA=DONNEES.PRODUIT ; BY IDENT; RUN; PROC SORT DATA=DONNEES.MENAGE; BY IDENT; RUN; DATA DONNEES.MENAGE_AVEC_EMPRUNT DONNEES.MENAGE.OUTPUT; MERGE DONNEES.PRODUIT (in=a KEEP=ANNEE DETQUA DUREMP IDENT IDENTPOS NATEMP NATURE PRMO IDENTPROD where=(NATURE ='6')) DONNEES.MENAGE (in=b); by IDENT; if a and b then output DONNEES.MENAGE_AVEC_EMPRUNT; else output DONNEES.MENAGE.OUTPUT; RUN; PROC SORT DATA=DONNEES.MENAGE.OUTPUT; BY IDENT; RUN; DATA DONNEES.MENAGE_SANS_EMPRUNT; MERGE DONNEES.MENAGE.OUTPUT (in=a) DONNEES.PRODUIT (in=b KEEP=ANNEE DETQUA DUREMP IDENT IDENTPOS NATEMP NATURE PRMO IDENTPROD); by IDENT; if a and b; RUN;
Cordialement
Partager