楼主: wyying
1219 4

宏命令运行问题 [推广有奖]

  • 1关注
  • 2粉丝

博士生

18%

还不是VIP/贵宾

-

威望
0
论坛币
905 个
通用积分
3.2207
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
5075 点
帖子
243
精华
0
在线时间
225 小时
注册时间
2006-2-27
最后登录
2024-3-19

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);
关键词:运行问题 宏命令 Macro Food Data 宏命令
沙发
l1i2n3i4n5g 在职认证  发表于 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);

使用道具

藤椅
wyying 发表于 2016-10-29 11:20:45 |只看作者 |坛友微信交流群
c20是字符型变量,各种食物名称。

使用道具

板凳
wyying 发表于 2016-10-30 04:27:02 |只看作者 |坛友微信交流群
l1i2n3i4n5g 发表于 2016-10-30 00:14
%macro food(foodtype,fg);
data f&fg.;
set w.c20;
谢谢,很久不用SAS macro了。

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

使用道具

报纸
next87 发表于 2016-10-30 14:29:36 |只看作者 |坛友微信交流群
如果对论坛币还有用吗

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-26 12:02