claudiehuang 发表于 2018-8-3 09:16 
第三行是例如原数据是A 2003, 那么A 2000 A 2001 A 2002 就是0,然后2003, 2004, 2005 就是1
噢
那么就这样做好了:
/*1. 原始数据集*/
data Raw;
Length Group $1.;
input Group $ Year;
cards;
A 2000
B 2001
C 2003
D 2005
;
run;
/*2. 扩充数据集*/
data Denom;
do i = 65 to 68;
Group = byte(i);
do j = 2000 to 2005;
Year = j;
output;
end;
end;
drop i j;
run;
/*3. 合并与计算*/
data Compute;
merge Denom Raw(rename=(Year=Year_Raw));
by Group;
if Year >= Year_Raw then Flag = 1;
else Flag = 0;
run;
看看是不是这回事