Your SAS programs, embedded in web apps and elsewhere

Referencing a Summed Column from Proc Tabulate in Proc Report

Accepted Solution Solved
Reply
Super Contributor
Posts: 480
Accepted Solution

Referencing a Summed Column from Proc Tabulate in Proc Report

I am formatting data using proc tabulate for when I call the data in proc report.  I need to know the name of the columns from proc tabulate to reference them in proc report.  This works until I add in the sum feature in proc tabulate.  I’m not sure what my variable is called after I add in the sum feature. In this particular scenario the summed variable is students_enrolled_sum.  However if I change out the location column with a marco &columnName identifying the column name gets tricky.  Without the sum my column name is always n.  I tried using labels however the label appears to only be a label and not a name as can be seen in a proc print statement like the print screen.

proc tabulate data=enrollment missing out=enrollment4 FORMAT=COMMA8.;

  class location academic_period;

  var students_enrolled;

  table sum*location='n'*students_enrolled='' sum*students_enrolled=' '*all, academic_period /row=float;

  keylabel sum=' ' n=' ';

run;

proc print data=enrollment4;

tabulate_n.png


Accepted Solutions
Solution
‎05-08-2015 10:24 AM
Super Contributor
Posts: 480

Re: Referencing a Summed Column from Proc Tabulate in Proc Report

I used the concatenate function to combined

location || sum to reference my variables dynamically. This works for me there should be a better way like being able to reference the label name.

View solution in original post


All Replies
Super User
Super User
Posts: 7,401

Re: Referencing a Summed Column from Proc Tabulate in Proc Report

Can you not query the SASHELP.VCOLUMN (DICTIONARY.COLUMNS) information, if _sum is always the suffix then:

proc sql;

     select     NAME

     into         :THE_SUM_VAR

     from       DICTIONARY.COLUMNS

     where      LIBNAME="WORK" and MEMNAME="ABC";

quit;

Then use the macro variable.  If _sum isn't the suffix always, take a list of your variables before and after and remove the before from the after to be left with additional variables.

Solution
‎05-08-2015 10:24 AM
Super Contributor
Posts: 480

Re: Referencing a Summed Column from Proc Tabulate in Proc Report

I used the concatenate function to combined

location || sum to reference my variables dynamically. This works for me there should be a better way like being able to reference the label name.

☑ This topic is SOLVED.

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

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