Указание порядка переменных для отчета SAS
Я работаю над проектом, в котором мне нужно указать порядок объектов в данных для пользовательского отчета SAS. У меня возникли проблемы с чем-то, что должно быть легко, вот пример данных, с которыми я работаю.
obs ord ord2 name
1 3 1 A
2 3 . B
3 3 . C
4 3 . D
5 4 1 E
6 4 . F
7 5 1 G
8 5 . H
9 5 . I
10 5 . J
Что я хотел бы...
obs ord ord2 name
1 3 1 A
2 3 2 B
3 3 3 C
4 3 4 D
5 4 1 E
6 4 2 F
7 5 1 G
8 5 2 H
9 5 3 I
10 5 4 J
Так что для каждого первого появления ord, ord2 = 1,...,n_i.
Спасибо за помощь!
1 ответ
Решение
Просто примените нумерацию групп к исходному набору данных, при условии, что таблица отсортирована по орде.
data table1;
set table1;
by ord;
ord2_ + 1;
if first.ord then ord2_ = 1;
drop ord2;
rename ord2_=ord2;
Run;