The SAS sum() function allows you to find the total across columns and returns the sum of the arguments in a data step.
data example;
a = sum(1,4,7);
put a;
b = sum(1,.,-1);
put b;
run;
/* Log Output */
7
1
When working with different data in programming, the ability to be able to easily find summary statistics of pieces of your data is valuable.
One such case is if you want to find the sum of multiple values.
In a SAS data step, you can find the sum of multiple numbers or multiple columns with the sum() function.
Below shows you some simple examples of using sum() in a SAS data step.
data example;
a = sum(1,4,7);
put a;
b = sum(1,.,-1);
put b;
run;
/* Log Output */
12
0
Find Total Across Columns in Data Step with sum()
You can use sum() to create a new column which has the sum across a number of columns in a SAS dataset.
For example, let’s say you had some variables and wanted to find the sum for each observation of those variables.
To do this, you can use sum() and pass the column names as the arguments.
Below shows you how to create a new column which is the sum across the columns A, B and C in a data step.
data example;
input A B C;
datalines;
5 1 2
4 2 3
3 3 4
2 4 5
1 5 6
;
run;
data example_with_sum;
set example;
S = sum(A,B,C);
run;
/* Output */
A B C S
5 1 2 8
4 2 3 9
3 3 4 10
2 4 5 11
1 5 6 12
Treatment of Missing Values with SAS sum() Function in Data Steps
If your data has missing values, then you have to be aware of how sum() calculates the sumif you have values which are missing that are passed to sum().
In general, missing values will be ignored by sum().
This is shown below, where I’ve included one missing value in the call to sum().
data example;
a = sum(1,.,-1);
put a;
run;
/* Log Output */
0
However, if all values are missing, then sum() will return a missing value.
data example;
a = sum(.,.,.);
put a;
run;
/* Log Output */
.
Find Sum of Entire Column in SAS with PROC MEANS
If you want to find the sumof an entire column, then you should use PROC MEANS.
In SAS, PROC MEANS is a procedure which allows you to create summaries of your data and allows you to calculate things like the sum, mean, sum, sum, etc. of a variable.
You can find the sumof an entire column by specifying the SUM option with PROC MEANS.
Below shows you how to find the sum of an entire column using the SAS PROC MEANS procedure.
data example;
input group $ value;
datalines;
A 1
A 2
A 3
B 4
B 5
B 6
C 7
C 8
;
run;
proc means data=example sum;
variable value;
run;
Hopefully this article has been useful for you to learn how to use the SAS sum() function in your SAS programs.