Satisfy: when A.programtype is missing and B.programtype
Is not UNKNOWN, can update.data A;
input memberid $ membertype $ programtype $ firstname $ lastname $ ;
cards;
A001 type1 . Eric Smith
A002 type1 . John Ed
A003 type2 AA Maria Carr
B001 type1 AA Jack Miller
A005 type2 . Maggie Sliter
A078 type1 . Aan Tailor
B005 type2 . Cliff Honk
;
run;
data B;
input memberid $ programtype $ status $;
cards;
A001 BB active
A002 unknown active
A078 AA active
B004 AA inactive
B005 BB active
C004 . active
;
run;
"Can not introduce new Observations, nor can all update, only conditions"
Can you explain the highlighted part further? Maybe posting the expected result dataset will help.
If I read you right, this should work:
proc sort data=a;
by memberid;
run;
data want;
merge
a (in=a)
b (in=b keep=memberid programtype rename=(programtype=pt))
;
by memberid;
if a;
if b and missing(programtype) and pt ne 'unknown' then programtype = pt;
drop pt;
run;
proc print data=want noobs;
run;
Satisfy: when A.programtype is missing and B.programtype is not UNKNOWN, can update.
data A;
input memberid $ membertype $ programtype $ firstname $ lastname $ ;
cards;
A001 type1 . Eric Smith
A002 type1 . John Ed
A003 type2 AA Maria Carr
B001 type1 AA Jack Miller
A005 type2 . Maggie Sliter
A078 type1 . Aan Tailor
B005 type2 . Cliff Honk
;
run;
data B;
input memberid $ programtype $ status $;
cards;
A001 BB active
A002 unknown active
A078 AA active
B004 AA inactive
B005 BB active
C004 . active
;
run;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.