DATA Step, Macro, Functions and more

Proc Tabulate : creating a row of zeros for nonexistent variable

Accepted Solution Solved
Reply
Occasional Contributor
Posts: 8
Accepted Solution

Proc Tabulate : creating a row of zeros for nonexistent variable

Hello, this is my code and it produces the graph below.


Proc tabulate data=sample;
class term type;
table (Type=" ") (all="Total Undergraduate - Campus"),(term="Headcount")/misstext = "0";
keylabel n=" ";
format type $type. term $terms.;
run;

 

 Headcount
Fall 2015Spring 2016Summer 20162015
Adult Degree120130114118
RN45323441
Traditional Undergraduate200181192212
Total Undergraduate - Campus365343340371

 

    
    
    
    

 

My data is listed as:

 

Data Fall2015;
input Term $ Cr_Att Type $;
datalines;
15FALL   3   RN
15FALL   12   TU

;

run;

 

I was wondering if there is a way to create a row category of all zeros for a variable (Type ="GS") that does not in my dataset.

Below is an example

 

 Headcount
Fall 2015Spring 2016Summer 20162015
Adult Degree120130114118
Grad students0000
RN45323441
Traditional Undergraduate200181192212
Total Undergraduate - Campus365343340371

Accepted Solutions
Solution
‎02-14-2017 01:44 PM
Trusted Advisor
Posts: 1,301

Re: Proc Tabulate : creating a row of zeros for nonexistent variable

proc format;
value $gndr
'F' = 'Female'
'M' = 'Male'
'O' = 'Other';
run;

proc tabulate data=sashelp.class;
class sex / preloadfmt;
table sex/ printmiss misstext='0';
format sex $gndr.;
run;

View solution in original post


All Replies
Super User
Posts: 11,343

Re: Proc Tabulate : creating a row of zeros for nonexistent variable

Create a format to associate with the class variable with all of the values which it looks like you may have, use the PRELOADFMT option on class statement.

 

This may do it:

Proc tabulate data=sample;
   class term ;
   class type/preloadfmt order=data  ;
   table (Type=" ") (all="Total Undergraduate - Campus"),(term="Headcount")/ printmiss misstext = "0";
   keylabel n=" ";
   format type $type. term $terms.;
run;
Solution
‎02-14-2017 01:44 PM
Trusted Advisor
Posts: 1,301

Re: Proc Tabulate : creating a row of zeros for nonexistent variable

proc format;
value $gndr
'F' = 'Female'
'M' = 'Male'
'O' = 'Other';
run;

proc tabulate data=sashelp.class;
class sex / preloadfmt;
table sex/ printmiss misstext='0';
format sex $gndr.;
run;
Occasional Contributor
Posts: 8

Re: Proc Tabulate : creating a row of zeros for nonexistent variable

[ Edited ]

Thanks I already had a format in place, so all i did was add the preloadfmt and printmiss options.

 

Proc tabulate data=sample;
class term type/preloadfmt;
table (Type=" ") (all="Total Undergraduate - Campus"),(term="Headcount")/ printmiss misstext = "0";
keylabel n=" ";
format type $type. term $terms.;
run;

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 161 views
  • 2 likes
  • 3 in conversation