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?
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.
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?
I sum columns totals. I previously rename them var1, var2, var3 and they are side by side, thanks!
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;
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.
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.