Я хочу создать переменную Var2, равную 1, начиная с первого наблюдения Var1 равно 1, а Var2 равно 1 до тех пор, пока не будет определен конец определенной группы по идентификатору. Вот минимальный рабочий пример:Сохранять значение переменной в группе в SAS
ID Год Var1
1 1.
1 3.
1 5.
И я хочу создать следующий вывод:
ID Год var1 var2
1 1. ,
1 3. 0
1 5. 1
Мой текущий код выглядит следующим образом:
DATA data1;
SET data0;
BY ID YEAR ;
IF LAST.ID THEN END = _N_;
IF Var1 > 0 THEN CNT=_N_;
RUN;
DATA data2;
SET data1;
BY ID YEAR ;
Var2 = 0;
IF Var1 = 1 THEN DO;
DO I = CNT TO END;
Var[I] = 1;
END;
END;
RUN;
Однако SAS не цикл по наблюдениям.