BookmarkSubscribeRSS Feed
tlnarayana26
Calcite | Level 5
yearxypercent
201010550%
201123626%
20122528%
201320420%
201417847%
total952526%

The above report gets total and %'s in total column .

(i want 26% in totals)

plz help me

3 REPLIES 3
BrunoMueller
SAS Super FREQ

You can use Proc REPORT to get the output you need. You can make use of the computed column functionality:

<

data have;
  infile cards dlm=",";
 
input
    year x y
  ;
cards;
2010,10,5
2011,23,6
2012,25,2
2013,20,4
2014,17,8
;

proc report data=have nowindows;
 
column year x y myPct;
  define year / display;
 
define x / analysis;
 
define y / analysis;
 
define myPct / computed format=percent9.0;

 
compute myPct;
    myPct = y.sum / x.sum;
 
endcomp;

 
rbreak after / summarize;
run;

/body>

RW9
Diamond | Level 26 RW9
Diamond | Level 26

Hi,

proc sql;

     create table WANT as

     select     *

     from       HAVE

     union all

     select     "Total" as YEAR,

                    count(X) as X,

                    count(Y) as Y,

                    round((CALCULATED Y / CALCULATED X) * 100,1.) as PERCENT

     from        HAVE;

quit;

ballardw
Super User

And a Tabulate solution

proc tabulate data=have;

   class year;

   var x y;

   table year='' all='Total',

         x *sum=''*f=best4.     y=''*(sum='y'*f=best4. pctsum<x>='%'*f=best4.)

         /box='Year' ;

run;

Catch up on SAS Innovate 2026

Dive into keynotes, announcements and breakthroughs on demand.

Explore Now →
How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 1844 views
  • 0 likes
  • 4 in conversation