У меня есть образец, который включает две переменные: ID и ym. ID id относится к определенному c ID для каждого трейдера, а ym относится к переменной год-месяц. И я хочу создать переменную, которая показывает количество лет за 10-летний период предыдущего месяца t , как показано на следующем рисунке.
ID ym Want
1 200101 0
1 200301 1
1 200401 2
1 200501 3
1 200601 4
1 200801 5
1 201201 5
1 201501 4
2 200001 0
2 200203 1
2 200401 2
2 200506 3
Я пытаюсь использовать by
функция и fisrt.id
для подсчета числа.
data want;
set have;
want+1;
by id;
if first.id then want=1;
run;
Однако год в ym не является непрерывным. Когда временной разрыв превышает 10 лет, этот метод не работает. Хотя я предполагаю, что мне нужно подсчитать количество лет в скользящем окне (10 лет), я не уверен, как этого добиться. Пожалуйста, дайте мне несколько предложений. Спасибо.