Input:
21
22
21
21
23
22
21
21
22
23
22
Needed ouput:
distinct times
21 5
22 4
23 2
Getting the total should be just for reporting purposes and not part of the data itself. One way:
proc freq data=have;
tables distinct / noprint out=counts (keep=distinct count rename=(count=times));
run;
proc print data=counts;
var distinct times;
sum times;
run;
data test;
input var;
datalines;
21
22
21
21
23
22
21
21
22
23
22
;run;
1) proc freq data=test; table var; run;
2) proc means data=test;
class;
var var;
output out=test1 N=;
run;
I haven't run it so check it carefully.
Getting the total should be just for reporting purposes and not part of the data itself. One way:
proc freq data=have;
tables distinct / noprint out=counts (keep=distinct count rename=(count=times));
run;
proc print data=counts;
var distinct times;
sum times;
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.