Hi all,
Please advise how to manage the following case. I have to select the values FLAG1 and FLAG2 from the first line of the group and FLAG3 and IDENT from the last line. Could you please advise a compact algorythm? The sample code is attached.
Thank you!
data test;
infile datalines dlm='/';
input FLAG1 : $1. FLAG2 : $1. FLAG3 : $1. IDENT : $7.;
datalines;
Y / N / / ABC-101
N / N / / ABC-101
N / N / Y / ABC-101
Y / N / / ABC-102
N / N / / ABC-102
N / N / / ABC-102
N / N / / ABC-102
N / N / / ABC-103
N / N / / ABC-103
N / N / / ABC-103
N / N / N / ABC-103
;
run;
Hello,
data want;
set test;
by IDENT;
array FLAGS(2) $1. _TEMPORARY_;
if first.IDENT then do;
FLAGS(1)=FLAG1;
FLAGS(2)=FLAG2;
end;
if last.IDENT then do;
FLAG1=FLAGS(1);
FLAG2=FLAGS(2);
output;
end;
run;
Hello,
data want;
set test;
by IDENT;
array FLAGS(2) $1. _TEMPORARY_;
if first.IDENT then do;
FLAGS(1)=FLAG1;
FLAGS(2)=FLAG2;
end;
if last.IDENT then do;
FLAG1=FLAGS(1);
FLAG2=FLAGS(2);
output;
end;
run;
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.