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;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.