Указание порядка переменных для отчета 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;
Другие вопросы по тегам