|
|
沙发

楼主 |
发表于 2008-6-17 15:59:43
|
只看该作者
Re: 请教有趣的SAS问题(很有实用性)
data new;
input sex $ 1 hire $ 2 race $ 3 sieno $ 4-7 titieno $ 8-11 +2 startdt ddmmyy6. +1 hiredte ddmmyy6.;
cards;
f1b12342345 010101 050101
m0w12342345 010101 .
f0b12342345 030101 .
m0w12342345 040101 .
m0w12342345 010101 .
m1w12352346 020101 010201
m0w12352346 020101 .
m0b12352346 010201 .
m0w12352346 050201 .
m0b12352346 010201 .
;
run;
data a(keep=si ti sd hd) ;
set new;
where hire="1";
rename sieno=si titieno=ti startdt=sd hiredte=hd;
run;
proc sql;
create table b as
select si , ti , race
from new n inner join a
on n.sieno=a.si
and n.titieno=a.ti
and hire="0"
and (n.startdt between sd and hd);
quit;
data b;
set b;
if race="w" then racew=0+1;
if race="b" then raceb=0+1;
run;
proc sql ;
create table c as
select si , ti ,sum(racew) as racew ,sum(raceb) as raceb
from b
group by si , ti;
quit;
我用了一个sql部,听说sql部效率不好,不知道有没有可以用data部写的语句,可供分享。
你看可不可以,这里默认了si,hi是主键 |
|