## How to sum along row?

Solved
Occasional Contributor
Posts: 16

# How to sum along row?

Hi,

Is there a way to add a column that would provide sum of values of columns (say there are 200 columns) along the row? For example, to add a new column of 'Sum' below?

Example

A B C D E Sum
2 2 5 1 0 10
..
..

Accepted Solutions
Solution
‎04-26-2017 08:20 AM
Super Contributor
Posts: 260

## Re: How to sum along row?

[ Edited ]

First suggestion, using DATA step and the SUM function:

``````data test;
infile cards;
input A1 A2 A3 A4 A5;
cards;
2 2 5 1 0
;
run;

data sums;
set test;

/* method 1: array of all numerics */
array n {*} _numeric_;
sum_allnum=sum(of n[*]);

/*method 2: variable range in data set */
sum_range=sum(of a1-a5);
run;``````

If using EG and you want this in the Query Builder (SQL), you need to add a new computed column.

Its formula is SUM(var1, var2, var3, ...)
(you name each and every variable to sum, and separate them with commas).
Unfortunately the previous shortcut SUM(OF var1-var10) only works in datasteps and EG does not code them for you.

All Replies
N/A
Posts: 0

## Re: How to sum along row?

data test;
infile cards;
input A1 A2 A3 A4 A5;
cards;
2 2 5 1 0
;
run;

data test2;
set test;
sum = sum (of a1-a5);
run;
Occasional Contributor
Posts: 16

## Re: How to sum along row?

Hi Dan,

Could pl. suggest it in using Enterprise Guide? (Not in the programming code,I don't understand the codes at this moment). Thanks
Regards,
Solution
‎04-26-2017 08:20 AM
Super Contributor
Posts: 260

## Re: How to sum along row?

[ Edited ]

First suggestion, using DATA step and the SUM function:

``````data test;
infile cards;
input A1 A2 A3 A4 A5;
cards;
2 2 5 1 0
;
run;

data sums;
set test;

/* method 1: array of all numerics */
array n {*} _numeric_;
sum_allnum=sum(of n[*]);

/*method 2: variable range in data set */
sum_range=sum(of a1-a5);
run;``````

If using EG and you want this in the Query Builder (SQL), you need to add a new computed column.

Its formula is SUM(var1, var2, var3, ...)
(you name each and every variable to sum, and separate them with commas).
Unfortunately the previous shortcut SUM(OF var1-var10) only works in datasteps and EG does not code them for you.

Contributor
Posts: 44

## Re: How to sum along row?

Hello - I had a related question.  Since the below is in a data step, how do you get the actual numeric sum?  When I did proc freq below, sas gave me the list of values and not the actual sum.

``````data; set;
sum_range=sum(of a1-a5);
run;proc freq; tables sum_range; run;``````

Thanks

Laura

N/A
Posts: 1

## Re: How to sum along row?

hey can you please tell me how to sum all the columns with different names....i.e. not a1,a2,a3,a4....but a,b,c,d,....

Thanks

Krishan Avtar Singh

Regular Learner
Posts: 1