Не уверен, что мне нужно использовать отставание для этого. Но вот что я хочу сделать.
Вот какие у меня есть данные...
acct sort_order type
111111 1 standard
111111 1 standard
111111 2 non-standard
111111 3 other
111111 3 other
222222 2 non-standard
222222 3 other
222222 3 other
Это то, чем я хочу закончить...
acct sort_order type want
111111 1 standard standard
111111 1 standard standard
111111 2 non-standard standard
111111 3 other standard
111111 3 other standard
222222 2 non-standard non-standard
222222 3 other non-standard
222222 3 other non-standard
У меня есть набор данных, отсортированный по acct и sort_order. Для каждого счета я хочу взять первый тип (на основе sort_order) и скопировать его в каждую строку этого счета. Например, счет 111111 имеет «стандартный» в качестве первого типа. Я хочу, чтобы каждое наблюдение для счета 111111 имело «стандартный» тип.
Я попытался сделать следующее с задержкой, но это не совсем работает...
data want;
set have;
by acct;
want = lag(type);
if first.acct then want = type;
run;