DATA Step, Macro, Functions and more

how to calculate sum value for only a few rows of values

Reply
Super Contributor
Posts: 272

how to calculate sum value for only a few rows of values

Dear,

 

In the following data I need to calculte a sum value for a few OBS.

 

For my data I need to calculate a total value for trt in (15,30,37).

 

data have;
input ns trt $ trtc $;
datalines;
20 15 A
30 30 B
10 37 C
50 Place D
;


output needed;

20 15 A
30 30 B
10 37 C
50 Place D
60 Total E
;



Trusted Advisor
Posts: 1,397

Re: how to calculate sum value for only a few rows of values

Try code:

 

proc print data=have(where=(trt in (15,30,37)));

    var ns trt trtc;

    sum ns;

run;

Super User
Posts: 5,088

Re: how to calculate sum value for only a few rows of values

To get a data set that matches your output goal:

 

data want;

set have end=done;

if trt in ('15', '30', '37') then tot_ns + ns;

output;

if done;

ns = tot_ns;

trt='Total';

trtc='E';

output;

drop tot_ns;

run;

 

It's ready for PROC PRINT or whatever you decide the next step should be.

Ask a Question
Discussion stats
  • 2 replies
  • 96 views
  • 2 likes
  • 3 in conversation