我要做48次循环,对应2009.1——2012.12共48个月,在循环中我需要&年份和&月份,因此我需要将i ——>a=年份 b=月份
具体如下:
i yr mnth
1 2009 1
13 2010 1
...
我编了循环如下:
%macro xdata;
%do j=1 to 48;
%let yr=int(input(&j)/12)); //我尝试将 i 转换为年份和月份
%let mnth=&j-12*yr;
data datatemp;
set datam;
if year>=&yr and month>=&mnth then delete; //这里我引用到了年份和月份
run;
%mend;
%xdata
这样编有两个问题:1.上面我的尝试被拒绝了 2.即便宏变量赋值成功,我怀疑这两个变量是字符型的,无法进行大小比较
期待任何评论和建议!
易丹 2013-08-24