SAS - заполнить значения для каждой группы - PullRequest
0 голосов
/ 05 июня 2018

У меня есть набор данных, который выглядит следующим образом:

Stop    Group
JFK     A
JFK     B
JFK     C
AMS     A
AMS     B
AMS     C
LHR     A
SFO     B

Я пытаюсь сгенерировать новый набор данных, где каждый Stop будет иметь значения A, B и C. Например, JFKи AMS уже имеют AC, поэтому никаких изменений не требуется.LHR необходимо добавить B и C, а SFO - добавить A и C.Выходной набор данных должен выглядеть следующим образом:

JFK A
JFK B
JKF C
AMS A
AMS B
AMS C
LHR A
LHR B
LHR C
SFO A
SFO B
SFO C

Есть идеи?Спасибо!

1 Ответ

0 голосов
/ 06 июня 2018

Это простое быстрое решение:

PROC SQL noprint;
  select distinct quote(stop) into :stop separated by ', '
  from have;
  select distinct quote(group) into :group separated by ', '
  from have;
quit;

data want;
  length stop $4 Group $2;
  do stop=&stop.;
    do Group=&group.;
      output;
    end;
  end;
run;
...