SAS - 为每个组填充值

时间:2018-06-05 17:29:06

标签: sas

我有一个如下所示的数据集:

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

我试图生成一个新的数据集,其中每个Stop将具有值A,B和C.例如,JFK和AMS已经有A-C,因此不需要进行任何更改。 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 :(得分:1)

这是一个简单的快速解决方案:

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;