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文件提取的)
展开
 我来答
homecat_lulu
推荐于2016-12-01 · 超过18用户采纳过TA的回答
知道答主
回答量:36
采纳率:0%
帮助的人:29.6万
展开全部
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");
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式