Вы можете использовать следующие методы для подсчета различных значений в наборе данных в SAS:
Метод 1: подсчет различных значений в одном столбце
proc sql ;
select count( distinct var1) as distinct_var1
from my_data;
quit ;
Метод 2: подсчет различных значений по группам
proc sql ;
select var1, count( distinct var2) as distinct_var2
from my_data
group by var1;
quit ;
В следующих примерах показано, как использовать каждый метод на практике со следующим набором данных:
/\*create dataset\*/
data my_data;
input team $ points;
datalines ;
Mavs 10
Mavs 13
Mavs 13
Mavs 15
Mavs 15
Rockets 9
Rockets 10
Rockets 10
Spurs 18
Spurs 19
;
run ;
/\*view dataset\*/
proc print data =my_data;

Пример 1. Подсчет различных значений в одном столбце
В следующем коде показано, как подсчитать общее количество уникальных значений в столбце команды:
/\*count distinct values in team column\*/
proc sql ;
select count( distinct team) as distinct_teams
from my_data;
quit ;

Из вывода мы видим, что в столбце команды есть 3 различных значения.
Мы можем подтвердить это вручную, заметив, что есть три разные команды: Mavs, Rockets и Spurs.
Пример 2. Подсчет уникальных значений по группам
В следующем коде показано, как подсчитывать отдельные значения в столбце очков , сгруппированные по столбцу команды :
/\*count distinct values in points column, grouped by team\*/
proc sql ;
select team, count( distinct points) as distinct_points
from my_data
group by team;
quit ;

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