You can use the following methods to count the total observations by group in SAS:
Method 1: Count Observations by One Group
proc sql;
select var1, count(*) as total_count
from my_data
group by var1;
quit;
Method 2: Count Observations by Multiple Groups
proc sql;
select var1, var2, count(*) as total_count
from my_data
group by var1, var2;
quit;
The following examples show how to use each method with the following dataset in SAS:
/*create dataset*/
data my_data;
input team $ position $ points;
datalines;
A Guard 15
A Guard 12
A Guard 29
A Forward 13
A Forward 9
A Forward 16
B Guard 25
B Guard 20
C Guard 34
C Forward 19
C Forward 3
C Forward 8
;
run;
/*view dataset*/
proc print data=my_data;
Example 1: Count Observations by One Group
The following code shows how to count the total number of observations by team:
/*count observations by team*/
proc sql;
select team, count(*) as total_count
from my_data
group by team;
quit;
From the output we can see that team A contains 6 observations, team B contains 2 observations, and team C contains 4 observations.
Example 2: Count Observations by Multiple Groups
The following code shows how to count the total number of observations, grouped by team and position:
/*count observations by team and position*/
proc sql;
select team, position, count(*) as total_count
from my_data
group by team, position;
quit;
From the output table we can see:
- A total of 3 players belong on team A and have a position of Forward.
- A total of 3 players belong on team A and have a position of Guard.
- A total of 2 players belong on team B and have a position of Guard.
- A total of 3 players belong on team C and have a position of Forward.
- A total of 1 player belongs on team A and has a position of Guard.
Additional Resources
The following tutorials explain how to perform other common tasks in SAS:
How to Normalize Data in SAS
How to Rename Variables in SAS
How to Remove Duplicates in SAS
How to Replace Missing Values with Zero in SAS