Solved
Contributor
Posts: 27

# alternative to "sum" function e.g. arrays??

hi all!

i have to sum 100 variables, i would like to do it without writing all the names  sum(var1,var2,var3, etc)

any good code, may be arrays?

Accepted Solutions
Solution
‎10-10-2013 05:47 PM
Super User
Posts: 13,583

## Re: alternative to "sum" function e.g. arrays??

You can use variable lists in sum you name variables with a common stem such as:

total = sum (of var; to get the total of all variables whose names start with VAR.

If using a numeric suffix as in your example you specify a range:

total = sum (of var1-var100);

You can also mix lists and variable names.

All Replies
Super User
Posts: 23,778

## Re: alternative to "sum" function e.g. arrays??

More details.

Are you summing across a row, or column totals? Do the variables have any naming conventions? Are they side by side at least?

Contributor
Posts: 27

## Re: alternative to "sum" function e.g. arrays??

I sum columns totals. I previously rename them var1, var2, var3 and they are side by side, thanks!

Super User
Posts: 23,778

## Re: alternative to "sum" function e.g. arrays??

If you need column totals look into proc means and proc summary. Arrays in SAS operate across columns (So sum(var1-var100) would be for each row).

Note the colon after var, then semicolon.

proc means data=have;

var var:;

output out=want1 sum=/autoname;

run;

Or proc means data=have;

var var1-var100;

output out=want2 sum= /autoname;

run;

Solution
‎10-10-2013 05:47 PM
Super User
Posts: 13,583

## Re: alternative to "sum" function e.g. arrays??

You can use variable lists in sum you name variables with a common stem such as:

total = sum (of var; to get the total of all variables whose names start with VAR.

If using a numeric suffix as in your example you specify a range:

total = sum (of var1-var100);

You can also mix lists and variable names.

🔒 This topic is solved and locked.