sushe1527 发表于 2010-8-13 11:55 
data raw;
input date yymmdd8. id time $ action $;
format date yymmdd10.;
datalines;
2008/1/5 1 100101 A
2008/1/5 1 102201 A
2008/1/5 1 102456 B
2008/1/5 1 105533 A
2008/1/5 2 110055 A
2008/1/5 2 112051 A
2008/1/5 2 132505 A
2008/1/6 3 133555 B
2008/1/6 1 101200 B
2008/1/6 1 115555 A
2008/1/6 1 125455 B
;
proc sql;select *, case when count(distinct(action))=2 then
"有" else "无" end as flag from raw group by date,id;quit;
SUSHE1257大侠:下面是偶将您的程序运行后得到的结果:(偶把 ‘有'改成了‘y',把 ‘无’改成了‘n‘),
注意:2008/1/06这一天 应该都是
y ,但 最后一个却成了
n !
date id time action flag
----------------------------------------------
2008-01-05 1 102456 B y
2008-01-05 1 102201 A y
2008-01-05 1 100101 A y
2008-01-05 1 105533 A y
2008-01-05 2 132505 A n
2008-01-05 2 112051 A n
2008-01-05 2 110055 A n
2008-01-06 1 125455 B
y
2008-01-06 1 115555 A
y
2008-01-06 1 101200 B
y
2008-01-06 3 133555 B
n