日期 时间 v selerl ID buyer id
2016.12.1 7:10:00 10 A B
2016.12.1 7:10:01 10 B C
2016.12.1 7:10:02 10 C B
2016.12.1 7:10:02 10 M A
想得到的结果是 A 处于seller id时,新的变量s 初始 0,对应s+V,处于seller id时,对应s-v,比如,A在 7:10:00 的s值为10,在 7:10:02 时刻的值为0,对里面出现的所有id 进行这样的处理。
data a;
input date $10. time $8. v id_s $2. id_b $2.;
DATALINES;
2016.12.1 7:10:00 10 A B
2016.12.1 7:10:01 10 B C
2016.12.1 7:10:02 10 C B
2016.12.1 7:10:02 10 M A
2016.12.1 7:10:03 10 A C
2016.12.1 7:10:09 10 C B
;
run;
proc sort data=a out=b;by id_s date time v id_b;run;
data c;
set b;
by id_s date time v id_b;
retain s;
if first.date then s=0-v;
else s=s-v;
if last.date;
keep id_s date s;
run;