全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1116 3
2013-01-03
请教:初学sas,以下是我写的程序:
%macro a(fyear,seller_industry);
data b;
set tran_info;
if &fyear;
if &seller_industry;
%mend a;
%a("2000",C03);
run;

我是想将tran_info根据fyear和seller_industry值的不同放在表b里面,%a("2000","C03");是想将fyear为2000年,seller_industry为C03的提出来,但程序运行后, 提示:NOTE: Character values have been converted to numeric values at the places given by:      (Line):(Column).
      1:2
NOTE: Variable C03 is uninitialized.
NOTE: There were 758 observations read from the data set WORK.TRAN_INFO.
NOTE: The data set WORK.B has 0 observations and 25 variables.
这到底是错哪里了?谢谢解惑!


二维码

扫码加我 拉你入群

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

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

全部回复
2013-1-3 15:31:13
假如你想将sashelp 中的class数据集中sex位F 和age为14 的人输出:
data tran_info;
  set sashelp.class;
run;

%macro a(fyear, seller_industry);
data b;
set tran_info;
if Sex=&fyear and Age=&seller_industry;
run;
%mend a;

%a("F", 14);
二维码

扫码加我 拉你入群

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

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

2013-1-3 17:34:21
楼主的意思是不是这样:

%a(%str(fyear="2000"),%str(seller_industry="C03"));
run;

建议楼主比较一下Positional和Keyword 两种宏参数的区别
二维码

扫码加我 拉你入群

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

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

2013-1-3 20:36:10
pobel 发表于 2013-1-3 17:34
楼主的意思是不是这样:

%a(%str(fyear="2000"),%str(seller_industry="C03"));
谢谢。我这样写:
%macro a(fyear,seller_industry);
data b;
set tran_info;
if fyear=&fyear;
if seller_industry=&seller_industry;
%mend a;
%a("2000","C03")
run;
得出了正确的结果,将2000年industry为C03的记录提取出来了。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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