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.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.