Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sas 年和周至时间格式”;ddmmmyyyy“;_Sas - Fatal编程技术网

Sas 年和周至时间格式”;ddmmmyyyy“;

Sas 年和周至时间格式”;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是一个合理

我在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是一个合理的方法

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)有什么作用?