Thématique
Éviter un retain implicite lors de la fusion (merge) de deux datasets dans une étape data
Mots-clés
*data step #merge
Données
data one; subject=1; test='A'; x=1; output; subject=1; test='B'; x=2; output; subject=1; test='C'; x=3; output; subject=2; test='A'; x=1; output; run;
data two; subject=1; y=100; output; subject=2; y=200; output; run;
Dataset |
Dataset |
Programme
data demo; merge one two; by subject; if test='B' then y=999; run;
Dataset |
Dataset |
Dataset |
Les datasets one
et two
sont fusionnés par subject
. La valeur de y
est alors mise à jour lorsque test='B'
.
Mais lorsque test='C'
, la valeur de y
ne reste pas 100 ; elle est également modifiée.
Tâche
Mettre à jour le programme pour obtenir le résultat suivant :
Dataset |
Dataset |
Dataset |
Solution Possible
data demo; merge one two; by subject; run; data demo; set demo; if test='B' then y=999; run;