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;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.