请参考样本数据。我的数据集中有月,区和值。我需要一个如下所述的输出列。基本上我需要在Month by Values的基础上前进。请帮助。
Month Region Values Output
1 R1 2 3
1 R2 4 5
2 R1 3 4
2 R2 5 7
3 R1 4 6
3 R2 7 5
4 R1 6
4 R2 5
谢谢, Gauraw
答案 0 :(得分:0)
如果我做对了,你想把每个地区的下个月的价值指定为OUTCOME。如果是这样,那么你可以使用两个SET语句,第二个将添加相同的数据集,但是移动一个记录(FIRSTOBS = 2)。
proc sort data=yourdata; by region month; run;
data result;
set yourdata;
by region;
do until(eof);
set yourdata(firstobs=2 keep=values rename=(values=outcome)) end=eof;
end;
if LAST.region then call missing(outcome);
run;
我们需要将SET包装到DO UNTIL循环中,否则我们将丢失数据集的最后一条记录 - 同一数据集的第二个实例的结尾将提前一个记录到达,DATA步骤将停止。 / p>