Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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 宏变量不能用下划线解析_Sas_Sas Macro - Fatal编程技术网

Sas 宏变量不能用下划线解析

Sas 宏变量不能用下划线解析,sas,sas-macro,Sas,Sas Macro,在使用下划线时,试图在宏定义内解析宏变量时出现问题。我想保持这里的命名约定,但需要宏变量来解析。我错过了什么 %macro mymacro(dd=,mm=,yy=,dnr=,dma=); . . . %if dnr = 1 %then %let dnrname=est; %if dnr = 2 %then %let dnrname=cen; %if dnr = 3 %then %let dnrname=mtec; %if dnr = 4 %then %let dnrname=pac; %if

在使用下划线时,试图在宏定义内解析宏变量时出现问题。我想保持这里的命名约定,但需要宏变量来解析。我错过了什么

%macro mymacro(dd=,mm=,yy=,dnr=,dma=);
.
.
.

%if dnr = 1 %then %let dnrname=est;
%if dnr = 2 %then %let dnrname=cen;
%if dnr = 3 %then %let dnrname=mtec;
%if dnr = 4 %then %let dnrname=pac;
%if dnr = 5 %then %let dnrname=mtwp;

data setoff_&dnrname._&dma._&mm.&dd.&yy.;
    set restart_no retimed one_min_durations;
run;
.
.
.
%mend mymacro;
错误如下所示:

NOTE: Line generated by the invoked macro "SETOFF".
89      data setoff_&dnrname._&dma._&mm.&dd.&yy.;     set restart_no retimed one_min_durations;
                    -
                    22
                    200
89  ! run;  proc sort data = setoff_&dnrname._&dma._&mm.&dd.&yy.;     by &dims_list. sid; run;

ERROR 22-322: Syntax error, expecting one of the following: a name, a quoted string, (, /, ;,
              _DATA_, _LAST_, _NULL_.

%如果dnr=1%,则%let dnrname=est


这就是问题所在
dnr
从不等于
1
。您缺少与号。

%如果dnr=1%,则%let dnrname=est

这就是问题所在
dnr
从不等于
1
。你错过了符号