全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1521 4
2016-10-29
悬赏 50 个论坛币 已解决
我想把下面程序用后面的宏命令解决,只生成了f1数据库,f2 f3运行未成功,请大家帮助!我要生成20个数据库,谢谢
data f1;
set w.c20;
if c20='配方奶(粉)' ;
if c20c=2 then f1=1;
keep id a1 f1;
proc sort;
by id a1;
run;
data f2;
set w.c20;
if c20='普通奶粉或新鲜动物奶' ;
if c20c=2 then f2=1;
keep id a1 f2;
proc sort;
by id a1;
run;
data f3;
set w.c20;
if c20='很稀的酸奶' ;
if c20c=2 then f3=1;
keep id a1 f3;
proc sort;
by id a1;
run;

宏命令如下

%macro food(foodtype,fg);
data f&fg;
set w.c20;
if c20="&foodtype";
if c20c=2 then f&fg=1;
keep id a1 f&fg;
proc sort;
by id a1;
run;
%mend food;

%food(配方奶(粉),1)
%food(普通奶粉或新鲜动物奶,2)
%food(很稀的酸奶,3)

最佳答案

l1i2n3i4n5g 查看完整内容

%macro food(foodtype,fg); data f&fg.; set w.c20; if c20="&foodtype."; if c20c=2 then f&fg.=1; keep id a1 f&fg.; proc sort; by id a1; run; %mend food; %food(配方奶(粉),1); %food(普通奶粉或新鲜动物奶,2); %food(很稀的酸奶,3);
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-10-29 08:28:37
%macro food(foodtype,fg);
data f&fg.;
set w.c20;
if c20="&foodtype.";
if c20c=2 then f&fg.=1;
keep id a1 f&fg.;
proc sort;
by id a1;
run;
%mend food;

%food(配方奶(粉),1);
%food(普通奶粉或新鲜动物奶,2);
%food(很稀的酸奶,3);
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-29 11:20:45
c20是字符型变量,各种食物名称。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-30 04:27:02
l1i2n3i4n5g 发表于 2016-10-30 00:14
%macro food(foodtype,fg);
data f&fg.;
set w.c20;
谢谢,很久不用SAS macro了。

中文格式情况下输入的括号也不行
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-10-30 14:29:36
如果对论坛币还有用吗
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群