全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1095 3
2014-01-02
写了一段程序,想实现的功能是:如果城市是昆明并且B07(老的错乱的编码变量)的变量=0,那么新变量B07new对应=1,
以此类推,但是运行程序sas没有报错,但是却没有执行所有的if else 语句,打印出来的b07new 都是和b07一样的。请问这是咋回事儿呢?所有的变量都是字符型的。先谢过了!!

data rec1;/*更改错误编码*/
set c1;
b07new=b07;
   if city="昆明"and b07="0" then b07new="1";
   else if city="昆明" and b07="1" then b07new="2";
   else if city="昆明" and b07="3" then b07new="3";
   else if city="昆明"and b07="4" then b07new="4";
proc print data=rec1;
   var b07new;
run;
二维码

扫码加我 拉你入群

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

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

全部回复
2014-1-2 15:49:57
if 前面的else都不要。
二维码

扫码加我 拉你入群

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

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

2014-1-2 15:53:41
else 后面不要加if了
二维码

扫码加我 拉你入群

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

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

2014-1-2 17:32:49
data new;
set SASHELP.CARS;
format Type_new $9.;
Type_new  = Type;
if Make = 'Acura' and Type = 'Sedan' then Type_new = 'Sedan1';
else if Make = 'Acura' and Type = 'SUV' then Type_new = 'SUV1';
else if Make = 'Acura' and Type = 'Sports' then Type_new = 'Sports1';
proc print data=new(where=(Make = 'Acura'));
   var Type Type_new;
run;

这段运行没有问题啊,lz你给几个范例吧。打印出来的b07new 都是和b07一样的原因是不是因为不是昆明的b07啊?
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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