I am trying to produce a dataset that contains 3 variables (Year, Age, Population (ie. tot_pop)), and includes ONLY the maximum value of tot_pop for each year and age category (Formatted). The syntax below is not producing the desired output (See attachment for actual output).
PROC MEANS DATA=want NOPRINT MAXDEC=0;
CLASS year age;
VAR tot_pop ;
OUTPUT OUT=want_2 (drop=_FREQ_ _TYPE_)
MAX=tot_pop;
RUN;
I want the final dataset to look like this:
Year Age Population
2000 0-10 1,000,000 (Max value for year and age category)
2000 11-15 1,200,000 (Max value for year and age category)
2000 16-18 1,300,000 (Max value for year and age category)
2001 0-10 1,150,000 (Max value for year and age category)
2001 11-15 1,250,000 (Max value for year and age category)
2001 16-18 1,450,000 (Max value for year and age category)
Etc.
Thanks for your help here!
That seems strange. Don't drop the _type_ columns and rerun. Post your log and output.
Do you have a format applied to your CLASS variables?
PROC MEANS DATA=want NOPRINT MAXDEC=0 NWAY ;
CLASS year age;
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.