我有一个数据集,我已按电子邮件地址和日期排序。此数据集包含有关多次使用服务的用户的信息。我想第一次标记一个用户(由电子邮件地址指定)首次出现一个标志= 1而所有其他标志为标志= 0.我试图整理出第一个出现然后重新合并回数据集但这不成功(似乎步骤太多了)
proc sort data = DB nodupkey out = db1;
by emailaddress date;
run;
proc sort data = db1;
by emailaddress date;
run;
data db2;
set db1;
obs = 1 ;
run;
data db3;
merge db2 db1;
by emailaddress date;
run;
谢谢!
答案 0 :(得分:2)
您可以使用FIRST。
proc sort data=db;
by emailAddress Date;
data db1;
set db;
by emailaddress date;
flag = first.emailAddress;
run;