Sas 年和周至时间格式”;ddmmmyyyy“;
我在SAS中有一个变量,它有一个特定的年份,称为“年”,一年中有一个特定的星期,称为“周”。基于此,我想创建一个时间变量“ddmmmyyyy”,其中dd应该始终为01Sas 年和周至时间格式”;ddmmmyyyy“;,sas,Sas,我在SAS中有一个变量,它有一个特定的年份,称为“年”,一年中有一个特定的星期,称为“周”。基于此,我想创建一个时间变量“ddmmmyyyy”,其中dd应该始终为01 谢谢。您需要将周转换为月,然后使用mdy()函数 format new ddmmmyyyy.; **or try date.; month=year*365+week*7-'1jan60'd; **should be a sas date; new=mdy(month(month),1,year); 我认为INTCK是一个合理
谢谢。您需要将周转换为月,然后使用mdy()函数
format new ddmmmyyyy.; **or try date.;
month=year*365+week*7-'1jan60'd; **should be a sas date;
new=mdy(month(month),1,year);
我认为INTCK是一个合理的方法
24 data _null_;
25 do year = 2015;
26 ref = mdy(01,01,year);
27 do week = 0,1 to 50 by 5,52;
28 week_starts = intnx('WEEK',ref,week,'B');
29 week_ends = intnx('WEEK',ref,week,'E');
30 put (week year ref week_:)(2*=best. 3*=date9.);
31 end;
32 end;
33 run;
week=0 year=2015 ref=01JAN2015 week_starts=28DEC2014 week_ends=03JAN2015
week=1 year=2015 ref=01JAN2015 week_starts=04JAN2015 week_ends=10JAN2015
week=6 year=2015 ref=01JAN2015 week_starts=08FEB2015 week_ends=14FEB2015
week=11 year=2015 ref=01JAN2015 week_starts=15MAR2015 week_ends=21MAR2015
week=16 year=2015 ref=01JAN2015 week_starts=19APR2015 week_ends=25APR2015
week=21 year=2015 ref=01JAN2015 week_starts=24MAY2015 week_ends=30MAY2015
week=26 year=2015 ref=01JAN2015 week_starts=28JUN2015 week_ends=04JUL2015
week=31 year=2015 ref=01JAN2015 week_starts=02AUG2015 week_ends=08AUG2015
week=36 year=2015 ref=01JAN2015 week_starts=06SEP2015 week_ends=12SEP2015
week=41 year=2015 ref=01JAN2015 week_starts=11OCT2015 week_ends=17OCT2015
week=46 year=2015 ref=01JAN2015 week_starts=15NOV2015 week_ends=21NOV2015
week=52 year=2015 ref=01JAN2015 week_starts=27DEC2015 week_ends=02JAN2016
也许是因为你的要求没有道理。我想你的意思是DD应该永远是一周的第一天,而不是对不起,德克,我以为OP是在问投票的问题。我不知道为什么你的答案被否决了。我猜否决票是因为使用了365个硬编码(不准确)而不是
intnx()
函数和'year'
间隔(准确)。减去0('01jan1060'd)有什么作用?