全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1714 1
2016-09-01
data test1;
x=1;output;
x=2;output;
run;
data test2;
y=1;output;
y=2;output;
run;

%macro set(datin=);
proc sql;
create table final as
select (case when &datin.="test1" then x when &datin="test2" then y  else . end) as z from &datin;quit;
%mend;
%set(datin=test2);
这段code 为什么会报错, 这个case语句似乎没有进行判断,不知道哪里不对,望指教,谢谢

二维码

扫码加我 拉你入群

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

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

全部回复
2016-9-4 01:03:14
因为运行的是%set(datin=test2);那么下面这句:
case when &datin.="test1" then x when &datin="test2" then y  else . end
似乎是告诉sas 数据集test2里有test1 和 test2 这两个变量。你在想想是不是这么个意思
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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