BookmarkSubscribeRSS Feed
☑ This topic is solved. Need further help from the community? Please sign in and ask a new question.
skhan9
Fluorite | Level 6

Hi all,

I have over 50 tables in my SAS work library that look something like this:

YearGenderAgeFrequencyRate
2015Female0 to <18 Years2300010
2015Female18 to <65 Years160008
2015Female>=65 Years4500012
2015Male0 to <18 Years200009
2015Male18 to <65 Years150007
2015Male>=65 Years5000014
2016Female0 to <18 Years2400011
2016Female18 to <65 Years170008
2016Female>=65 Years4600013
2016Male0 to <18 Years2100010
2016Male18 to <65 Years160007
2016Male>=65 Years5100015
2017Female0 to <18 Years2500011
2017Female18 to <65 Years180008
2017Female>=65 Years4800013
2017Male0 to <18 Years2200010
2017Male18 to <65 Years170007
2017Male>=65 Years5300015

 

I have been exporting the dataset into excel and then manually formatting the tables to something like this: 

 Year
 201520152016201620172017
Gender and AgeFrequencyRateFrequencyRateFrequencyRate
Female      
0 to <18 yrs230001024000112500011
18 to <65 Years160008170008180008
>=65 years450001246000134800013
Male      
0 to <18 yrs20000921000102200010
18 to <65 Years150007160007170007
>=65 years500001451000155300015

 

I am wondering if there is a way to create customized tables in SAS so that I don't have to manually create these in Excel/Word to avoid errors and save time?

 

Thank you!

1 ACCEPTED SOLUTION

Accepted Solutions
Ksharp
Super User
data have;
infile datalines expandtabs truncover;
input Year	Gender $	Age &$40.	Frequency	Rate;
datalines;
2015	Female	0 to <18 Years	 23000	10
2015	Female	18 to <65 Years  	16000	8
2015	Female	>=65 Years	   45000	12
2015	Male	0 to <18 Years	  20000	9
2015	Male	18 to <65 Years  	15000	7
2015	Male	>=65 Years	  50000	14
2016	Female	0 to <18 Years  	24000	11
2016	Female	18 to <65 Years  	17000	8
2016	Female	>=65 Years	  46000	13
2016	Male	0 to <18 Years  	21000	10
2016	Male	18 to <65 Years  	16000	7
2016	Male	>=65 Years	  51000	15
2017	Female	0 to <18 Years	  25000	11
2017	Female	18 to <65 Years	  18000	8
2017	Female	>=65 Years	  48000	13
2017	Male	0 to <18 Years	  22000	10
2017	Male	18 to <65 Years	  17000	7
2017	Male	>=65 Years	  53000	15
;
proc report data=have nowd;
columns Gender Age	Year,(Frequency	Rate);
define gender/group noprint;
define age/group  'Gender and Age';
define year/across;
define Frequency/analysis sum;
define Rate/analysis sum;
compute before gender/style={just=l};
line gender $80.;
endcomp;
run;

Ksharp_0-1718328341153.png

 

View solution in original post

2 REPLIES 2
Ksharp
Super User
data have;
infile datalines expandtabs truncover;
input Year	Gender $	Age &$40.	Frequency	Rate;
datalines;
2015	Female	0 to <18 Years	 23000	10
2015	Female	18 to <65 Years  	16000	8
2015	Female	>=65 Years	   45000	12
2015	Male	0 to <18 Years	  20000	9
2015	Male	18 to <65 Years  	15000	7
2015	Male	>=65 Years	  50000	14
2016	Female	0 to <18 Years  	24000	11
2016	Female	18 to <65 Years  	17000	8
2016	Female	>=65 Years	  46000	13
2016	Male	0 to <18 Years  	21000	10
2016	Male	18 to <65 Years  	16000	7
2016	Male	>=65 Years	  51000	15
2017	Female	0 to <18 Years	  25000	11
2017	Female	18 to <65 Years	  18000	8
2017	Female	>=65 Years	  48000	13
2017	Male	0 to <18 Years	  22000	10
2017	Male	18 to <65 Years	  17000	7
2017	Male	>=65 Years	  53000	15
;
proc report data=have nowd;
columns Gender Age	Year,(Frequency	Rate);
define gender/group noprint;
define age/group  'Gender and Age';
define year/across;
define Frequency/analysis sum;
define Rate/analysis sum;
compute before gender/style={just=l};
line gender $80.;
endcomp;
run;

Ksharp_0-1718328341153.png

 

skhan9
Fluorite | Level 6

Thank you @Ksharp for the solution, it worked!

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

Mastering the WHERE Clause in PROC SQL

SAS' Charu Shankar shares her PROC SQL expertise by showing you how to master the WHERE clause using real winter weather data.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 2 replies
  • 331 views
  • 2 likes
  • 2 in conversation