我是SAS的新手。
我正在尝试在SAS中创建一个简单的表,其中包含三列,日期(今天为期30天),how_many_days_before(表示日期和今天之间的天数),以及which_day(显示该日期的名称)星期一,星期二等)。
编辑:这是我试过的代码。我想用循环自动化宏。此外,输出表现在具有空白值for_day和how_many_days_before变量。
%macro which_day;
if date=160822 then which_day='monday';
else if date=160821 then which_day='sunday';
%mend;
%macro how_many_days_before;
if date=160822 then how_many_days_before=0;
else if date=160821 then how_many_days_before=1;
%mend;
data calendar;
attrib date format=yymmdd6.;
do date=today()-30 to today();
output;
end;
%which_day;
%how_many_days_before;
run;
我没有运气就尝试过intnx功能。
由于
答案 0 :(得分:0)
我没有测试过这段代码,但它应该会给你一个启动器。希望它有所帮助
data calendar;
attrib date today format=date9.;
do date=today()-30 to today();
output;
end;
run;
答案 1 :(得分:0)
我能够在不使用宏的情况下在数据步骤中编写它。
data calendar;
attrib date format=yymmdd6.;
do date=today()-30 to today();
how_many_days=today()-date;
which_day=weekday(date);
output;
end;
run;