Я хочу создать переменную 'enumeration', начиная с записи, имеющей базовый флаг. Перечисление начинается с 0 и далее, если в строке есть запись «Y» для BaseFlag для каждого субъекта и запись в «Параметре».
Вот данные:
Subject Parameter Visit BaseFlag
001 Param1 1
001 Param1 2 Y
001 Param1 3
001 Param1 4
002 Param1 1 Y
002 Param1 2
002 Param1 3
002 Param2 1 Y
002 Param2 2
Я хотел бы иметь следующее:
Subject Parameter Visit BaseFlag Count
001 Param1 1
001 Param1 2 Y 0
001 Param1 3 1
001 Param1 4 2
002 Param1 1 Y 0
002 Param1 2 1
002 Param1 3 2
002 Param2 1 Y 0
002 Param2 2 1
Попытка:
proc sort data = data;
by subject visit param;
run;
data want;
set have;
by subject visit param;
retain count;
if baseflag = 'Y' then count = 0;
if first.subject then count + 1;
run;
К сожалению это не работает.