Ищете способы подсчета различных записей по нескольким столбцам/переменным с помощью PROC SQL, все, что я нахожу, это то, как считать комбинациями значений. Однако я хотел бы выполнить поиск по 2 (символьным) столбцам (внутри строк, удовлетворяющих определенному условию) и подсчитать количество различных значений, которые отображаются в любым из двух.PROC SQL - подсчет различных значений для переменных
Рассмотрим набор данных, который выглядит следующим образом:
DATA have;
INPUT A_ID C C_ID1 $ C_ID2 $;
DATALINES;
1 1 abc .
2 0 . .
3 1 efg abc
4 0 . .
5 1 abc kli
6 1 hij .
;
RUN;
теперь я хочу, чтобы иметь таблицу, содержащую подсчет пг. уникальных значений в пределах C_ID1 и C_ID2 в строках, где C = 1. Результат должен быть 4 (ABC, EFG, Hij, кли):
nr_distinct_C_IDs
4
До сих пор я только был может обрабатывать один столбец (C_ID1):
PROC SQL;
CREATE TABLE try AS
SELECT
COUNT (DISTINCT
(CASE WHEN C=1 THEN C_ID1 ELSE ' ' END)) AS nr_distinct_C_IDs
FROM have;
QUIT;
(Обратите внимание, что я использую обработку сЛУЧАЯ вместо ИНЕК, так как мой фактический PROC SQL также обрабатывает другие случаи в пределах того же дия гу).
Это дает мне:
nr_distinct_C_IDs
3
Как я могу продлить это до двух переменных (C_ID1 и C_ID2 в моем примере)?