Вы можете использовать следующие методы для вычисления суммы значений по группам в SAS:
Метод 1: вычислить сумму по одной группе
proc sql ;
select var1, sum(var2) as sum_var2
from my_data
group by var1;
quit ;
Метод 2: вычислить сумму по нескольким группам
proc sql ;
select var1, var2, sum(var3) as sum_var3
from my_data
group by var1, var2;
quit ;
В следующих примерах показано, как использовать каждый метод со следующим набором данных в 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
B Guard 34
B Forward 19
B Forward 3
B Forward 8
;
run ;
/\*view dataset\*/
proc print data =my_data;

Пример 1: вычислить сумму по одной группе
Следующий код показывает, как вычислить сумму очков по командам:
/\*calculate sum of points by team\*/
proc sql ;
select team, sum(points) as sum_points
from my_data
group by team;
quit ;

Из вывода мы видим, что игроки команды A набрали в общей сложности 94 очка, а игроки команды B набрали в общей сложности 109 очков.
Пример 2: вычисление суммы по нескольким группам
В следующем коде показано, как рассчитать сумму очков, сгруппировать по командам и позициям:
/\*calculate sum of points by team, grouped by team and position\*/
proc sql ;
select team, position, sum(points) as sum_points
from my_data
group by team, position;
quit ;

В итоговой таблице показана сумма очков, набранных игроками в зависимости от их команды и позиции.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в SAS:
Как нормализовать данные в SAS
Как переименовать переменные в SAS
Как удалить дубликаты в SAS
Как заменить пропущенные значения нулем в SAS