Sas 如何在proc步骤中解析日期宏变量
这段代码给了我一个错误:Sas 如何在proc步骤中解析日期宏变量,sas,Sas,这段代码给了我一个错误:error:解析WHERE子句时出现语法错误。 但是,当我简单地用相应的值替换&begdate和&enddate时,它就起作用了。我通常是这样运行我的: %macro example %let begdate = ’01Nov2004’d; %let enddate = ’30Nov2004’d; proc sort data=test out=test2; where date between &begdate and &am
error:解析WHERE子句时出现语法错误。
但是,当我简单地用相应的值替换&begdate和&enddate时,它就起作用了。我通常是这样运行我的:
%macro example
%let begdate = ’01Nov2004’d;
%let enddate = ’30Nov2004’d;
proc sort data=test out=test2;
where date between &begdate and &enddate;
by date;
run;
%mend example;
我只是删除了对日期格式的任何假设,并将代码中的宏变量作为字符串引用。希望这有帮助 当我添加
时
到第一行,并将“to”
,它可以正常工作;所以你要么有这些问题中的一个,要么有其他问题。
%macro example
%let begdate = 01Nov2004;
%let enddate = 30Nov2004;
proc sort data=test out=test2;
where date between "&begdate"d and "&enddate"d;
by date;
run;
%mend example;