楼主: wyying
1593 4

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

  • 1关注
  • 2粉丝

已卖:45份资源

博士生

22%

还不是VIP/贵宾

-

威望
0
论坛币
802 个
通用积分
1.1807
学术水平
1 点
热心指数
2 点
信用等级
1 点
经验
5122 点
帖子
242
精华
0
在线时间
243 小时
注册时间
2006-2-27
最后登录
2025-12-16

楼主
wyying 发表于 2016-10-29 08:28:36 |AI写论文
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
拉您进交流群
GMT+8, 2026-1-2 20:45