Hi I have a data like this:
data have;
input ID EventID Male $ Female $ MTF $ FTM $;
datalines;
1 1 male
1 2
1 3 male
2 1 female
2 2 female
2 3
3 1 mtf
3 2
3 3 Mtf
run;
I want it to be:
1 1 male
1 2 male
1 3 male
2 1 female
2 2 female
2 3 female
3 1 mtf
3 2 mtf
3 3 mtf
data want;
do until(last.Ieventid);
set have;
length m $4;
length f $6;
length mtf $14;
length ftm $14;
by eventid;
M=Catx('' , Male);
F=Catx('' , Female);
mtf=Catx('' , mtf);
end;
run;
data have; input ID EventID Male $ Female $ MTF $ FTM $; datalines; 1 1 male . . . 1 2 . . . . 1 3 male . . . 2 1 . female . . 2 2 . female . . 2 3 . . . . 3 1 . . mtf . 3 2 . . . . 3 3 . . mtf . ; run; data want; update have(obs=0) have; by id; output; run;
Please provide your HAVE dataset in a working data step. Otherwise we are left to guess what your data really look like.
And provide a working WANT data step as well.
Help us help you.
data have; input ID EventID Male $ Female $ MTF $ FTM $; datalines; 1 1 male . . . 1 2 . . . . 1 3 male . . . 2 1 . female . . 2 2 . female . . 2 3 . . . . 3 1 . . mtf . 3 2 . . . . 3 3 . . mtf . ; run; data want; update have(obs=0) have; by id; output; run;
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.