SAS的macro中,where varible in (&siteid_);其中&siteid_是字段不一定的宏变量,这种的程序怎么写?
%letsiteid_=01,06,07;在macro里使用数据步:dataa;seta;wheresiteidin(&siteid_);run;就是将数据集a中site...
%let siteid_=01,06,07;
在macro里使用数据步:
data a;
set a;
where siteid in (&siteid_);
run;
就是将数据集a中siteid为01,06,07的提取出来,我写了老是出错,求大神指点一下。(PS:siteid_不是固定的,而是从一个excel文件提取的) 展开
在macro里使用数据步:
data a;
set a;
where siteid in (&siteid_);
run;
就是将数据集a中siteid为01,06,07的提取出来,我写了老是出错,求大神指点一下。(PS:siteid_不是固定的,而是从一个excel文件提取的) 展开
展开全部
siteid是字符型变量,使用时要加单引号,如果excel里siteid没有带引号,则在读出前先加单引号,然后再将siteid存入变量&siteid
data a;
input siteid $2.;
datalines;
01
02
03
04
05
06
07
;
run;
%let siteid='01','06','07';
%macro a(siteid);
data b;set a;where siteid in ("&siteid");run;
%mend a;
%a("&siteid");
data a;
input siteid $2.;
datalines;
01
02
03
04
05
06
07
;
run;
%let siteid='01','06','07';
%macro a(siteid);
data b;set a;where siteid in ("&siteid");run;
%mend a;
%a("&siteid");
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询