Data date;
Input variable_id $3. @5 _2014Q1 @7 _2014Q2 @9 _2014Q3 @11 _2014Q4 @13 _2015Q1 @15 _2015Q2 @17 _2015Q3 @19 _2015Q4 @21 Varlist $100.;
Datalines;
1aw 3 . 2 . 5 . . . _2014Q1,_2014Q2,_2014Q3,_2014Q4
5td . . . 1 . 8 . . _2014Q1,_2014Q2,_2014Q3,_2014Q4,_2015Q1
t6v 9 . . . . . . . _2014Q1,_2014Q2,_2014Q3,_2014Q4
n4a 2 6 5 4 4 . . . _2014Q1,_2014Q2,_2014Q3,_2014Q4,_2015Q1,_2015Q2,_2015Q3,_2015Q4
p24 . . . . . . . 2 _2015Q1,_2015Q2,_2015Q3,_2015Q4
;
run; /**Code1**/
data want;
set date;
Count=N(Varlist);
Max=MAX(Varlist);
Run; /*code 2*/
Proc Sql;
Select count(variable_id) INTO: count from date; quit;
Data_null_;
call symput('count1',left(count));
run;
Proc Sql;
Select varlist INTO: list1 :list&count. from date; quit;
%macro dlt;
data want;
set date;
%do I = 1 to &count1.;
count=N(of &&list&I.);
max=Max(of &&list&I.);
%end;
%mend;
%dlt; /*Desired output*/
Variable_ID Count Max
1aw 2 3
5td 1 1
t6v 1 9
n4a 5 6
p24 1 2 as requested i have posted using insert SAS code option.
... View more