id qty totalqty
0001 1 1
0002 2 2
0002 5 7
0003 7 7
0006 3 3
0006 4 7
id已按顺序排序。 如果id与上面显示的相同,我想总结数量。所以会有一个名为totalqty的新变量。 以下是我的SAS代码。某些行是正确的,其他行是错误的
data new; set new;
totalqty=qty;
if id = lag1(id) then do;
totalqty = lag1(totalqty)+qty;
end;
run;
有人可以帮助我吗?非常感谢!
答案 0 :(得分:0)
这个怎么样?
DATA WANT;
SET HAVE;
BY ID;
IF FIRST.ID AND LAST.ID THEN TOTALQTY = QTY;
ELSE IF FIRST.ID THEN TOTALQTY = QTY;
ELSE TOTALQTY+QTY;
RUN;
答案 1 :(得分:0)
更简单,因为前两个条件是相同的。
数据通缉; 设置有; BY ID; IF FIRST.ID那么TOTALQTY = QTY; ELSE TOTALQTY + QTY; RUN;