Hi Everyone,
I already have a file in which each variable has noduplicate value.
I want to create a summary file that show the number of value for each variable in a different format as below
data have;
input a b c;
cards;
1 1 2
-2 2 .
5 3 .
6 . .
run;
data want has 2 column: variable_name and number
a 4 meaning there are 4 values with variable a
b 3
c 1
Since there are hundreds of variables, I dont know how to make it work efficiently.
Any help is very much appreciated.
HHC
****************************************************
proc summary data=have noprint;
var _numeric_;
output out = a n=; run;
proc transpose data=a out=a1;
var _numeric_;
run;
Proc means data=have stackods N NMISS;
var _numeric_;
ods output summary=want;
run;
Since there are no duplicate values, this is really just a count of how many non-missing values exist. This will get it horizontally:
proc summary data=have;
var _numeric_;
output out=stats (drop=_type_ _freq_) n=;
run;
At this point you could either use the data set STATS, or you could transpose it to get what you described as the WANT data set:
proc transpose data=stats out=want (rename=(col1=number));
var _numeric_;
run;
Since there are no duplicate values, this is really just a count of how many non-missing values exist. This will get it horizontally:
proc summary data=have;
var _numeric_;
output out=stats (drop=_type_ _freq_) n=;
run;
At this point you could either use the data set STATS, or you could transpose it to get what you described as the WANT data set:
proc transpose data=stats out=want (rename=(col1=number));
var _numeric_;
run;
Proc means with N statistic should calculate this.
Ods select none;
Proc means data=SASHELP.class stackods N NMISS;
var _numeric_;
ods output summary=want;
run;
ods select all;
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.